Live data from Hacker News

Why engineers can't be rational about programming languages

spf13.com

161–170 of 206 posts

Re: Why engineers can't be rational about programming languages

#161
post #129

If you are are starting from scratch, isn't the answer to which language to use just "the framework that best supports the business case and problem you are working on"? If that produces many options, then choose based on the team's familiarity with the language, frameworks, and ecosystems. A good software engineer should be pretty language agnostic when it comes to work, even if they have a personal aesthetic or tec…

The point of the article is that if you attempt to find

> "the framework that best supports the business case and problem you are working on"

by asking the people who will be using it, then the answer will almost certainly be wrong.

The whole point here is working out which is the best tool is almost impossible because of natural human cognitive biases.

TL;DR summary:

No. No, that isn't the answer. It's not even an answer. It's the answer to a different question.

Re: Why engineers can't be rational about programming languages

#162
post #137

Isn't senior leadership choosing languages or core technology, doing things wrong? Shouldn't senior leadership focus on outlining the business opportunities, value case, and requirements for their solution?

No?

The point of the article is that if you delegate this choice, the people to whom you delegate it will get it wrong.

Re: Why engineers can't be rational about programming languages

#163
post #80

Earlier quoted context omitted.

This is a good take. In the consulting context, I've quickly realized that most problems at a business can be broken down into "this will destroy the project on its own" and "this is an annoyance to a good engineer". Language choice is basically always in the latter category, whereas poor management or one egotist is frequently in the former. Like, my team doesn't know anything about Java, but we COULD ship in Java i…

My team ships with a multi-hour CI pipeline that works 50% of the time and effectively zero local development. It's awful in almost every way developer experience-wise, but rock bottom is deeper than you think!

My team reimplemented a stripped down binary of what our primary service does just so we could run it on our local machines. Otherwise it would take up well over 100GB of RAM. Iteration was a lot more annoying before we did that :)

Re: Why engineers can't be rational about programming languages

#164

It's very rare for a rewrite to make sense unless the underlying stuff has so fundamentally changed you don't really have a choice. (For example, DOS to Windows. You have to scrap your UI completely.)

This is true, but the article is not about rewriting.

Re: Why engineers can't be rational about programming languages

#165

> A programming language is the single most expensive choice a company makes By far no. Now I don't know if I even should read beyond that.

Maybe not the most expensive but it is certainly potentially one of the most costly. Look at Facebook with PHP and Dropbox with Python. It's the sort of thing you can overcome despite the odds (as both those companies did), but can also tip an on-the-edge company into failure. Same thing with the fundamental architecture of programs, and especially the data model & database solution. Still I don't entirely agree with…

> Look at Facebook with PHP and Dropbox with Python.

What about them?

Re: Why engineers can't be rational about programming languages

#166

Huge problem with the conclusion, and it is something mentioned in the article. It is suggested to view the language choice as an economic decision. But guess what, that is already what the decision makers think they are doing. There's another almost-got-it in the article. He is suggesting people tie their identity to their programming language of choice. This seems odd to me, because we tend to think of identity as…

> certainly not specific to tooling ("I'm a DeWalt carpenter!")

I think you have it totally backwards for >90% of people, and I counter your argument with a very famous quote:

"Dammit, Jim, I'm a doctor, not a bricklayer!"

Re: Why engineers can't be rational about programming languages

#168

Maybe the Perl CTO wanted the product in Perl and not PHP because he knew Perl and didn't know PHP? Do we really need all this psychoanalysis and identity stuff to explain that?

> Maybe the Perl CTO

That's an example. It is not the subject under discussion.

Re: Why engineers can't be rational about programming languages

#169

The only conclusion I can draw from this is that some engineers are not great at arguing the merits and challenges of a programming language. GC vs non-GC should be one of the first and most straightforward decisions made when picking a language. It's hard to tell in this situation given that there are no concrete examples of what the arguments were, but if one is seriously considering Go for a domain, then they don'…

The only conclusion I can draw from your comment is that you wanted to provide an example of the sort of flawed reasoning that the article is in fact discussing.
Post reply on HN