One big issue with refactorings of projects used in companies is that people get used to some software. There are many people who stick to Windows 7 when Windows 10/11 is quite a good replacement. I liked Visual Studio 2008 way more than Visual Studio 2010 back in time because it was way faster.
If you want to replace the build system, the problem is even harder. How to promote a new build system, while keeping the benefits of older IDE?
What are the biggest issues when debugging large projects?
At some point, you notice that these projects don’t obey to rules. It is often impossible to run these tools under a debugger to get a meaningful result. You get unreadable hundred millions log lines. Reverse debuggers are not useful either: the place where the bug appears is so far from the crash point that you might never really find it.
From time to time I hear complaints from newcomers that nobody needs Linux since most developers use Windows. That’s true, Windows remains the most used operating system, however, I argue that Linux is more useful for them.
Mathematics was very different centuries ago due to another widespread notation. The notation changed over time, e.g. a significant part of today’s notation was contributed by Rene Descartes. But the question today is how programming languages & pure math notations relate to each other. I argue that they relate to the same concept, and here’s why.
I am not much dependent on operating system: I have been using Linux distributions for years for work (and in some way developing Linux distribution), and I still have decades of Windows development experience.