Hacker News new | ask | show | jobs
by Someone1234 3914 days ago
In a lot of languages there is several different ways to do seemingly the same thing, and it often helps knowing the history to understand why they got added but also why they got replaced.

Concurrency in C#/.Net is a good example. There is three[0] or more ways of doing concurrency, and without understanding the history, it seemingly doesn't make sense. C++ is another good example, in particular in C++14, it is important to understand C++11 to port code, but also understand why some things are done differently in C++14 (rather than just knowing that they simply are).

[0] https://msdn.microsoft.com/en-us/library/hh156548%28v=vs.110...