A pretty nice survey and well balanced post - nice! My only gripe - it missed out on my favorite - Groovy - which is my favorite because it combines the best features of most of the others.
How to Pick a Language
41–50 of 73 posts
Re: How to Pick a Language
#42Earlier quoted context omitted.
"Remember, a programming language is not a technology. It's a community. Choose the community you want to join, then use what they use." I can't disagree with this enough. Why do you need to talk to people? Why do you need to reuse other peoples code? Perhaps for some people, the community matters, but I don't think that's common. Obviously you need to have decent language documentation, but that's not a community, i…
Maybe you are at the point now that you can implement any application in any language without ever running into problems, writing every library routine you ever need from scratch, porting the compiler/runtime to a new platform if you need to, and you also have complete mastery over your application area, say aeronautical engineering or bioinformatics, able to solve any problem in code without ever speaking to another…
If you run into issues, you need to be able to solve them. If the language is well documented, you can use that. If there are tons of books on the language, you can pick up a book.
I'd say asking the community is usually a last resort. Ever asked the PHP or Javascript community questions? Most of them have no idea. They'll give you terrible, often incorrect answers. Ever asked the Java community? Most will recommend you use XML to create a FactoryFactoryGenerator pattern on Jetty using enterprise beans. Ask the lisp community? They'll burn your house down for assuming you're worthy of asking them a question.
Obviously these are generalizations, and I'm sure there are some great javascript,php,java,lisp etc communities around.
Choosing the language based on the community amounts to just following the other sheep, rather than taking an unbiased decision about which language best fits the job required based on factors including libraries available, books, maintainability, ease of hiring people in later etc etc
Also I'd say communities like this (Hacker news) are far more valuable than specific language communities.
Re: How to Pick a Language
#43Re: How to Pick a Language
#44Earlier quoted context omitted.
Maybe you are at the point now that you can implement any application in any language without ever running into problems, writing every library routine you ever need from scratch, porting the compiler/runtime to a new platform if you need to, and you also have complete mastery over your application area, say aeronautical engineering or bioinformatics, able to solve any problem in code without ever speaking to another…
The point is this: If you run into issues, you need to be able to solve them. If the language is well documented, you can use that. If there are tons of books on the language, you can pick up a book. I'd say asking the community is usually a last resort. Ever asked the PHP or Javascript community questions? Most of them have no idea. They'll give you terrible, often incorrect answers. Ever asked the Java community? M…
Re: How to Pick a Language
#45Earlier quoted context omitted.
The point is this: If you run into issues, you need to be able to solve them. If the language is well documented, you can use that. If there are tons of books on the language, you can pick up a book. I'd say asking the community is usually a last resort. Ever asked the PHP or Javascript community questions? Most of them have no idea. They'll give you terrible, often incorrect answers. Ever asked the Java community? M…
"Community" includes turning to the person at the next desk and saying, hey, have you seen this before? Or asking on a mailing list inside your organization. That's why I said "people you know personally or professionally".
Re: How to Pick a Language
#46Not so. Clojure has three different mechanisms for judicious use of side-effects, including Software Transactional Memory. But yes, side-effects must be quite explicit.
Re: How to Pick a Language
#47Earlier quoted context omitted.
"Community" includes turning to the person at the next desk and saying, hey, have you seen this before? Or asking on a mailing list inside your organization. That's why I said "people you know personally or professionally".
Sure, but I'd value a good general hackers opinion over a specific language specialist.
More than one project I've started in Lisp here (not to pick on Lisp, just as an example) and run into an issue that I could implement myself in time T or do the whole lot in Python in time T/10. It's a no-brainer. For non-trivial tasks to be completed within fixed periods, striking out on your own with a new language is a meaningless risk.
Re: How to Pick a Language
#48A pretty nice survey and well balanced post - nice! My only gripe - it missed out on my favorite - Groovy - which is my favorite because it combines the best features of most of the others.
There's some enthusiasm for Groovy here, tho' we've not (yet) done any production work with it. I guess my main fear is that it's a dead-end like Cold Fusion, I don't feel it really has a critical mass behind it. What sort of work are people doing with it?
I too initially thought of it as a dead end - why choose a language that only runs on the JVM when you can choose a language that runs natively as well? But once I started using it I really liked it, and the integration with java is really superb (much more seamless than Jython, JRuby etc.). So it kind of stuck. (I use Django as well, but not as much).
Re: How to Pick a Language
#49Pick Arc if: You want a 100 year language and you’re willing to wait that long. I know it was a cheap shot but I couldn't help but laugh when I got to that point in the article. The relative lack of activity on http://arclanguage.org/forum makes me think the best reason to choose Arc at this point is to run news.arc.
Remember, Lisp is at least a 50-year language, and Lisp was originally created as a joke or a teaching example or something. The great bearded wonder, the one that Lisp guys make shirts of, Schultz or McCarthy or whatever his name was, only wrote up the spec to make a point, some kind of math thing iirc, and somebody egged him on and they ended up implementing it. But it wasn't that he just had this magic ability to build a great language. He made a thousand other snarky points in his life, and this one just happened to be so well phrased, mathematically, that it trumps all other languages, in the opinion of many people. That's not a one-time stroke of luck in the language design department; it's the results of decades honing his craft as a master of snark.
Re: How to Pick a Language
#50It's opinionated, but this article serves as a good FAQ for people who might be asking what language should they learn.