4 ms·
Switch to Common Lisp. And with lisp, you don't have to repeat yourself: any pattern, or any boilerplate can be abstracted away with a macro.
by informatimago 10y ago
Switch to Common Lisp.
And with lisp, you don't have to repeat yourself: any pattern, or any boilerplate can be abstracted away with a macro.
- bluGill 10y ago> can be abstracted away Except for too many levels of abstraction.
- spacemanmatt 10y agoIs that the fault of the programmer or the language, though?
- steveklabnik 10y agoIt's a reference to https://en.wikipedia.org/wiki/Fundamental_theorem_of_software_engineering https://en.wikipedia.org/wiki/Fundamental_theorem_of_softwar... (and the "humorous clause" mentioned there as well)
- raverbashing 10y agoYes, I believe one of the problems is the way things are abstracted, and I don't see a language solving this Adding more levels can only go so far But I don't know how to do it better. Module/Class/Method won't cut it anymore
- maxerickson 10y agoThat's kind of what some compiler optimizations do isn't it? Look through the abstraction and discard it?
- golergka 10y agoThe fact that something can be done doesn't mean that it should be done.
- vbezhenar 10y agoHow can CL prevent something like "i1 == i1" instead of "i1 == i2" error?
- jjnoakes 10y agoFirst, since the AST is so simple to walk programmatically, one could write a simple check for that kind of bug in, I'm guessing, a few lines of Lisp. Second, just because you can come up with a bug that can be written in a language doesn't mean the language doesn't prevent all sorts of other bugs. All languages can have bugs written in them. That's not the point.