6 ms·
I suspect that all the languages that are "winning" right now will have "lost" 10-20 years from now too. What's the longest lived language out there right now
by autarch 12y ago
I suspect that all the languages that are "winning" right now will have "lost" 10-20 years from now too.
What's the longest lived language out there right now that's actually still in heavy use? I'd say C. But C has clearly fallen from its position of complete dominance when every new project was written in C (because it was much easier than writing assembly).
C++ had its day as well and lives on in many places, but again, it's no longer the go to language for projects where C isn't the right choice.
How about Java? It was hot stuff in the 90s and it's still huge today, but it clearly didn't "win".
PHP? We'll be living with legacy PHP code bases for at least 10-20 years but does anyone honestly think this will be the language that the startups of 2025 use?
Programming is both incredibly faddish and incredibly fast paced. Today's new hotness is tomorrow's "dead" language.
Give it 5-10 years and I expect to read "Why Python Didn't Win". I expect we'll see a "Why Ruby Didn't Win" in 10-15 years too.
- icambron 12y agoI agree with your point but not the scare quotes. Yes, the field evolves, priorities change, and languages inevitably fall out of favor. However, that losing is inevitable doesn't make the losing less real, and I think it's still very useful to think about why a language fell out of favor. What changes in priority left the language behind? What could have made it more adaptive? What does that say about current programming trends? In 2020, we may well have a "Why Python Didn't Win" article, and I'll really want to read it.
- kamaal 12y ago>>What changes in priority left the language behind? I'm not an expert but let me try. The most common of all is abstraction level at which problems are looked increase with time. Once the problems you solve get complicated increasingly over time, you run into a situation where your tools have to provide syntax and semantics to deal with that. While the previous complicated things get trivial and easier to deal with. There fore your language has to evolve/grow. This is a double edged sword. If you wish to move ahead and break backwards compatibility to do this, you risk fragmenting the whole ecosystem for very little real benefit(Python 2 - 3 problem). You can keep two system in parallel, plan to support the existing for as long as you can while you work on the new stuff(The Perl 6 Problem). Large changes are difficult to make. Or just stay stagnant and become irrelevant(History if full of such languages). Java is rapidly becoming one such language. Its old, trivial things demand too much code and improvements look like bloat. In the mean while newer languages which have a clean slate to start with come around and stick for a while. Eventually they must face the same problems.
- thorin 12y agoHave you used Java recently? The last few versions are showing consistent improvement with lambas, date library etc. I can't think of this happening successfully in other languages but it seems to be working well in Java. Also JavaEE and Spring framework have improved massively and the amount of code (and configuration) to do stuff is reducing all the time - much more in the style of rails/django. I think Java (and C#) will be here for a long while where the enterprise jobs are. Javascript will continue to be popular as long as it's the only real choice in the browser. After that - who knows?
- kamaal 12y agoPerl is actually no different. There are a lot of cool things happening in the Perl universe too. But the problem is, the older issues persist. There is a big legacy baggage to carry, and in the overalls the feature adoption is generally slow.
- rdtsc 12y agoSo maybe winning is more like winning for a time period. PERL did win. It won up until early 2000s, then lost. I am guessing it is not getting picked much for new, greenfield projects. I think that is a cut-off metric. One way get there is to find a niche. Maybe it isn't the new use-for-everything language. But at least can become the "ok, use for this one area" language. C -- still winning in that respect. It is used in many places just because of hardware or time constraints -- drivers, micro-controllers, optimized fast parses, low level socket handling code. It just got specialized. Not used probably for business or back-end systems. I don't think PERL can claim that same. It seems to me its role has been replaced by Python, maybe Ruby, Java (for web server back-ends). C++ still winning. None of the current languages including the new contenders like Rust and Go can eat its lunch (as they say) when it comes to performance. Things like games or signal processing. Anything requiring low latency responses will still see C++ being picked. And with C++11 and C++14 it is getting a new breath of fresh air. Whoever is going to contend with, will have a steep hill to climb. Java? Java still winning. Now if you think of Java as JVM it is winning even more. Java itself if just a very average language that is also fairly performant, explicit, IDE friendly. If you had a lot of money and could hire potentially lots of average or below average programmers to throw at a problem (which I think often is the wrong approach, but if you did), Java is your language. And Android. Don't forget Android. If anything it is winning just because of that. > Give it 5-10 years and I expect to read "Why Python Didn't Win". I expect we'll see a "Why Ruby Didn't Win" in 10-15 years too. I think it replaced PERL by in large and but now it is feeling the heat in a lot of areas where it was being used. Scientific community has Julia as a new kid. Server back-ends have Go and Javascript. Not one big threat but little paper cuts here and there. Ruby, I am not familiar with it much, from my outside perspective it looks like a one-trick-pony = Rails. If something replaces or obsoletes Rails, I don't see Ruby rising and finding a niche. I could be wrong, so anyone please correct me here.
- kamaal 12y agoI think the definition of 'winning' people use around here is, if start ups think its a trendy technology to use. So you will see all these new companies stop using a particular language, and then when some conference happens you will see talks around the older technologies have dried out, while people are giving talks on the newer set of technologies. Its then when you see articles/rants/blog posts on the lines 'Whatever happened to X which was famous $current_years - 5 years back?' Please note all the focus is around the new technology. Some one is writing a new library around this new DB technology some one is using and is writing about it. Some one just gave a talk on how some scalability problem was solved by a specific feature in the language. Some one just talked about how testing got easier, some one writes about how maintenance efforts got reduced because of a new way in which language deals with type declarations, Or some programming forum is full of questions and the Google auto suggests can tell you your question as you are typing it. Meanwhile some where in a MegaCorp, your maven can't see beyond the company in house repo. And using a different library takes 3 months of permission cycles. People sitting in there don't get interview calls and hear about people saying that the old technology isn't hip any more. Only thing that is buying Java some time is the large quantities of enterprise code, which no one has the money to replace.