Hacker News new | ask | show | jobs
by andrewcurioso 5562 days ago
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.

1 comments

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.