Is there an authorative programming language feature list?

Viewed 2481

I'm looking for things like Dynamic typing, Static Typing, Weak Typing, and Strong Typing.

As well as OO features like polymorphism, inheritance, nested classes, inner classes, abstract classes, pure virtual functions.

Also, things like reflection, static binding, dynamic binding, etc.

However, I'm not really looking for things like control flow, built-in types, or syntactic sugar ie. A[5] vs A.get(5). Though, it wouldn't hurt.

It would be awesome if something like this existed and also mapped these concepts to particular languages.

I know that many of these features are explained on Wikipedia already, but are not quickly accessible unless I already know what these features are (and I remember) or just happen to find an interrelated link. In fact the only time I use Wikipedia for something like this is if I just happen to see someone reference an idea, which I need to look up.

My main goal is to have a way for me to quickly discover or brush up my knowledge on these concepts and an authoritative list like this would be very helpful.

If something like this does not exist, why?

Is it because different programming languages decided to name some of these things differently but actually do the same thing? (ie. Pure virtual function (C++) vs. abstract methods (Java)) While others may name things the same, but do something slightly different? (The Protected keyword in Java vs. C++) Another reason might be is languages simply don't have enough features in common to compile a list like this and it's better to learn a language and it's features one at a time? In which case I'd probably compile my own "feature list" as I learned the language...

Thanks for reading! :)

2 Answers
Related