Live data from Hacker News

How to Pick a Language

web.mac.com

31–40 of 73 posts

Re: How to Pick a Language

#31
Here's an alternative set of instructions for comparison:

1. Write down all the garbage-collected languages you've heard of (from Java to Erlang to whatever) on index cards, one language a card

2. Pin all of them up on a nearby wall

3. Throw a few darts at the cards blindfolded and look at what languages the darts landed on or near

4. Pick one of those and write assloads of maintainable, bug-free code in it.

Re: How to Pick a Language

#32
post #30

It's opinionated, but this article serves as a good FAQ for people who might be asking what language should they learn.

Well, no because there is one factor that dwarfs all others: what are my friends or the people in my field using? If everyone you know (personally or professionally) is using language X then there will be collective experience you can tap, documentation, mailing lists and howtos, lots of code already written, etc. It doesn't matter if you have a "better" language if there's no-one you can talk to or whose code you ca…

"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, it's just the specs.

Re: How to Pick a Language

#33
post #32
post #30

Earlier quoted context omitted.

Well, no because there is one factor that dwarfs all others: what are my friends or the people in my field using? If everyone you know (personally or professionally) is using language X then there will be collective experience you can tap, documentation, mailing lists and howtos, lots of code already written, etc. It doesn't matter if you have a "better" language if there's no-one you can talk to or whose code you ca…

"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…

Why do you need to reuse other peoples code?

So I guess you like implementing all your libraries yourself?

Re: How to Pick a Language

#34
post #30

It's opinionated, but this article serves as a good FAQ for people who might be asking what language should they learn.

Well, no because there is one factor that dwarfs all others: what are my friends or the people in my field using? If everyone you know (personally or professionally) is using language X then there will be collective experience you can tap, documentation, mailing lists and howtos, lots of code already written, etc. It doesn't matter if you have a "better" language if there's no-one you can talk to or whose code you ca…

[This refers to Gaius's comment at http://news.ycombinator.com/item?id=446136. I note this because I've seen "threads" broken because some comments in the middle rise to the top].

Why was this comment downmodded to zero? (I've upmodded it to one). It is well written, thoughtful and makes a good point. I understand people disagreeing with it, but downmodding it to zero is just insane. I've seen this phenomenon increasing on HN recently and have "rescued" a couple of comments (i didn't agree with them but thought they didn't deserve the severe downmodding).

If PG were to allow scripting HN, like he said he would, I'd probably write a script to tag a commenter as "someone I'd like to follow" and let me know when they got downmodded into oblivion!

Re: How to Pick a Language

#36
post #33
post #32

Earlier 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…

Why do you need to reuse other peoples code? So I guess you like implementing all your libraries yourself?

Libraries are separate from community IMO, Sure, if there's a well made library out there that does exactly what I need I'll use it, but it's not the main factor.

Re: How to Pick a Language

#37
Pick 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.

Re: How to Pick a Language

#38
post #27

Earlier quoted context omitted.

I don't know PHP, so didn't comment on it. Would it get its own category, or fit into one of the ones I gave?

I'd put PHP in a category with JavaScript, since they resemble p/py/r but were designed for web programming rather than scripting.

I guess that sort of works... but php is still serverside. Anyone doing web dev must learn javascript, but not necessarily php. Javascript would probably be competing with actionscript or any other client-side plugin stuff.

Re: How to Pick a Language

#39
post #15

Earlier quoted context omitted.

Interesting way to define "scripting" languages. I didn't mean to underestimate JavaScript, which is why I gave it its own section. Perhaps I was too brief? Implication that its only useful in the browser?

Love it or hate it, Javascript: * Is the language having the most important performance gains lately. * Growing support from both corporate (Yahoo, Apple, Google) and free software (Mozilla) camps. * Gains market with HTML 5 (just the canvas element alone makes a huge difference for JS based software.) * Better frameworks for both UI and client-server software. It's funny how things turn.

Yeah, it's strange how only 2 years ago or so, both ruby and javascript scored rock bottom on Alioth Shootout, with javascript scoring 4 times slower than ruby, and ruby 3 times slower than python. Two years later and there's 7 interpreters for ruby and 4 for javascript.

Re: How to Pick a Language

#40
post #32
post #30

Earlier quoted context omitted.

Well, no because there is one factor that dwarfs all others: what are my friends or the people in my field using? If everyone you know (personally or professionally) is using language X then there will be collective experience you can tap, documentation, mailing lists and howtos, lots of code already written, etc. It doesn't matter if you have a "better" language if there's no-one you can talk to or whose code you ca…

"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 living soul.

If so, my hat is off to you my friend. But that's not me, after 15 years as a professional and two degrees, and I'll wager that's not anyone else reading this either. In my experience, the community around a language trumps all other factors for getting stuff done.

Post reply on HN