I see dependency injection as writing functions as combinators and I frequently use category theory constructs. I work mainly with functional programming. Also lambda calculus helps me think about abstractions.
Understanding compilers and interpreters gives a lot of insight into speeding things up and making code and program easier to be statically analysed.
Automata and state machines are useful. Algorithmic complexity helps avoiding hard problems.
I see model theory directly when modeling domains.
Understanding compilers and interpreters gives a lot of insight into speeding things up and making code and program easier to be statically analysed.
Automata and state machines are useful. Algorithmic complexity helps avoiding hard problems.
I see model theory directly when modeling domains.