3 ms·
Couldn't Lisp be accused of the same thing? I realize that CL has a boatload of features, but fundamentally Lisp is very simple and formless in using the list f
by goatlover 9y ago
Couldn't Lisp be accused of the same thing? I realize that CL has a boatload of features, but fundamentally Lisp is very simple and formless in using the list form for all code and data.
- eadmund 9y agoWell, a really simple Lisp could be accused of the same thing, but part of the allure of Common Lisp is that a lot is standardised such that an implementation can optimise it in one way or another — so it's not formless in practice.
- nickpsecurity 9y agoPart of its simplicity enables its metaprogramming, though. You decompose the problem downward while using metaprogramming to extend the language upward. A simple language with metaprogramming is never equal to one without because the former can be turned into anything its execution or compilation constraints allow. :)
- munificent 9y agoI think so, to some degree. My "building a house out of toothpicks" isn't too far from Alan Kay's "Lisp isn't a language, it's a building material". I think both Scheme and Self feel like they give you the tools you can use to build your own language on top of them. Where by "language", I include the facilities for composing and abstracting code, idioms, best practices, and all of the other stuff most languages enshrine directly in their semantics. Java says "the best way to organize code is in classes". Scheme and Self don't really say anything at that level. They give you the tools so that you can say what you want. If you want classes, you can build class systems in Scheme and Self. If you don't, you don't have to. At one level, that's really cool — I get to be a language designer! But if you just want to ship and app and be working at the top of the stack, it sucks when you have to show up on day one and pour the foundation yourself first.