Hacker News new | ask | show | jobs
by chc 5562 days ago
This is based on a mountain of false assumptions. Just a few of them:

• Most people choose a language based on quality rather than what everyone else is using

• Good languages are necessarily well known (if you build it, they will come?)

• Large corporations, which make up a large segment of the market and can basically anoint programming languages to dominance, have the ability or inclination to choose a good programming language (rather than, e.g., a language which has a strong promotional machine behind it or a language whose backer offers lots of enterprise support)

• Attractiveness to amateurs is equal to all other factors in determining a programming language's quality (regardless of what you think of the language, this is a large part of PHP's popularity)

The thesis here is simply false for any reasonable definition of "good." The only way you can make it true is to "#define good popular", in which case it's tautological.

For example, the reason there is still so much COBOL in production is not that the language is awesome and people choose it of their own free will — in fact, the opposite is generally considered to be the case even by COBOL experts — it's simply entrenched. These systems would not be written in COBOL if they were being developed today, but because they happen to have been written in COBOL's heyday, people still use COBOL. The market chooses COBOL for these positions because of the horrific cost of rewriting everything from the ground-up, not because of anything related to COBOL itself.

1 comments

Three things:

First, thank you for reading. This article was meant entirely to spur discussion so I thank you for taking the time to discuss.

Second, I don't think an argument that most people choose based on quality is pertinent to the theory. The theory just states that the market decides. It does not infer than any metric the market uses is inherently better or worse than others.

Third, your COBOL example is explicitly excluded from the theory as not being in a free-market. Thus it is fading away slowly. If it were truly up to the market (no external regulation from business interests) it would be dead.*

* In this case the market is defined as the direct consumers of the programming language. The programmers themselves. As opposed to indirect consumers (organizations).

> Second, I don't think an argument that most people choose based on quality is pertinent to the theory. The theory just states that the market decides.

It states that the market decides what? The article repeatedly suggests that what the market decides is which language is "good" or "better," which can only be true if people choose based on quality.

If the market choice is only loosely correlated with quality, then looking at the market tells us nothing about which languages are good (since "good" is a qualitative judgment).

There are only two ways I can see for market penetration to be relevant to the discussion of which languages are better:

1. The market chooses based on quality

2. "Good" is synonymous with "popular"

Otherwise you're measuring one thing and then announcing another. Market position is just popularity, and is only a reliable indicator of the things that determine popularity. If people don't choose based on the quality of a language, then looking at popularity to figure out which languages are good is like looking at the eating habits of the average American and concluding that Big Macs are the most nutritionally balanced food around because they're in the dominant market position.

The market decides if a language has any value.

It is not implying in any way that there is a 1:1 between popularity and quality (or any defined relationship for that matter). I think that would be ridiculous.

It is not meant as any means to grade or rank one language against the other. Only to say that a language has some value.

Rereading your comments I do not necessarily agree that the assumption is that market chooses based on quality. The market chooses based on perceived value which definitely takes into account quality but is not based entirely on it.

The implication being is that if there is truly no value or the value is so low that consumers are no longer willing to consume the product. Then the product will disappear or get replaced by a better and cheaper alternative.

In a way, it is simply saying, if someone uses a language then it has value -- at the very least -- to that person.

I guess the underlying message is: do not assume that because something doesn't have value to you that it is not valuable. If it didn't have any value it would (IFF the theory is correct -- I'm not saying it definitely is!) cease to be used.

I am anxiously awaiting your reply. If you have a good one, I might have to concede that the theory is disprove and/or incomplete.

I can't argue with the claim "If somebody is using something, they must place a nonzero value on it." But it seems a lot weaker than what the article says, and it's not even related to the Twitter conversation you linked, which was about the relative qualities of programming languages.

This restated thesis could be 100% true and it still wouldn't mean that the dominant programming language isn't the worst one ever invented.

And a language with nonzero value could still be effectively worthless — if Language A is worth 1 Foo, Language B is worth 10000 Foo and Language C is worth 15000 Foo, then choosing Language A means you lose more (relative to the others) than you gain.

So your headline should have been "Think your language is more popular than mine: The market says otherwise".

No one would have argued with that.

I agree. The title is misleading. I'll have to be more careful on future HN posts. Although, if someone else posted it I would have little control over that.

I don't think your alternative isn't quite right either.

Perhaps, I should have just titled it something like: "Ask HN: Review my theory, The Free-Market Theory of Programming Languages"