4 ms·
Most languages are not very different as far as the semantics go. The Algol family, for example (Pascal, C, C#, Java, Lua, Python, …) - if you know any of them
by beagle3 5y ago
Most languages are not very different as far as the semantics go. The Algol family, for example (Pascal, C, C#, Java, Lua, Python, …) - if you know any of them well, it’s easy to pick the others up quickly.
But a language includes idioms, the eco system, and even conventions like camelCase vs PascalCase vs snake_case. Until you master these, all code you write will be alien and awkward to the natives.
C++ has become its own thing, where you have to study an awful lot just to be able to _read_ it, but it is otherwise of the same family.
I’ve only been programming for 40 years, have professionally done so in over 10 languages, and nowadays preach to only pay attention to paradigms rather than languages.
You don’t think differently when working in C# vs Java, and not materially different than e.g. C, if you are writing idiomatic code.
But Lisp, APL, Prolog, Haskell - idiomatic code in any of these languages does not resemble one in any of the others (or the Algols) - they each offer a very different way to look at things. And your C code will be Better if you grok them, even if you don’t use them.
- pharmakom 5y agoYes! This idea that every language learnt brings something to your programming is not really true imo, or at least barely true for many languages. You learn little picking up C# after Java, but a tonne learning Haskell after Java. Paradigm matters, syntax and conventions not so much.
- hackerfromthefu 5y agoFor a lot of its lifetime C# has been ahead of Java, though I think as C# has matured Java has probably caught up so it may be true now. But C# introduced e.g. runtime generics, functional style LINQ, async and also RX style programming first, though RX is not part of the language but the ecosystem.
- beagle3 5y ago“First” here might be right with respect to Java. Lisp basically had all of these in the 1990s. Perhaps earlier.
- rjsw 5y agoI would put Common Lisp in the Algol family.
- pjmlp 5y agoI fail to see any reason for it, other than the usual agenda that before Miranda there were no functional programming languages.