Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The tricky part is that I don't think all programming is formal logic at all, just a small part.

Why do you say this? The foundation of all of computer science is formal logic and symbolic logic.





Lots of parts are more creative or more "for humans" I might say, like building the right abstractions considering the current context and potentially future contexts. There is no "right/wrong" abstractions, just abstractions with different tradeoffs, and lots of things in programming is like this, not a binary "this is correct, this is wrong", but somewhere along a spectrum of "This is what I subjectively prefer considering these tradeoffs".

There is a reason a lot of programmers see programming having lots of similarities with painting and other creative activities.


Any programmer who doesn't understand the basis of their craft and the environment they're working in isn't a very good one imo.

Problem is that everyone probably agrees with that, but where the line of "the basis" is drawn isn't so widely agree on. Is "the basis" the physical composition of the hardware components? Understanding assembly? Knowing how a CPU works? How electrons move around inside the whole thing? How all the pieces fit together, including the OS?

The space is just so large that everyone has their own "basis" that sometimes even move with time. They can still be good programmers imo.


At least part of the basis for every programmer is formal logic. A systems programmer should understand how a CPU works, and a frontend JS developer should know how their target browser works, but they all need to know formal logic.

> Why do you say this? The foundation of all of computer science is formal logic and symbolic logic.

Yes, but also it has to deal with "the real world" which is only logical if you can encode a near infinite number of variables, instead we create leaky abstractions in order to actually get work done.


And those abstractions need to be encoded using symbolic and formal logic.



Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: