2 ms·
On top of this one, there's another discussion of this article on Lobsters that the author is participating in: https://lobste.rs/s/peldje/2017_learn_every_lan
by nickpsecurity 10y ago
On top of this one, there's another discussion of this article on Lobsters that the author is participating in:
https://lobste.rs/s/peldje/2017_learn_every_language https://lobste.rs/s/peldje/2017_learn_every_language
Has some recommendations, reviews, & critiques on various books & learning strategies people here might be interested in. Here's a repost of my comment on the article:
"Consider a Scheme resource like How to Design Programs for its combination of easy modification of syntax and DSL’s. Additionally, OMeta, TXL, or the original paper on Meta II for transformation-based languages. Paul Morrison’s stuff on flow-based programming. Hit them with Datalog or Mercury on declarative side on top of whatever foundational logic they learn so they see its practical power. Formal language like Coq with Chlipala’s Programming with Proofs might be icing on the cake so they can see programs get engineered from precise specifications with provable correctness. Should come in handy in debates on whether programming is engineering or not. ;) Lightweight version of that would be SPARK Ada that can automatically prove aspects of imperative programs due to clean design. Or design by contract with that, Ada 2012, or originator Eiffel. If doing parallelism, show them an inherently parallel language like X10, Chapel, or ParaSail. Erlang should come up if we’re talking high concurrency and reliability in same sentence."