> How many of them really bring something new to the table, a better way than the old one?
'Better' being subjective, but there are languages, or classes of languages, that bring new paradigms that change the way you approach a problem. Some may work better with the way you mentally model a problem, or they may naturally help with modeling certain problems.
So we've got...
- Imperative sub-procedure languages, like C, Algol, Fortran, etc.
- Object-oriented variants of C, like C++, Java, C#.
- Smalltalk, and Smalltalk OOP based languages like Ruby and Objective-C.
'Better' being subjective, but there are languages, or classes of languages, that bring new paradigms that change the way you approach a problem. Some may work better with the way you mentally model a problem, or they may naturally help with modeling certain problems.
So we've got...
- Imperative sub-procedure languages, like C, Algol, Fortran, etc.
- Object-oriented variants of C, like C++, Java, C#.
- Smalltalk, and Smalltalk OOP based languages like Ruby and Objective-C.
- Forth, a stack-based programming language.
- Tcl, a command-based programming language.
- Unix shells, string-based programming languages.
- Lua/JavaScript, prototypal/hashtable oriented languages.
- Lisp, tree/list-oriented languages.
These are the languages/classes of languages you should study, if you want to see something different. Something that may change the way you think.