4 ms·
"Touched the whole spectrum"? Hardly. What about logic programming languages (eg. Prolog), stack-based programming (eg. Forth), concurrent programming (eg. Erla
by rntz 16y ago
"Touched the whole spectrum"? Hardly. What about logic programming languages (eg. Prolog), stack-based programming (eg. Forth), concurrent programming (eg. Erlang)? And that's leaving out more esoteric ideas like FRP (Functional Reactive Programming), the funky type systems needed for efficient purely functional languages, and the less-well-known OO constructs (multimethods, metaobject protocols, etc).
No CS curriculum can ever both touch the whole spectrum of what there is to offer and be reasonable to mandate for all students. Inevitably, some students will want the minimum necessary for practical work and others will want to explore as many avenues as possible. The importance is in striking a good balance: exposing students to enough different paradigms to produce good computer scientists without requiring so much that they never get enough real experience with specific languages to be good programmers.
- Zak 16y agoand the less-well-known OO constructs (multimethods, metaobject protocols, etc) Using Common Lisp provides the option to do that, but there's still plenty from the realm of programming languages that would be left out. It might me a mistake to try to do too much at the high-school level though; C, Lisp and ML would allow access to a very broad range of programming concepts - far more than any three of the approved languages.