Hacker News new | ask | show | jobs
by tester756 1339 days 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)

2 comments

But 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.

Are 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

Yeah 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.)
And god forbid if you want to learn things outside CS, too. Like you know, most people.