
FAQ: What programming language should I learn first? - acangiano
http://programmingzen.com/2011/03/28/what-programming-language-should-i-learn-first/
======
cbo
Which programming language do you learn first? The one your friends use.

If your friends don't program (or you don't have any friends), learn Python.

~~~
presidentender
Agreed. I learned Java first, and it's a hugely non-optimal choice... but I
was playing the hell out of Steve Yegge's game, Wyvern
(<http://www.cabochon.com>), and it was 100% Java/Jython. As such, I had
competent developers to talk to.

I work 0% in Java now, of course.

------
kenjackson
I found the whitespace rules on Python frustrating when first beginning. I'd
be inclined to do Javascript/HTML first. It's fun, easy, and very visual.

~~~
tjr
Was Python your first language? After using other languages, I too found the
significant whitespace to be frustrating at first, but I wonder if someone for
whom Python was their first programming language would be similarly frustrated
or not?

~~~
joshes
Python was my first language and the white space rules simply "made sense" for
me at the time. In fact, using Python for a while at such an early stage
started to ingrain a oneness with Python's unique syntactic idiosyncrasies. It
seems somewhat second nature at this point.

~~~
hsmyers
Having in the long ago gotten used to Fortran on punch cards, Python wasn't
that much of a reach and as it solves a particularly annoying problem (code
formatting) I didn't have that much of a problem of getting on board with it.
On other projects in other environments I typically run all code through a
formatter and accomplish a similar goal. Regards first language? I really
don't think it matters just so long as there is a second language to come...

------
Legion
My response always is:

1) Pick one. It doesn't matter.

2) If you're still asking me after I've given Answer #1, then Ruby or Python.
But really, it still doesn't matter.

------
protomyth
I wonder when I see this type of question, if the person is really going to
learn the language or just do a survey to get a feel for programming.

If your trying to get a feel, then maybe something simple with good tutorials
like Small Basic <http://smallbasic.com/> wouldn't be such a bad thing.

Weirdly, I would say Postscript and work your way through Adobe's cookbook (
[http://partners.adobe.com/public/developer/ps/sdk/sample/ind...](http://partners.adobe.com/public/developer/ps/sdk/sample/index_psbooks.html)
).

------
Kilimanjaro
Before learning programming, you better learn how to express your thoughts on
paper using a formula, a condition, a repetition. For that, Python is the best
"editor" out there, whatever you write is easily understood as pseudo-code.

Then when you are ready to make the jump, use Python, you already know how to,
just continue using it, you are now a programmer.

------
jcfrei
I'd suggest PHP. It gives you the ability to create something for the web and
you're able to share it with your friends by simply sending them a link. plus
there's a lot you can do with it (eg. start facebook) and the documentation
(esp. for beginners) is abundant.

------
dr_
The amazon link to python programming says Python 3 on the cover. If that is
in fact what it's referring to, not sure if that's really what's best to learn
right now. I started with 3 then realized I had to quickly downgrade to 2.6.

~~~
acangiano
I think that for learning programming, Python 3 is perfectly fine. Python
really is one of the closest languages to algorithm pseudocode, be it 2.x or
3.x. Furthermore, downgrading to 2.7 is not that hard, if the newcomer decides
that they want to start messing with Django or other 2.x libraries.

------
catilac
Depending on your disposition, I would actually recommend learning with
Processing. Java based, and you get visual results.

------
bostonpete
What about Logo?!?

------
leon_
C++ - after that learning every other language is a matter of hours.

~~~
Legion
Problem is, you die before ever getting there.

