logoalt Hacker News

asxndutoday at 1:35 PM2 repliesview on HN

I think it's the culture is software engineering.

In a food delivery app/social network it seems like a waste of time to use formal methods.

When designing software for aircraft, pacemakers, fintechs, cryptography and DeFi protocols there is a bit of value for formal methods. The problem is that often, people with the food app/social network culture are hired to build DeFi protocols.

Which explains why so much money is being stolen form DeFi protocols of late. So why people don't use formal methods.

- 95% of the time, the stakes are low

- 5% of the time, the engineers don't understand the value of formal methods.

Leslie Lamport once joked that if software developers were architects, they would first build a skyscraper and then later draw the blueprint.


Replies

kalcodetoday at 1:45 PM

Also you can write a perfect specification get into implementation and have to step back and redesign.

Software is fast to iterate and test that a lot assumptions can be proven by actually writing the code.

Software is closer to gardening or painting. We discover a lot through practice and writing code. Then we can often write more formal specifications.

But formal method is impractical for most software upfront, and instead is likely used for more serious runtime failures or cost of life.

That's just my two cents.

antonvstoday at 1:43 PM

I enjoyed this quote from the article, which concisely summarizes the first part of the above comment:

> “website isn’t airplane!!!”