I know far more than 10 programming languages. The last time I updated that section of my resume (in 2006), I cut it back to 10 from the original long list I had. Nobody cares these days if you know Pascal (or if they do, you don't want to work there).
One thing that eWeek had right in its list of 10 languages was that they have different purposes, and their list only addressed application development.
- Application Development
This is the basic stuff, of which the eWeek article, Bjarne and Larry are talking about. Included here is C, C++, C#, Java, PHP, Perl, Ruby and a lot of others, including old stuff like Fortran, Cobol and some newer stuff like Erlang, and various esoterica like Haskel, Scheme and Lisp. - Data Management and Query
For the most part, SQL, although these days thinks like XQuery and Sparql are much more interesting, but also esoteric. With SQL, dialect variations between Oracle, MySQL and Microsoft SQL are almost as important as the various C family variations under application development above. - Web Applications
HTML, CSS and JavaScript are the bare minimum here. Then there's ASP, JSP, (PHP really belongs here as well), ColdFusion and the whole host of other scripting frameworks. And then there's also XSLT that almost deserves a section of its own. - Scripting Interfaces
JavaScript, VBScript, CoffeeScript, Drools, Caml, and a ton of other languages. These are principally used inside applications to do INTERNAL application automation and to build interfaces. - Application Automation
External application automation is mostly an exercise in various shell scripting languages, back in the days the major interpreter was COMMAND.COM (DOS), now CMD.EXE (Windows). Those learned some of their syntax from various Unix shell scripting languages, including sh (the Bourne shell), but there's also the C-shell and bash and many others. My Unix days are quite dated. There are some other scripting languages (awk was an old favorite of mine). Application build tools have a language all their own, and can also be used to automate application behaviors from the outside.
Any software engineer who's worth their salt can claim not just 5 programming languages, but probably five from each of the above categories with the possible exception of Data Management and Query.
No comments:
Post a Comment