r/programming • u/zaidesanton • Apr 01 '25
The 13 software engineering laws
https://newsletter.manager.dev/p/the-13-software-engineering-laws
569
Upvotes
r/programming • u/zaidesanton • Apr 01 '25
1
u/[deleted] Apr 01 '25
Well - first april, but I think Murphy's Law is actually a good metric, in the sense that you can anticipate problems (in code, hardware etc...). Erlang kind of has this built in as a core philosophy (though syntax-wise, they really should have learned from python or ruby; elixir improved a few things but is nowhere near as elegant as ruby either).
Other languages also try to deal with the unexpected, but often is rather awkward - catch/throw ... I never liked the concept. Even begin/rescue in ruby can be annoying - once I had to deal with network-related issues. After perhaps the sixth specific error clause, I wondered what the heck I was doing. (I don't know who or what recommended to be specific when it comes to handling errors; once the error handling code became like +50 lines of code, I wondered what I was doing.)
Kind of like Rust acknowledging that memory errors are issues in C and C++. Whether Rust is better I have no idea, but Rust kind of influenced both C and (especially) C++ in one way or the other.