📕 subnode [[@ryan/20200708122504 cybernetics_versus_informatics_understanding_the_type_wars_medium_com]] in 📚 node [[20200708122504-cybernetics_versus_informatics_understanding_the_type_wars_medium_com]]

Notes

  • The two competing visions that emerged in the early days of programming came from mathematics (Lisp and engineering (Fortran)

  • informatics :: systems that consume data, manipulate it in terms of semantic meaning, and produce meaningful results

  • cybernetics :: systems that satisfy requirements meaningfully and adaptively in novel and uncertain environments

  • Lisp was born out of an environment that sought to understand computing as solving symbolic expressions (like you do in math)

  • Usage of Lisp declined as interest in classical AI (symbolic AI) declined, as Lisp was thought of being the language of AI

    • Symbolic AI stressed a neo-Cartesianmodel of computing, by which sensory input was processed through "brain modules"

  • As Lisp faded into the background, another mathematical concept began coming to the foreground: static type checking and "programs-as-proofs"

  • Clojurewas a huge innovation in the Lisp world, bringing immutability and laziness, among other things

    • Clojure seeks to maximize expressivity over formal verification, although formal verification is a goal as of 2016

  • Languages like Haskelland Standard MLuse their type systems to allow for formal verification

  • If a dog wanted to reach something across a barrier, in the real world it would use its accumulated experience, exploitation of the environment, and experimentation to find a solution.

    • The informatics approach to solving this problem would be to model the world

    • the cybernetic approach would be to create adaptive systems that are capable of adapting to such a thing

📖 stoas
⥱ context