Sunday, January 10, 2016

Tools of the Trade

Here is what I have in my professional toolkit.   These are things that I always try to have on my system.  Everything here is free with many them being open source.  I originally published this list about 15 years ago and this year I finally revisited it and cleaned things up.  What I discovered was that the open source projects are the ones that most likely survived the test of time.

For my recommended books list for developers check out this post.

Gap Buffer - My C++ source for a gap-buffer implementation.

Programming Languages

  • Go Programming Language - Open source programming language that makes it easy to build simple, reliable and efficient software (Quoted from the Go site but is pretty accurate).  This is my favorite language as it blends the compile nature of C with the practical aspects of a scripting language.
    • Check this post on setting up Vim for Go.
  • GNU GCC - Open source C/C++ compiler supported on so many platforms now that I can't list them on. There's even ports of it so that you can compile games to run on the GBA.  C is the foundation language of enabled the growth of our profession and is a must learn of every software engineering.
  • Perl - One of the great scripting languages although admittedly I rarely use it now.  In many instances, Python has taken the mantel of Perl, but Go might replace both.
  • Scheme - I don't really do much with Scheme, but I believe it's worthwhile for engineers to have exposure to this form of programming.
  • Polymer Project - For web front-end development Javascript, for better or worst, is the defacto language of the browser, but if building anything beyond the most basic web site, you'll probably need to use some kind of JavaScript library or framework.  I like using the Polymer library since it embraces web components.

Programmer's Editor

  • Vim - Although I started more as an EMACs user, VIM is my defacto go-to programmer's editor. Initially I used it because it is often more available on production UNIX servers then EMACS.  The more I used it, the more natural it felt to me then EMACs for text editing.
  • GNU EMACS - As much as I admire VIM, I can't say that EMACS is inferior to VIM in any way.  EMACS is more then an editor, it's a way of life!
  • Notepad++ (Windows)

Web Browser

Databases

  • PostgreSQL - Top notch standards-compliant RDBMS
  • FreeToad - GUI client for accessing Oracle databases.

Multimedia

  • VideoLAN VLC - Open source media player that can play just about any format without the hassle of installing a bunch of codecs individually.

Graphics

  • Blender - Open source 3D modler ala Maya.
  • IrfanView (Windows) Fast graphic view that's small, fast, but loaded with features.
  • GIMP - Photoshop-like graphics program.
  • Inkscape - Vector graphics editor. 

Source Control

Communications

  • Pidgin
  • Weechat
  • IRC

Operating Systems

Cloud

Windows/DOS

No comments:

Post a Comment