Excellent lecture using Physics and IT to illustrate the 2 totally different approaches in Programming:
- Imperative (or Procedural) – micro-steps or Local 微观世界 [eg. C / C++, Java, Python…]
- Declarative (or Functional) – Macro-view or Global 大千世界 [eg. Lisp / Clojure, Scala, F#, Haskell…]
- Analysis (Calculus)
- Algebra (Structures: Group, Ring, Field, Vector Space, Category …)
- Newton (Laws of Motion), Maxwell (equations)
- Fermat (*) (Light travels in least time), Feynman (Quantum Physics).
In IT: Neural Network (AI) uses both 1 & 2.
- Western Medicine: germs/ viruses, anatomy, surgery
- Traditional Chinese Medicine (中医): Accupunture, Qi, Yin-Yang.
Note (*): Fermat : My alma mater university in Toulouse (France) named after this 17CE amateur mathematician, who worked in day time as a Chief Judge of Toulouse City, after works spending time in Math and Physcis. He co-invented Analytic Geometry (with Descartes), Probability (with Pascal), also was the “Father of Number Theory” (The Fermat’s ‘Little’ Theorem and The Fermat’s ‘Last’ Theorem). He used Math to prove light travels in straight line (before Newton) due to “Least Time taken” (explained here in this BM video).