Comment

Comment by epenn

While I won't say this is bad advice, I also don't think it's the best way to truly free yourself in the manner I think the OP is getting at. In the long run you'll be far better off learning and cultivating rock solid CS fundamentals rather than just hopping from one framework to the next hoping to glean a little more from each. Having an in-depth understanding of the types of data structures and algorithms that go into developing $new_hotness will allow you to pick up different languages/frameworks/etc significantly faster than just learning $new_hotness on the surface level.

Take parametric polymorphism [1] as a random example; i.e. what's called generics in Java, templates in C++, etc. You might know how to use it in a particular language and realize it provides some benefit. But if you truly understand the underlying concept then you can quickly recognize it and/or know to look for it in any language you pick up, whether it's Java, OCaml, Visual Prolog, etc. Note each of those languages are in three totally separate paradigms (object oriented, functional, & logic) and yet all of them still make use of the same underlying idea to achieve a particular goal (in this case, a form of type-safe expressivity). If you have a good understanding of $random_fundamental_concept then all you would need is to take a couple minutes to learn its syntax in your new language of choice and be on your way. I chose that example because it was the first that popped into my head, but in reality it goes for just about anything.

In short, with a good understanding of the fundamentals, you can make the time it takes to learn something new that will invariably be based on them significantly shorter.

[1] http://en.wikipedia.org/wiki/Parametric_polymorphism

parent epenn 13 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton