I am a structural engineer by day and am looking to broaden my horizons with respect to creating web applications. All my programming experience is with VBA (!), some LISP, and the native Matlab language at work.<p>I'm sorry if the above question is incredibly broad, I know so little that I don't really even know how to frame my question. Maybe a more appropriate question would be, what language(s) should I learn in order to throw together a personal blog or similarly simple webpage?<p>I consider myself an intelligent and technically oriented individual. For the sake of argument, let's assume that I won't have any problems learning the language.
Python.<p>I've been recommending Zed Shaw's "Learn Python The Hard Way"[1] a lot lately. The way it's structured makes it suitable for a pretty wide range of skill levels, as someone with a bit of prior programming experience can just go through the exercises they understand more quickly, learning the Python syntax along the way.<p>So even if as you say you won't have any problems learning the language, it's still a good way to do that, and once done, you can learn a lot more from the docs, reading code, and other books.<p>[1]: <a href="http://learnpythonthehardway.org/" rel="nofollow">http://learnpythonthehardway.org/</a>
<a href="http://paulgraham.com/pfaq.html" rel="nofollow">http://paulgraham.com/pfaq.html</a><p>If you don't have a programmer friend you can lean on Seven Languages in Seven Weeks[1] by Bruce Tate will give you a nice overview of some good languages, so you can pick one that fits your way of thinking (or learn multiple languages and pick the right tool for the job for each project). You could complement that book with a nice Python primer, because this language (which is a personal favorite due to the nicely readable syntax)) isn't covered.<p>If you already know a bit of Lisp Clojure would be a nice match. Also, Python and Ruby are pretty much the default suggestions when people ask this kind of question. Personally, I wouldn't worry about the language choice, as long as you go with something that doesn't encourage bad habits (e.g. don't start with PHP).<p>[1]: <a href="http://www.pragprog.com/titles/btlang/seven-languages-in-seven-weeks" rel="nofollow">http://www.pragprog.com/titles/btlang/seven-languages-in-sev...</a>
I'd personally suggest looking at Python as a first language. Others here will suggest Ruby (esp with the mention of LISP) or Perl. Of course there are many others to suggest but that trio has a good enough balance of power, complexity and understandability to get you up and running without throwing up too many barriers.<p>You can't go wrong with really any language to get your feet wet. It's really a matter of finding documentation, books and a community you resonate with to keep your attention and get you excited about all of the possibilities.
If you're looking to roll your own webapps, I would recommend python (with django) or ruby (on rails). Both of these have large active communities and many tutorials to help get you started.<p>If you're looking for a blog, I would advise you to look into wordpress or similar and avoid re-inventing the wheel. Save your creative energy for making something fun/interesting.
Python and Javascript are excellent choices. Which to choose depends what you want to be more tech literate in? Front-end and consumer facing or back-end and developer facing.