Difference between revisions of "New software crisis"

From apm
Jump to: navigation, 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 10: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.