Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hackers who love to learn the latest and use the best often seem to be angered by this kind of thing. But isn’t its continued existence evidence of its success? Maybe it’s just hard to admit that a language’s success doesn’t depend solely on its quality.


Mind you, while I think this definition of success is fair, it is fairly specific. The implication is that success means "widespread adoption." That is a property which correlates with properties of the language or technology, but they are not inherently related, IMO.

Unfortunately people conflate success and merit. Maybe that's not so bad. What's worse is when they often go a step further and assume anything that is not successful by this metric is lousy. Hackers look at other forms of success, though, include things like clarity/expressivity or, perhaps more generally, programmer productivity/happiness.

Java or VB6 are examples where merit is orthogonal to success--- disproportionately so, let's say--- so I'm not sure it's hard to admit, as you suggest. :) It may be hard to accept though! People will choose stuff without thinking much about it because it's the default and popular and therefore it can't be lousy. This might not be so bad if hackers didn't occasionally have to interact with lousy tech chosen by other people...

This is part of why pg's blub programming piece[1] appeals to me so much. Living far outside the mainstream comes with its own perils, but being able to do handily stuff other people can can barely grasp can be a competitive advantage.

[1]: http://www.paulgraham.com/avg.html


I think that's exactly what annoys people--that language "success" is not dependent on quality. It's particularly annoying because a lot of people assume a language is well designed just because it is popular.


Hallelujah.

"I also disagree that it is not believable that the vast majority of programmers have been boneheaded for 40 years."

http://paulgraham.com/icadmore.html

The "success" of a language is determined by what the language can do, not what programmers manage to do with it.

It is entirely possible there is a language that exists that can do more and do it faster than any other language in existence, but "most programmers", the ones who make a language "popular", either don't know about it or don't want to learn it.


It's not limited to MS either. Running "cc" on a modern linux box still accepts 35+ year old K&R code by default. The bourne shell has been officially standardized since POSIX 25 years ago, and as a practical matter has been backwards compatible much longer than that. Xlib code from 1987 still runs unmodified...


Yeah, and I don’t actually believe in backward compatibility when it comes to programming languages. If you want forward compatibility, make a good cross compiler from n to n + 1. If you want backward compatibility, make one from n + 1 to n, if it’s reasonable.


The bourne shell has been officially standardized since POSIX 25 years ago...

...and the maintainer of the Vim syntax highlighting module for Bourne Shell scripts still refuses to default to POSIX mode, because some OSs still ship with a pre-POSIX /bin/sh. grumble grumble grumble


No, it can be evidence of its entrenchment. That is a "quality" to be sure, but not one necessarily tied to the concept of quality.


I’m not sure what you mean. First, do you define linguistic success using anything other than entrenchment? We say a (natural) language is “dead” when no one speaks it anymore. Second, I was saying that the quality (that is, power) of a language is not the only factor in its success.


Setting aside the fact that I think entrenchment is a reasonable definition of success, I imagine most hackers don't judge a technology's success based solely on that metric.

As a dumb example, if a language fails at its stated goals, then that's not successful. Another dumb example might be a language which tries to incorporate FP patterns but implements lambda syntax or semantics quite poorly.


That’s true. But most languages fail at their stated goals to a certain extent, usually by finding an unanticipated niche in which they thrive. What a language is good for is often something you discover, not something you design.


What I mean is that I'm terrible at reading things on Friday afternoon. We're not in disagreement (success != quality) and I'm being pedantic :)


And maybe "quality" isn't what novelty-addicted hackers think it is.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: