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