New software crisis: Difference between revisions

From apm
Jump to navigation Jump to search
some basic text
Line 2: Line 2:


{{wikitodo|Discuss this}}
{{wikitodo|Discuss this}}
== Main problems ==
'''Accelerating bit-rot''' from:
* Dependency hell
* Incidental complexity
* Plumbing across gaps
* Bad abstractions
'''Incidental complexity''' growing acceleratingly all the way to the point <br>
where a rewrite from scratch is the only option. Just another form of bit-rot.
'''Plumbing:''' Lack of good abstractions over barriers in underlying hardware (including network barriers). <br>
Bridging via plaintext without hard structural guarantees. <br>
See [[Gaps in software]].
'''Bad abstractions:''' The saying goes: <br>
Ever problem in computer science can be solved with yet another layer of abstraction. <br>
Except the problem of too many layers of abstraction. <br>
Also there is a lack of languages that are conducive for <br>
tools to easily trace across levels of abstraction.
== Main cures ==
* provably guaranteed purity of code (purely functional languages aka denotative languages)
* super fine grained content addressed (fine grained per function / closure)


== Related ==
== Related ==

Revision as of 11:20, 1 January 2023

This article is a stub. It needs to be expanded.

(wiki-TODO: Discuss this)

Main problems

Accelerating bit-rot from:

  • Dependency hell
  • Incidental complexity
  • Plumbing across gaps
  • Bad abstractions

Incidental complexity growing acceleratingly all the way to the point
where a rewrite from scratch is the only option. Just another form of bit-rot.

Plumbing: Lack of good abstractions over barriers in underlying hardware (including network barriers).
Bridging via plaintext without hard structural guarantees.
See Gaps in software.

Bad abstractions: The saying goes:
Ever problem in computer science can be solved with yet another layer of abstraction.
Except the problem of too many layers of abstraction.
Also there is a lack of languages that are conducive for
tools to easily trace across levels of abstraction.

Main cures

  • provably guaranteed purity of code (purely functional languages aka denotative languages)
  • super fine grained content addressed (fine grained per function / closure)

Related

External links

Software crisis ...
The wikipedia article is mainly about the "old fist crisis" ist seems.
A lot of new severe large scale problems/challenges have arisen since then.