Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The Lisp designers do not assume what syntax, features or functions will be necessary in the future. The developers of Lisp give you the full powers that they had to develop the language.

Isn't that ~ abdicating responsibility for language design?



Definitely not.

Guy Steele was involved in the specs for C, JS, Fortran, scheme, Common Lisp, and Java (among others). He gave a must-watch talk about Java called “Growing a Language”.

https://youtu.be/_ahvzDzKdB0

He makes a great case that a language must be able to deal with future problems and ideas the original designers didn’t or couldn’t foresee. He seems to have been one of the voices pushing for stuff like generics so users could design libraries that would feel more native.

And of course, I can’t mention him here without quoting his statement about Java:

> We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp.

A goal of Common Lisp was giving all the tools future programmers might need to create new tools. As a result, you’d be hard-pressed to come up with a language feature that hasn’t been ported to CL at some time.


Thanks, will check the talk later.


May I quote the first sentences from Scheme's R7RS standard that relates to this topic:

"Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today."




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

Search: