Hacker Newsnew | past | comments | ask | show | jobs | submit | jgdxno's commentslogin

If you used the car as an analogy instead, it would make more sense to me. There were car craftsmen in Europe that Toyota displaced almost completely. And software is more similar to cars in that it needs maintenance and if it breaks down, large consequences like death and destruction and/or financial loss follows.

If llms can churn out software like Toyota churns out cars, AND do maintenance on it, then the craftsmen (developers of today) are going to be displaced.


At work we use it heavily. You don't really see "a zillion interfaces" after a while, only set of dependencies of a package which is easy to read, and easy to understand.

"makes it hard to cone up with good names" is not really a problem, if you have a `CreateRequest` method you name the interface `RequestCreator`. If you have a request CRUD interface, it's probably a `RequestRepository`.

The benefits outweigh the drawbacks 10 to one. The most rewarding thing about this pattern is how easy it is to split up large implementations, and _keep_ them small.


I've always viewed type systems as adding constraints on and descriptions to the data and logic in the system.

Which is exactly what you find a ton of in electrical engineering (e.g. IEEE C37.2 and gazillion more).


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

Search: