5 ms·
I've been programming for 54 years. Languages come and go in a career. For me, each new language was an enthralling experience, an adventure. Mostly I think t
by cc101 5y ago
I've been programming for 54 years. Languages come and go in a career. For me, each new language was an enthralling experience, an adventure. Mostly I think this was because each new language came with some valuable new insight in how to do my work. I don't know if that is true any more. I get the impression that there are too many new languages and paradigms. I suspect this is a confusing burden that detracts from the enjoyment. There doesn't seem to be a clear evolutionary path anymore. I imagine this weighs on a programmer's mind.
- beardyw 5y ago54 years. I can just match that if I count the very first time I wrote a line of code! I agree with all you say and my experience was the same. I think the current problem you describe is a disconnect between the means and the end. We lived through times when the end result was all anyone cared about. Now people have jobs where they don't really know what the end result is.
- FpUser 5y ago41-42 years here. My experience was right from the beginning in designing new products so for me programming languages were just tools. After a while it was not a problem for me to start a project in completely new language and get the shit done without much fuzz. Most of the general-purpose languages are more or less the same and so are the libraries. Some are great. Some are not that much. What I see now is that programmers are often concerned with not what they deliver but how – I’ll do anything as long as it is in A/B/C. Basically means substitute goals. I find it not very healthy. There are some exotic languages of course which could make my brain melt but since I do not need any for my projects/products I would not care.
- BurningFrog 5y agoYeah, your second language can be a real struggle. But after the 5th there aren't many big mysteries. Languages have also gotten a lot better over the decades.
- deleted 5y ago[deleted]
- RangerScience 5y agoI've been programming for (the last) ehh 15 years. (more if you count logo and a few other things). > Mostly I think this was because each new language came with some valuable new insight in how to do my work I don't know if it's true for other people, but it's true enough for me that I gave a talk on it: https://www.youtube.com/watch?v=JgWAWwF6pNY https://www.youtube.com/watch?v=JgWAWwF6pNY (note, I haven't actually watched the video yet myself....)
- jmclnx 5y agoI agree with what you say. I am a small number of years behind you professionally, and yes some come and go and a couple of languages I learned no longer exists. But I could never grok OO, but at least in my case that is not an issue, especially these days :) Back then, learning new languages was a non-issue, it was the logic you had to understand.
- beagle3 5y agoMost 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.
- rmbyrro 5y agoUnderlying issue to this is the "best practices" mentality. It's an unnecessary burden to look after "the best tool for the job". In order to know "the best", you have to know all tools deeply enough to judge which is the best. Should be able to judge whether the tools I currently have are suitable for the problem or not. If not, should be able to search efficiently for one that suits and to learn it to the degree needed. Finding the right balance of judging, searching and learning can be a joyful adventure. Constant questioning "is it the best" is a nightmare...