3 ms·
For young people, I would recommend learning languages they would probably never use in production. APL, Forth, Prolog, Scheme, and one or few variants of Assem
by okaleniuk 4y ago
For young people, I would recommend learning languages they would probably never use in production. APL, Forth, Prolog, Scheme, and one or few variants of Assembly. Unlike modern mainstream languages, these really expand your thinking vocabulary.
And the practical reason why I'd recommend learning these now: you'll never have time to play with them when you're not young anymore. The whole domain of knowledge they represent will forever remain a missed opportunity.
In my book Geometry for Programmers (https://www.manning.com/books/geometry-for-programmers https://www.manning.com/books/geometry-for-programmers), I also advocate investing in mathematical education and a computer algebra system. Any system. I propose SymPy but it's only because it's free and ridiculously simple to get started with.
The reason for this is also simple. Mathematical knowledge is non-perishable. ChatGPT can write boilerplate for you, and it any language too. But to solve a real-world problem with math, you need a computer algebra system to solve your equations, and your own head to compose these equations. That's something beyond the reach of LLMs.
- warrenm 4y agoI bought the APL book (https://www.amazon.com/gp/product/0471430145 https://www.amazon.com/gp/product/0471430145) several years ago (though it wasn't >$150 then) because I had a professor in college who loved to talk about APL I've opened it to skim a few times, and here's what I've realized: - purpose-built machines (and languages) are always better at their purpose than general-purpose languages/machines - I don't know nearly enough math for APL to [fully] make sense - a great deal of elegance and methods of thinking have been lost as languages (virtual (and physical)) disappear - flexibility is a wonderful thing in languages and hardware