3 ms·
I don't think the problem is located in academia or research, it's in the market and user obsession of the software industry. For a very long time we didn't pro
by Barrin92 5y ago
I don't think the problem is located in academia or research, it's in the market and user obsession of the software industry. For a very long time we didn't produce software primarily for consumers, we produced software for engineers and researchers. Bell Labs and the corporate research lab as an institution with its significant freedoms is an example of this. A lot of innovation was the result, including practical innovation.
Hardware still works this way today basically. The performance optimizations, practices and goals are engineering centric, not consumer centric. Consumer benefits happen downstream as a side effect. The hardware sector is still run by scientists and engineers, one only needs to look at the people running the companies.
There's no shortage of great software research that could be put into practice, plenty of languages with great features are underused. It's the result of the mentality in software that puts costs, users and marketshare over an engineering culture.
- randcraw 5y agoI agree. I think a central reason that software, and the process for creating it, have not improved is that no standards for software quality have been demanded of the industry. The creation of no electrical or mechanical device on which people comparably rely is as underregulated. Few software developers are required to acquire professional certification, or perform in compliance to standard practices intended to assure due diligence in design, implementation, testing or documentation. Very few software systems must undergo compliance certification. It's unsurprising then that software engineering continues to founder and fail to advance as a discipline.
- closeparen 5y agoI am glad we did not install standards to freeze the way software was developed in e.g. the 1990s, and I expect that in 25 years I’ll be equally pleased that we did not set standards today.
- native_samples 5y agoIt hasn't failed to advance as a discipline. I'm nowhere near retirement and even so I've seen massive advances in my lifetime: 1. The widespread adoption of unit testing and associated techniques like continuous integration. A massive boost to software engineering reliability and productivity. 2. Introduction of crash reporters and associated analytics, this enabled huge improvements in software stability. On the server side, good logging and monitoring systems provide an equivalent. 3. Sandboxing going from unheard of to relatively widely used. 4. Design, development and then open sourcing of extremely robust and well engineered runtimes like the JVM, .NET etc. This has huge benefits throughout the entire industry. 5. Open source and the huge code reuse it made possible. etc etc. All these things have been drastically more impactful than bureaucratic central planning a la certifications.