4 ms·
From my point of view, we are still firmly in the "software crisis" era. We can build software with limited functionality in a reasonable time, but we are not a
by lukasLansky 9y ago
From my point of view, we are still firmly in the "software crisis" era. We can build software with limited functionality in a reasonable time, but we are not able to grow it without hitting various kinds of complexity ceilings fairly quickly. Plenty of today's software development is just a succession of painful choices on what to leave behind in just another rewrite.
Formal verification is a way to go, but given how people struggle with application of the most elementary usages of types, I am not optimistic.
- blt 9y agoI agree about the software crisis, I guess I think the solution will come from a tool set that is not yet (widely) known.
- solatic 9y agoFormal verification and other protections resulting from strong static typing are less popular probably because of their delayed gratification effects - they're seen as unnecessarily constricting in small projects and their benefits are only seen as projects are grown and maintained over long periods of time, so it's difficult to justify their use early in the project when the decision is initially made. I think that it's easier to justify rigor in traditional engineering projects (i.e. civil engineering) where project delivery dates are necessarily far off in the future - if you need to delay gratification anyway then you might as well adopt a more rigorous process. But in software engineering, where you can start delivering almost immediately, it's more difficult to get project owners and managers to see the value of rigor, especially if the project isn't yet known to have a long lifetime.