Choosing a Programming Language

I’d like to pick up another language (or two).  My last real foray in to programming was with Visual Basic in the mid-90s, basically in the context of MS Access programming.    I’ve dabbled in others, C, C++, VB.NET, PHP, etc. but not gotten deeply involved in any of them.  The ones that come up for me as having serious potential are Java, Javascript, PHP, Ruby on Rails, and Python.

I read some of the arguments between the Javascript/Python/PHP communities.  PHP is definitely a way to go if I want to throw websites together with MySQL back-ends; however, it seems like a fairly undisicplined language.  Python would be very helpful for argGIS; it’s ESRI’s language of choice.

Someone mentioned, Java/Javascript.  I’m wondering how these will fare in the long-run, given’ Oracle’s purchase of Sun.  I certainly have no love for Larry Ellison and his over-priced products, although a friend managed to make his million serving up Oracle-based apps for the federal government.

A nephew, has made himself fairly well-known in the Ruby on Rails community, having authored one of the early O’Reilly books on the paradigm.  He likes it because of it’s infinite extendibility.
So that’s the surface-level treatment to-date.  I’m trying to collect some deeper thoughts on languages from people who work with them.

I would like to work in a language that:
  • Is well-known and documented on the net
  • Lends itself to DB back-end integration and front-end web technologies
  • Is portable to accommodate the new anytime, anywhere, any device world that we inhabit
  • Is extensible
  • Is fast to program AND maintainable
  • Promotes good programming style (see the preceding point)

I also need to pick up an IDE.  Microsoft Visual Studio environment is an obvious choice.  I’ve had some success with it, but it seems top-heavy.  Have you had any experience with Eclipse?  Are there other IDEs out there?