3 ms·
Would you say that focusing on programming paradigms, rather than language implementations, would help to counteract this?
by silentbicycle 17y ago
Would you say that focusing on programming paradigms, rather than language implementations, would help to counteract this?
- andreyf 17y agoI think so. The big ones I know of being: - dynamic object oriented (Smalltalk) - homoiconic for compile-time metaprogramming (Scheme, Lisp) - dynamic for runtime metaprogramming, like continuations (Scheme, Ruby, Smalltalk) - functional (Scheme, Haskell) - strongly typed (Haskell, Scala) - logical (Prolog) These are the ones I've come across, but there are more on wikipedia: http://en.wikipedia.org/wiki/Programming_paradigm http://en.wikipedia.org/wiki/Programming_paradigm
- silentbicycle 17y agoThere's some overlap, as well as actor/message-passing concurrency (Erlang), dataflow (Prolog, Oz, etc.), constraint, vector-oriented (APL), etc. Probably a dozen more, depending on where you draw some fine lines. (See CTM for a good overview.) FWIW, Prolog is just as homoiconic as Lisp, and has compile and runtime macros. Still, I was more wondering about teaching methodology, not enumerating paradigms themselves. What could be done to counteract the "standing on the toes of giants" effect?
- andreyf 17y agoI was more wondering about teaching methodology If I understand correctly, I'd imagine teaching everyone to implement languages using a system like Ian Piumarta's COLA might do the trick. The point is to break open these black boxes of abstraction (even though black boxes are good sometimes).