Computer Code

Program in a Language You Like

You should program in ______ because you can do _______ in less lines of code.

Really? More often than not the rate you can do things is determined by the size of the library, not the language itself. There are some exceptions, like concurrent languages that are designed to do things that other languages simply aren’t build to do.  But for most situations, it comes down to libraries.  Take converting an integer to a roman numeral (or any other task).  It takes one or two lines if there is an existing library call. It takes 5-20 lines to implement in most languages if you don’t have a library call.

Working with this crap may pay well, but it’s no fun.

  • Forcing you do things you are not wired to do well. Take ending lines with a semicolon or wordy syntax.  If you get lots compile time errors because you suck at remembering to end lines with “;” or forget BEGIN and END, then find a language that doesn’t penalize you.
  • Requiring you use a toolchain you don’t like to use.
  • Making you think in a why that you aren’t confident after spending enough time that you should feel confident.  Some programmers are very uncomfortable with a pure functional programming language like Haskell.  Others don’t like data-structured languages like Lisp, APL and PostScript much.

So, personally, I like Python.  My reasons are pretty simple:

  • I hate languages with tons of punctuation and BEGIN…END type of blocks. Python eliminates most of this silliness.
  • I can’t stand code that isn’t readable. Python forces programmers to indent properly, and named function parameters greatly simplify understanding calls.  Instead of SomeFunction(10,2,10), you get SomeFunction(length=10, height=2,depth=10) which is much easier to understand five years later.
  • Yes, Python has a frickin’ huge library.

So what is it that drives your choice in programming language?

One thought on “Program in a Language You Like

Leave a Reply

Your email address will not be published. Required fields are marked *