News for hackers. Stuff that matters.
Re:Ask HN: Clojure as a first progamming language? by mechanical_fish on Tuesday December 01, 2009 @08:19AM (#969662)
I feel there’s a chance an experienced programmer has a certain connection with his/her "native" programming language

Sure, you will tend know more about the language that you have worked with the most, which in turn tends to be the one you prefer. But that need have nothing to do with the language you learn first.

A very large number of the programmers you will meet today learned programming via something like C64 or Applesoft BASIC, or (at best) Turbo Pascal. These languages were not exactly Lisp. In those days, BASIC only had global variables. Our growth was not stunted. The idea that learning BASIC stunts your growth was a load of crap at the time, and it remains a load of crap.

If you have the startup itch and want to teach yourself good habits, here's my advice: Don't dither, and don't pick up habits that encourage dithering. Like fretting too much about your language of choice. If you actually plan to build web software, take up Ruby, Python, or even PHP. You know, something normal. Something which features lots of libraries and blogs and books and colleagues and infrastructure.

And learn Lisp too. At the same time. Start with SICP, which involves starting with Scheme. Another useful Lisp to tinker with: emacs Lisp.

Eventually you will learn at least four languages, so don't worry too much about which comes first.

Re:Ask HN: Clojure as a first progamming language? by swannodette on Tuesday December 01, 2009 @11:31AM (#970019)
Ruby and Python and PHP all built their success because they were once the experimental non-normal choice. Argument holds no water.

And I'm sorry bad programming habits will stunt your growth (speaking from personal experience).

Learn the most expressive language you can that's still practical for your goal. Learn the language that you will find most fun and exciting - libraries be damned (Clojure has a ton of them anyway).

Re:Ask HN: Clojure as a first progamming language? by mechanical_fish on Tuesday December 01, 2009 @01:11PM (#970249)
Ruby and Python and PHP all built their success because they were once the experimental non-normal choice.

Yes, and back when they were new, they weren't what beginners learned. When PHP was new, beginning programmers with an eye on the Web learned Perl, Java, or even C, because they had larger communities and better documentation, libraries, and books.

As a beginner it isn't your job to push the envelope of platform design. Unless your primary goal in learning programming is to tinker without necessarily shipping anything.

And, yes, bad programming habits are bad. Unfortunately, avoiding bad habits isn't as simple as choosing one language over another. You can write bad code in any language -- indeed, expressive languages let you explore the really complicated corners of the bad-code phase space -- and you will write bad code, until you've had practice. One good way to get that practice is to pick a language where there's a lot of well-written existing code and documentation and style guides and Stack Overflow comments to read over. See above.

Re:Ask HN: Clojure as a first progamming language? by eru on Tuesday December 01, 2009 @12:07PM (#970096)
Yes. I also started with C64 Basic. As far as I remember you could only have single-letter variables. Is this correct?

The language you feel most comfortable in does colour your thinking. (Or vice versa?) So just don't stop learning languages.

Re:Ask HN: Clojure as a first progamming language? by mechanical_fish on Tuesday December 01, 2009 @01:29PM (#970298)
They gave you two letters, I'm pretty sure. But I've mostly forgotten.
Re:Ask HN: Clojure as a first progamming language? by eru on Tuesday December 01, 2009 @06:07PM (#971025)
I do remember that the syntax made spaces were unnecessary.