4 ms·
> Learn concepts, obtain foundational computer science knowledge Well yeah learning a wide variety of languages is a good way to do that. People write new lang
by chrisseaton 4y ago
> Learn concepts, obtain foundational computer science knowledge
Well yeah learning a wide variety of languages is a good way to do that. People write new languages because they want to implement new concepts.
- tester756 4y ago>Well yeah learning a wide variety of languages is a good way to do that. Well, depends what concepts are you talking about. Computer science is huge as hell, concepts that you may learn from programming languages are just subset. There's a lot of interesting and hard stuff that does not touch those (I'm not focusing on some domain-specific-languages that nobody know about)
- BlargMcLarg 4y agoAnd god forbid if you want to learn things outside CS, too. Like you know, most people.
- chrisseaton 4y agoBut learning languages is a great way to learn many concepts. Obviously it doesn’t teach you everything - nobody claimed that. Want to learn concurrency? Try a concurrent language. Parallelism? Learn a parallel language. Data flow? Learn a data flow language. Pattern matching? Learn a language with pattern matching. Etc for a thousand useful subjects to learn. These are great ways to learn so many software engineering concepts. Use other techniques to learn other things sure.
- hardware2win 4y agoAre you actually learning X when your lang has strong and easy to use primitives for that, so you dont have to understand how does it work? eg async await You are just learning tool like Excel
- chrisseaton 4y agoYeah for example I can’t think of a better way to teach yourself to understand and use structured concurrency than a language like Cilk which naturally drives you in that direction. I actually started a PhD on how language design shapes the way you think about concepts (but finished it on implementation instead.)