

Ask HN: What language should a technically literate person learn first? - willgodfrey

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.
======
GHFigs
Python.

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.

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.

[1]: <http://learnpythonthehardway.org/>

~~~
willgodfrey
Thanks, I think this its going to be my weekend. Between this book and fmw's
mention of the intuitive syntax, I think Python might be the way to go.

------
fmw
<http://paulgraham.com/pfaq.html>

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.

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).

[1]: [http://www.pragprog.com/titles/btlang/seven-languages-in-
sev...](http://www.pragprog.com/titles/btlang/seven-languages-in-seven-weeks)

~~~
willgodfrey
Wow, thanks for the link. Lot's of good stuff in there.

------
jjames
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.

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.

------
gharbad
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.

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.

------
malandrew
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.

