DEV Community

Discussion on: What computer science concepts should devs without a CS background prioritize learning?

Collapse
 
schaary profile image
Michael Schaarschmidt
  • Finite State Machines
  • Rewrite Systems and Reduction Systems
  • Lambda Calculus and the basics of Computability theory

and then basic data structures and algorithms

Collapse
 
davidkpiano profile image
David K. 🎹

Glad you mentioned finite state machines. It's something that can make most applications we write (if not all of them) much more robust. Most developers unknowingly write half-baked versions of finite state machines (in the form of if/else if and switch statement spaghetti sprinkled all over the codebase) that are hard to understand cohesively.