Skip to content

Instantly share code, notes, and snippets.

@sireliah
Created October 8, 2018 16:06
Show Gist options
  • Select an option

  • Save sireliah/9bb15c811c696c6361aa117a01016c74 to your computer and use it in GitHub Desktop.

Select an option

Save sireliah/9bb15c811c696c6361aa117a01016c74 to your computer and use it in GitHub Desktop.
Thoughts on the archeology of code
Software development as a part of human culture.
Programming is commonly considered highly logical and strict process that is related rather to mathematics and "science" rather than antropology or even humanities. But is it indeed?
High level code such as Python or Java is designed to resemble the natural language to make programming effort more natural and easier for human programmers. In the early days of computing, writing programs was much more closely related to the actual binary operations executed on the machine level. If you wanted to calculate a logarithm of an natural number, there was no built in function. You had only a couple of hardware implemented operations in the ALU (Arithmetic Logic Unit) such as AND/OR, addition, bit shift and you needed to perform them on the binary level and then interpret the result as an integer. This is how EDVAC computer worked.
High level code came with
In fact you can think and speak code.
Regular (high level) business code in comparison to (low level) system programming (define boundary?)
The lifecycle of big legacy projects. Multiple layers of logic overriding the previous code (instead of simplifying it). Anonymized examples from the Monolith.
From the time perspective you see legacy projects as the reflection of certain way of human thinking, thus those projects can undergo historical or even archeological investigation!
Mention authors experience with those.
Is compiler smarter than you? Rust example of how compiler reminds you about the quality of code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment