Monday, May 04, 2009

Language Toolkits

I think instead of learning a language or a technology, you should learn a toolkit of languages. What I mean is this: different languages are good at different things, therefore by limiting yourself to being, for example, a Java programmer, you're limiting yourself to only one way of doing things. Instead, look at the various things you may do and learn a language in each domain. Granted, some may cross domains, but the point is that different languages are better at solving problems.

For example, Perl is great for creating one-off scripts, prototyping, creating small apps where speed is less importance than making something that can be easily created, tweaked, and ran. On the other hand, D is good for things that need more speed and be friendlier on resources. Erlang and JavaScript have their own niches where they work well.

I think at a minimum, every programmer needs to learn languages that fulfill the following tasks:
  • Application Development (C, C++, D, Java)
  • Scripting/Prototyping (Perl, Python, Ruby)
For me, since I do web development and want to do more with distributed programming, I have two more types of tasks I need to know languages for. Others may have other types of tasks they need to do. The two I mentioned above I think are the most important as many applications do need the speed of a good application development language while scripting languages are absolutely fantastic at the things they do.

Food for thought.

Labels: , , , , , , ,


Post a Comment

Links to this post:

Create a Link

<< Home