Live data from Hacker News

Ask HN: Ruby, Python, or JavaScript for teenager?

news.ycombinator.com

11–20 of 50 posts

Re: Ask HN: Ruby, Python, or JavaScript for teenager?

#12
I love both Ruby and Python, but would actually recommend Go.

Go is easy to get started with, has very readable code, fewer keywords to remember and internalize, and lets you fire up a webserver in a few lines of code on all platforms without having to install any extras.

It's also extremely performant, which isn't really important, just attractive.

Re: Ask HN: Ruby, Python, or JavaScript for teenager?

#14
post #3

Maybe Processing because it is about making things rather than writing programs and it's community is not caught up in computer science; instead it is built around creativity. But in general, I would not focus on which language is better but which language can be used to improve something that they already do. For a writer, Emacs Lisp might be a good choice. For a photographer, Lua and Darktable might be a good choic…

>> it's community is not caught up in computer science We're not talking about Haskell/Scheme/Lisp/ML/etc, right?

If memory serves me right, I started learning Python in 2003 (still in high school at that time). My impression was Python is easy to understand, pretty much like good old BASIC.

Re: Ask HN: Ruby, Python, or JavaScript for teenager?

#19
post #11
post #8

Javascript because its used for websites.

I can agree this is one good reason for Javascript. I am just worried about there being too many mine fields in the language for a beginner.

I think that Javascript is great for it's implementations in NodeJS, but yeah, I see two sides to the argument:

The syntax, semicolons, etc are minefields.

or

The syntax, semicolons, etc can teach good habit and save a lot of headaches in the future (missed a semicolon here, missed a semicolon there.. etc)

Re: Ask HN: Ruby, Python, or JavaScript for teenager?

#20
I have 3 languages that I would and do recommend for any new programmer:

- Python, because it looks like pseudocode and it's hard to fuck up as a beginner. Plus, if you're trying to do something real/effectful (rather than write implementations of algorithms) imperative code matches your intuition.

- Haskell, because it looks like maths and it's hard to fuck up as a beginner. It's really easy to convert any maths stuff that they know verbatim into Haskell and have it Just Work without accidentally having to worry about, for example, how many times a piece of code is run.

- C, ASM or LLVM IR (leaning towards the first because it has great tutorials), because it matches how a computer really works. Ok, yeah I know, it doesn't, but it's closer than anything else that you'd actually want to use. C and manual memory management has gotten a bad rap recently, mostly because of all the security vulnerabilities it causes. Sure, you don't want to have to think about memory safety as an application developer but when you're learning it's OK to accidentally read or write uninitialized memory or cause a segfault as long as you've got good debugging tools to turn it into a useful learning experience.

Post reply on HN