3 ms·
ruby is a decent language, but it's not a good first language. a first language should really be simple, not have too many constructs and avoid special cases en
by adrusi 15y ago
ruby is a decent language, but it's not a good first language. a first language should really be simple, not have too many constructs and avoid special cases entirely. ruby is definitely not minimal, and it does have some special cases that change it's behavior. That's not to say that java's a particularly great first language; it avoids syntactical inconsistencies entirely, but has no fewer special cases than ruby in how it works.
I'm not a big java hater, but it's community and tools kind of suck. java projects seem to all be made in monolithic IDEs and built with monolithic build tools that are customized with an XML file. the java community isn't as open as other communities; in ruby and JavaScript and python and especially Haskell, there is a great community who is very willing to help and provide free tools for anyone to use. java just isn't like this.
I think Haskell is a great first language pedogogically, people who start with it don't have the same difficulties as those who convert, and it really helps to teach a lot of advanced ideas more easily.
however, getting a job with Haskell isn't as practical. if he wants to make a startup then Haskell is great. otherwise he should consider learning clojure or python.