Live data from Hacker News

Why engineers can't be rational about programming languages

spf13.com

21–30 of 206 posts

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

#21

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.)

I'm working on such a re-write / learning process right now because underlying stuff has fundamentally changed and it was (slightly) long past time to make the move. Of course, we're still going things incrementally and slowly and making effort to keep older tech running.

For some tech choices there was just one clear path from where we are to where we need to go. But for others, the overriding decision was more often than not that some team member had familiarity with the technology. Certainly not the only criteria but enough to tip the scales if it came to that.

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

#22

> 1. The power to transcend paradigms. - Donella Meadows, Leverage Points: Places to Intervene in a System https://donellameadows.org/archives/leverage-points-places-t... If you're a Python Programmer, and you've made that your identity, you've trapped yourself into the mindset that you are a Python Programmer. Same with any other identity you ascribe to yourself (or allow others to ascribe to you). Separating yourse…

>Getting past paradigms gives you much greater freedom to explore and participate in the world.

It's not me who has problems getting past paradigms, or anyone else I know for that matter, it's the recruiters and HR people who screen resumes by only ticking boxes on buzzword.

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

#24
post #20

I think the author almost contradicts themselves; they reach the salient-but-obvious conclusion that rewriting a product is almost always a bad idea and that rewriting a product only to change programming language is _always_ a bad idea, that tribalism is a poor decisionmaking framework, and that leadership by arbitrary decree is stupid. Great! These are age-old lessons that people somehow seem to forget, so seeing t…

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 if forced to. We can't ship if the feedback loop is a 30-minute CI pipeline because there is no way to have a local dev environment.

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

#25
post #20

I think the author almost contradicts themselves; they reach the salient-but-obvious conclusion that rewriting a product is almost always a bad idea and that rewriting a product only to change programming language is _always_ a bad idea, that tribalism is a poor decisionmaking framework, and that leadership by arbitrary decree is stupid. Great! These are age-old lessons that people somehow seem to forget, so seeing t…

> The main driver of a project's success is almost always driven by: the composition of employees working on the project, and the competence of the people architecting the project.

This is my experience too. I’d go a bit further and say the leads are the primary driver of success. Because ultimately, if the composition of the people on a project is incorrect, it’s the lead’s responsibility to realize and change it.

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

#26

> 1. The power to transcend paradigms. - Donella Meadows, Leverage Points: Places to Intervene in a System https://donellameadows.org/archives/leverage-points-places-t... If you're a Python Programmer, and you've made that your identity, you've trapped yourself into the mindset that you are a Python Programmer. Same with any other identity you ascribe to yourself (or allow others to ascribe to you). Separating yourse…

Someone told me to read Meadows over a year ago, and I can no longer remember who, and to make it worse it slipped off my radar. I'm filled with regret now because they appear to be a concise and insightful thinker, or at least an effective proliferative of good ideas.

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

#27

> 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.

It CAN be.

If a company chose brainfuck as a main programming language, it's doubtful they'd come back from that choice.

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

#28
post #5

I don't agree with the title - I've seen many engineers be rational and pragmatic about programming languages. I'm not entirely sure why the author decided to lead with such a charged headline.

Probably should be "management" can't be rational about programming languages because that's what it's about. The article isn't talking about a group of engineers coming together to decide on a platform, instead it's about a choice being thrust upon from from up high. That management is also an engineer but that's not really the key point.

Why would management care about tools?

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

#29
post #5

I don't agree with the title - I've seen many engineers be rational and pragmatic about programming languages. I'm not entirely sure why the author decided to lead with such a charged headline.

> I'm not entirely sure why the author decided to lead with such a charged headline. It got people to click the link to their think piece.

I did not. I read the comments and still found little reason to check the article.

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

#30

> 1. The power to transcend paradigms. - Donella Meadows, Leverage Points: Places to Intervene in a System https://donellameadows.org/archives/leverage-points-places-t... If you're a Python Programmer, and you've made that your identity, you've trapped yourself into the mindset that you are a Python Programmer. Same with any other identity you ascribe to yourself (or allow others to ascribe to you). Separating yourse…

Someone told me to read Meadows over a year ago, and I can no longer remember who, and to make it worse it slipped off my radar. I'm filled with regret now because they appear to be a concise and insightful thinker, or at least an effective proliferative of good ideas.

No reason to regret, still time to read her works. That essay is also a chapter in her book Thinking in Systems: A Primer (publish posthumously), and more essays are on that site.
Post reply on HN