Hacker News new | ask | show | jobs
by freshhawk 5562 days ago
Yeah, yeah, the status quo can always be defended with a market analogy.

Step one to making this kind of statement: give some evidence that the language ecosystem actually works as a free market.

First of all changing languages is almost always a large investment. That removes the "free" from your free market analogy so many of the assumptions you are making are completely unfounded.

1 comments

That is why it is a theory and I am opening it up to peer review. Otherwise I would have stated it as a fact.

Also, "free" as in choice, not "free" as in cost.

Fair enough, in that case it's certainly not a "theory", the correct term would be "hypothesis" or "conjecture".

I understood what you meant by "free" but you seem to be discounting the high cost of making that choice.

You can examine the language ecosystem as a market but if you do you see immediately that it is inherently a lock in market.

Once you choose a language it's very high cost to change languages.

It's also high cost to choose a language that's not already popular, recruiting is more difficult and you will not have as much 3rd party library support.

So you have both "lock in" and large advantages for existing large players. Sure, it's technically still a "free market" because it's not regulated by the state but this kind of market doesn't have the behavior you are assuming.

What evidence do you have that these kinds of markets optimize for "better" languages?

My biggest mistake: using the word "good" What I should of said is "has value"

I have since conceded that point and removed the word "good" (which is subjective) from the post.

Also, the only evidence I have is observation. Which is why I posted the idea. To get good constructive input from people like you!

You make some good points. It is an expensive proposition to switch languages, which is why I excluded that explicitly in the post.

It is also expensive to train people. So that alone may disprove the theory. I'm not sure yet.

On a side note, as far as I know, being based on observation only does not preclude the use of the word theory. It is technically correct (at least according to the dictionary definition of theory). Although, I agree hypothesis may be better.

You need to define "has value" right away though, because defining "value" as "whatever the market measures" is tautological and just plain useless. "PHP has value because people find that PHP has value" is not contributing anything new.

It's also the go to "moving the goalpost" logical fallacy used by free market ideological cranks who you don't want to be compared to.

Agreed. I don't want to ask you to complete my thought, but how would you define value in a way that makes sense in that context? Or is it hopeless?
Well now you're trying to figure out what it is that the market optimizes for.

In my experience it has little to do with language quality and mostly to do with reputation and momentum. Whatever that company/team used before they will likely use again.

I'll talk about things in the web space since that's what I know best, things will be different in each market.

If it's a blue sky exercise or they decided they need something new then it's mostly based on reputation, the less popular the language chosen the more blame taken by the chooser in the case of failure. In other words, no one ever got in trouble for choosing Java, PHP or C#.

Trying to define value in a way that covers even only the big players is tough.

Java and C# are chosen because they are big (library support, support materials) and have been around for a while. They are considered trustworthy.

PHP is chosen because there are tons of cheap semi-competent programmers who know PHP. It was marketed and packaged for beginners at the perfect time and that worked fantastically.

Ruby/Rails is chosen because of marketing (the engineers might be fans, but the business guys say OK and the HR people can find programmers because of the marketing). A lot of ex-php-ers who discovered how bad PHP is as a language when they learned Ruby as their second modern language.

This is just in a small piece of the language ecosystem that I know about. Other areas of programming (other markets i suppose) are completely different but I suppose that momentum, marketing and trained workforce are factors in all of them.

I think this is too messy a problem to ever arrive at a good definition.