6 ms·
As Lisp is very good at adopting paradigms from other languages - the only design tradeoff that I've consistently heard is the syntax - and this usually from pe
by swannodette 16y ago
As Lisp is very good at adopting paradigms from other languages - the only design tradeoff that I've consistently heard is the syntax - and this usually from people too blind to realize their syntax is hardly better.
So what do you see as a fundamental design tradeoff for Lisps?
- cageface 16y agopeople too blind to realize their syntax is hardly better That's exactly the kind of categorical statement I'm so tired of hearing from lispers. Other syntaxes score better on every metric (terseness, readability, expressiveness) except flexibility. Lisp makes the same design tradeoffs the other dynamic languages do but bets the farm on macros. Over 40 years of historical evidence suggests that most programmers do not find the power of macros adequate compensation for a syntax they find highly unpalatable. It takes a special kind of arrogance to dismiss all of these people as blind.
- swannodette 16y agoExcept syntaxes die. Syntaxes tend to encode what is possible to describe in a particular language. Eventually people decide what a language expresses is not adequate, they write a new language w/ new syntax to describe a new thing. Lisp adopts the new thing with little in the way of syntactical change. How do you account for that? * Over 40 years of historical evidence suggests that most programmers do not find the power of macros adequate compensation for a syntax they find highly unpalatable. It takes a special kind of arrogance to dismiss all of these people as blind. No 40 years of historical evidence suggest that your syntax will die. C and C++ have survived because of their intimate nature w/ popular operating systems. Lisp has survived because it can evolve. How can you not chuckle that C and C++ are just now getting lambdas and closures? In anycase Alan Kay says it better than I, http://queue.acm.org/detail.cfm?id=1039523 http://queue.acm.org/detail.cfm?id=1039523.