Monday, January 25, 2010

The Hassles of Multi-Language Programming

  • c
  • c++
  • python
  • java
  • ruby
  • perl
  • sh/ksh
A short list of the languages I have used since I started my current position four months ago. The point is NOT that it's impressive. The point is that, while there's something to be said for "the right tool for the right job", it's getting silly.

So, my edict (for myself only):
  • I don't do web development, so there's no reason for ruby - it's not superior to python
  • I don't write shell scripts anymore unless absolutely necessary - write it in python - it's really not much harder, and you can scale it
  • I will avoid c/c++ when possible, for the simple expedient of not compiling - mwahahahahah! - so no writing of c/c++, but debugging is acceptable. If a student refuses to use gdb, well that's her/his problem.
  • python unless I need libraries or speed that I can't get when by going multicore/node, or if I absolutely need libraries, then perl (this is hard for me, as perl was the first language I loved)
  • Java only when it makes sense to have strong typing. I don't write enterprise code anymore
  • go can go away - I don't need it - I really, really don't
How did I become a python programmer? I have a first edition of Programming Python (w/ CD!), and I remember dismissing it as immature - a neat idea, but not there yet. This was 10+ years ago (man, I feel OOOOOOLD). Python has matured nicely.

However, all of this is practical; I miss lisp and smalltalk. And don't get me started on C#; a lovely little language that can not travel.

No comments:

Post a Comment