Hacker News new | ask | show | jobs
by olewhalehunter 3239 days ago
The symbiotic relationship between compiler development and hardware architecture design has a defining role in CS problems, and while you don't need to understand that relationship to write CRUD apps for a living, I think ignorance of it robs those who really want to understand this stuff of truths both technical and profound.
1 comments

Totally!

Compiler development = Finite State Automaton + Push Down Automaton + Context Free Grammar + Intermediate representation + Static Analysis/Optimiation + Stack Machine + ...

Hardware Architecture = Stack Machine/Turing Machine + electricity + creativity

Stack Machine == Turing Machine

Compiler development starts and ends with Turing Machines.

Hardware architecture ends with Turing Machines operating at the speed of electricity through metal.

There are alternatives to this mainstream style of computer architecture, such as dataflow or hybrid quantum-classical systems, which both require a very different kind of compiler.

https://en.wikipedia.org/wiki/Dataflow_architecture