3 ms·
The poster makes a point about conservatism in large companies, but doesn't explore this further. Its actually a more complicated matter than just technical ign
by PaulAJ 8y ago
The poster makes a point about conservatism in large companies, but doesn't explore this further. Its actually a more complicated matter than just technical ignorance in managers. The real problem is that programming languages are seen as a tactical matter for project managers ("just use the best one for the job"), whereas they should be considered strategic.
* At the start of a project the PM is given a budget and a timescale which were probably driven by the question "whats the earliest you can't prove you won't be done by?" There will be no slack for developers to spend 6 months coming up to speed on a new programming language and paradigm.
* Nor can the PM afford the career risk of trying something new. If you do it the standard way and it doesn't work, the decision to do it the standard way was obviously not responsible and the search for blame can be pushed elsewhere. But if you pick something novel and it doesn't work, the blame for any failure will always focus on the novel element. So there is a strong institutional pressure to keep doing things the same way to avoid the blame for failure.
* Once a piece of software is finished it has to be maintained. Most software expenditure actually goes on this phase. If you use a new programming language then you are going to have to keep a bunch of programmers around who speak that language just for that project, even if there are no changes needed this year. That is expensive, so this is another disincentive for trying a new language.
* Every technical manager has seen enthusiastic young programmers bearing some new silver bullet (see Fred Brooks) which, the youngster says, will solve all the problems at a stroke. After you have seen half a dozen of these they all start to look the same. There is also concern about "CV engineering": getting the company to take on the risk and cost of training employees in trendy technologies which won't provide real benefit but which will make those employees more likely to find a higher paid job somewhere else.
If programming languages were considered as a strategic matter then a large company could make a decision to invest in tooling, training and increased project risk in order to adopt a new language which would make them more productive in the long term. But until then change will be forced on the industry by small companies who beat the averages.