2 ms·
You probably won't have enough experience to decide which language is a better fit for a project until you know at least one of them quite thoroughly. At that p
by silentbicycle 17y ago
You probably won't have enough experience to decide which language is a better fit for a project until you know at least one of them quite thoroughly. At that point, the differences that will actually matter to you should be much clearer.
While people can argue about the relative merits of Ruby and Python for days, the direct impact of language characteristics on a beginner are likely to be overwhelmed by other issues. For example, if a friend knows one of them quite well, go with that one - he/she can probably answer some questions, and in the short term that's far more important.
The same principle holds for Linux/BSD distributions, version control systems, and so on: If there's not a huge consensus and the differences don't mean much to you, just pick one. You'll be in a better position to make an informed decision later, and you're not stuck with it forever. Time spent trying to decide could instead be put toward learning the basics.
Another example that comes to mind is systems for parsing. There's ANTLR, lex + yacc, packrat parsers/PEGs, Prolog's DCGs, etc. While they have different strengths, any deep comparison will also nonchalantly throw around terms like LALR(1).
- colbyolson 17y agoPerfect advice for a beginner. I was wasting so much time reading language debates, pros-cons, and comparisons. I was overwhelming myself with things I didn't understand. Had I just picked a language and just ran with it, I would be farther down the road than where I am now. So just grab something, sit down, and play with it.
- silentbicycle 17y agoIt's easy to find blog posts to talk yourself out of getting started with any language. None of them are perfect! Lisp has that "stupid parenthetical syntax" [1], Python has the whitespace thing, Lua indexes from 1, Javascript ... I started tinkering with Prolog as a summer project, and as a side effect, Erlang makes sooo much more sense now. (Erlang was originally implemented in Prolog, and inherited a lot of its syntax & style.) I picked it deliberately because it's quite far from everything I know, and Peter Norvig said a lot of interesting things about it in PAIP. Chatter on the web gives the impression that it's just some weird dead AI language, but I've found it really inspiring. I'm glad I didn't let that discourage me. Even if the only benefit I get from it is the insight into Erlang's design, being able to read Sterling & Shapiro's _The Art of Prolog_* , and finally getting how unification/pattern matching and type inference work, it was time well spent. * Which is awe-inspiring. I would recommend it regardless of whether you care about Prolog, much like Norvig's PAIP is worth reading even if you don't care about Common Lisp. [1]: http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePerl/ http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePe...
- colbyolson 17y agoI'm just a newbie pythonista, so I'll just nod and smile. :)