News for hackers. Stuff that matters.
Re:Ask HN: If you were starting from scratch again, what lan... by pavelludiq on Wednesday December 17, 2008 @01:28PM (#401240)
Python! Instead they tried to teach me pascal! A language that simultaneously sucks and isn't used that much! Good thing I forgot it all after I stopped learning it. Well, okay, maybe it didn't suck, I can't remember, but I tend to forget bad memories, so it probably did.

Then again, technically I didn't learn that much pascal anyway, so I don't really count it as my first language(and there was logo before it, but I learned even less of it).

Re:Ask HN: If you were starting from scratch again, what lan... by cperciva on Wednesday December 17, 2008 @02:16PM (#401311)
Assembly language.

I firmly believe that people will never use high-level languages well until/unless they understand how those high-level languages translate into machine code.

Re:Ask HN: If you were starting from scratch again, what lan... by mechanical_fish on Wednesday December 17, 2008 @01:00PM (#401208)
Scheme, because of this book:

http://mitpress.mit.edu/sicp/

Why argue with the MIT folks?

Followed immediately by: C, Javascript, and a scripting language (Ruby or Python are good choices).

You've also got to work Java in there somewhere, just so you know where people are coming from. It could come first, or last, depending on your tastes.

If you love Windows technologies you can probably substitute C# for one of those things. Maybe even for several of them. I have never seen .NET but I hear good things about it from those who have.

If you can't stand SICP, or can't follow it (perhaps because you are seven years old?) then the initial choice is harder. Javascript is sitting on your desk right now, so it's an obvious possibility. Try Ruby or Python. Or just give in and learn PHP like everybody else seems to do. You'll run into problems, but you can fix them later.

Re:Ask HN: If you were starting from scratch again, what lan... by antiform on Wednesday December 17, 2008 @05:02PM (#401509)
Why argue with the MIT folks? Because even MIT changed its intro programming class's language from Scheme to Python.

That said, I would still have liked to learn Scheme or a Lisp as a first language. It's a tiny language at its foundations and allows you to express many different computer science concepts with little effort. Also, it's much, much easier to write a Scheme interpreter in Scheme than a Python interpreter in Python.

Re:Ask HN: If you were starting from scratch again, what lan... by helveticaman on Wednesday December 17, 2008 @03:22PM (#401394)
I tried this. It hurt...I don't want to go into detail, but it hurt.
Re:Ask HN: If you were starting from scratch again, what lan... by run4yourlives on Wednesday December 17, 2008 @03:35PM (#401408)
Python. I actually wanted to learn it in earnest around 2001-02, but never really pushed myself.

Given that I'm now attempting to make it my primary language, especially since django came out, I would love to have had 6-7 years of experience behind me.

Re:Ask HN: If you were starting from scratch again, what lan... by antigravity on Wednesday December 17, 2008 @07:03PM (#401630)
Python, then LISP and (SML or Ocaml), then C and assembly and compilers, then Python again.

Though I like what Norvig said in http://norvig.com/21-days.html

"Use your friends [...] Keep it simple. [...] Play. [...] Given these criteria, my recommendations for a first programming language would be Python or Scheme. But your circumstances may vary, and there are other good choices. If your age is a single-digit, you might prefer Alice or Squeak (older learners might also enjoy these). The important thing is that you choose and get started."

Re:Ask HN: If you were starting from scratch again, what lan... by petercooper on Wednesday December 17, 2008 @02:13PM (#401307)
5-6 years ago there were only a "couple of choices" compared to "dozens" now?

Nearly all of today's practical languages were around 5 - 6 years ago.. Perl, Python, C, C++, Java, Ruby, JavaScript, etc. Of the major languages only C# wasn't particularly well developed at that point (and Ruby lacked a good usage case at the time).

I doubt many here will chose a language that's come along in the last 5 years (Io, Clojure, Scala).. though I'd like to be surprised :)

Re:Ask HN: If you were starting from scratch again, what lan... by ejs on Wednesday December 17, 2008 @03:09PM (#401378)
I started with assembly, moved to C, dabbled in C++ and some of the microsoft solutions (c#, VB), then moved to ruby for web stuff...

Cant say I would want to learn in a different order, but I do wish I would have moved out of my assembly language stage faster...

Re:Ask HN: If you were starting from scratch again, what lan... by Hates_ on Wednesday December 17, 2008 @12:55PM (#401201)
I'd still choose Java as my bread and butter language.
Re:Ask HN: If you were starting from scratch again, what lan... by tiffani on Thursday December 18, 2008 @09:34AM (#402129)
C.
Re:Ask HN: If you were starting from scratch again, what lan... by psaccounts on Wednesday December 17, 2008 @03:00PM (#401366)
C