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…
In my experience, a language switch rewrite can be a benefit only when switching from a dead ecosystem to a living one. For example, migrating a web app from a language that predates Unicode to something that won't require a bunch of scaffolding around every user input sometimes is worth it. Moving from LABVIEW to a real programming language that integrated with remotely modern development tooling was worth it. Switc…
Why engineers can't be rational about programming languages
151–160 of 206 posts
Re: Why engineers can't be rational about programming languages
#152Earlier quoted context omitted.
The great team would not have written the Amazon clone in Fortran. There is no engineering justification for such a choice, and "we are swaggeringly awesome engineers who can conquer anything" is not even remotely an engineering justification.
The parent article's point, though, is that choice of programming language is often NOT driven by justified choices, but is a foregone conclusion because it is part of the identity ("I am/want to be a XY developer.") of someone influential (e.g. tech lead, CTO, VP Eng). One argument I would like to add to this original debate is that I have observed two types of developers: one type tries to stick to one programming…
Re: Why engineers can't be rational about programming languages
#153Earlier quoted context omitted.
The great team would not have written the Amazon clone in Fortran. There is no engineering justification for such a choice, and "we are swaggeringly awesome engineers who can conquer anything" is not even remotely an engineering justification.
If you are starting from scratch fortran is a bad choice. However if you have a fortran project that keeps getting more features you may become an amazon clone along the way
Re: Why engineers can't be rational about programming languages
#154Re: Why engineers can't be rational about programming languages
#155then boom suddenly php, ruby & java are pragmatic choices in economic sense for business systems. same as c++ for hedge funds & video games etc.
Re: Why engineers can't be rational about programming languages
#156I 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…
"I cannot agree that programming language choice is a primary driver in a product's success or failure" I've seen it. There are definitely incorrect language choices for certain projects. It would be fair to say that these cases are themselves often exceptions. Many projects can be equally well accomplished by teams skilled in any language. But there is definitely a set of problems for which you can make incorrect la…
There is an entire book about it which documents the problems in lavish detail, and it's generally hailed as a classic and a must-read.
Re: Why engineers can't be rational about programming languages
#157Earlier quoted context omitted.
"I cannot agree that programming language choice is a primary driver in a product's success or failure" I've seen it. There are definitely incorrect language choices for certain projects. It would be fair to say that these cases are themselves often exceptions. Many projects can be equally well accomplished by teams skilled in any language. But there is definitely a set of problems for which you can make incorrect la…
I would say, though, that for most programs any one of the most popular languages would do the trick. By this I mean Java, Go, C#. Javascript, Python, C++. All of those are general purpose multi-paradigm languages that you can code almost anything in. That being said, some programs can only be written in one of those. Browser code is JS exclusive, low-level needs C++, secure code needs not C++. Machine Learning needs…
Which of course ignores and contradicts the primary lesson of the chap who founded this company and pays for this website.
Re: Why engineers can't be rational about programming languages
#158Earlier quoted context omitted.
"I cannot agree that programming language choice is a primary driver in a product's success or failure" I've seen it. There are definitely incorrect language choices for certain projects. It would be fair to say that these cases are themselves often exceptions. Many projects can be equally well accomplished by teams skilled in any language. But there is definitely a set of problems for which you can make incorrect la…
While I’ve seen bad technology chosen for projects, it seemed at root more a problem with the people choosing it than the technology itself.
Which is, I think, the key point of the OP's article.
And my response to this is:
We need objective, scientific, real-world measurements of PL efficiency, so that informed judgements can be made free of cognitive bias.
This is how science works. Especially medicine. But programmers seem to feel that they are above this stuff.
Re: Why engineers can't be rational about programming languages
#159Isn't this what Joel wrote 25 years ago? Don't rewrite your software? I wrote a compiler/language, and I was expecting something different from the article after my experiences Like many of the other commenters, I didn't like the article
The subject is right there in the title:
Engineers Can't Be Rational About Programming Languages
Re: Why engineers can't be rational about programming languages
#160We see the "we need to rewrite in X" conversation play out all the time here on HN. Love this take on it.
From the way so many commentators are refusing to engage with the point expressed in the title I think there is collective denial of the core point, so instead, people are discussing the symptoms rather than the disease that is the subject here.