6 ms·
What do you reckon could not be legacy code in 15 years? C family, Java, maybe Erlang?
by polysics 13y ago
What do you reckon could not be legacy code in 15 years? C family, Java, maybe Erlang?
- pionar 13y agoI think what jerf means is that, being mostly used as a scripting and web language, it's easy to create legacy code in it. Remember ColdFusion? PHP 3? However, more to your point, there's legacy C and Java code, but that's because those languages have evolved heavily in their time, so late 90s Java looks little like modern Java, and techniques used in C in the 80s would get you laughed at today. Hell, even in my main language of work, C#, the difference between most code just 4 or 5 years ago and "modern" C# is vast.
- danso 13y agoThat's pretty fascinating...I studied C in college and didn't hate it (in fact, I'd like to go back to C some day)...but my perception since has been that not much has changed because not much needs to change. I'd love to see a paper or article looking at innovations or change in practices in these older languages.
- delluminatus 13y agoNot the OP, but I would expect to see still widely used: * Python - As a programming language for scientists and researchers, replacing Matlab and kin. * Go or Rust - A well-designed, modern language, easier to use than C++ but almost as fast, for enterprise applications or video games. Not sure about Google, but I hope Mozilla will still be around in 10 years. * Lua? - Not sure about this one... but it fills a niche -- extremely compact scripting language. * C - still used in system-level programming * C# - C# is replacing Java as the OO language of choice for big enterprise systems.
- eropple 13y agoC# - C# is replacing Java as the OO language of choice for big enterprise systems. I'm skeptical of this one. C# requires Windows Server or putting up with Mono's shit. The former sucks; the latter isn't great either. I'd bet that iterations on Java, as well as other JVM languages, will probably retain a significant edge long-term.
- delluminatus 13y agoIn my experience (admittedly limited to only 3 specific instances), large orgs. have absolutely no problem with using Windows Server (often alongside Linux servers as well). B2B technology is remarkably Windows-centric even now, and I expect it will only become more so as time passes and Microsoft improves its server software and the .NET ecosystem, which is still pretty immature compared to the JVM.
- pswenson 13y ago"C# - C# is replacing Java as the OO language of choice for big enterprise systems." C# is held back by windows. I know there is mono, but enterprises aren't going to bet on mono. So I have to disagree with that.
- Systemic33 13y agoRumor goes that MS will likely make C# cross platform or open source entire .NET runtime, so that they can run Dynamics on Linux as well. In my opinion, if they did this, I would expect C# to get significant growth, and eclipsing Java.
- mortyseinfeld 13y agoC# is held back by windows "The enterprise" (for the most part) isn't held back by Windows. That's just reality.
- dragonwriter 13y ago> "The enterprise" (for the most part) isn't held back by Windows. Or, rather, much of "the enterprise" is committed to being held back by Windows, so a language being tied to windows doesn't hinder enterprise adoption.
- mortyseinfeld 13y agoExcept Windows Server works fine.
- rubiquity 13y ago"* Go or Rust - A well-designed, modern language, easier to use than C++ but almost as fast, for enterprise applications or video games. Not sure about Google, but I hope Mozilla will still be around in 10 years." Unfortunately I imagine that Google has enough money to be around at least 20-30 years.
- patrickaljord 13y agoUnfortunately? Yeah Google deserves to die, self driving cars, actual robots, Google glass, android, search, map reduce etc. Who needs this useless company that doesn't contribute anything to the world, right?
- jeffdavis 13y agoWhy group rust and go? Rust allows control over memory and go does not, which seems like a huge difference.
- nemothekid 13y agoWhat makes you think Google won't be around. If they weren't, I'd put Mozilla on the chopping block as well. [1]http://thenextweb.com/insider/2013/11/21/mozillas-reliance-google-increasing-90-2012-revenue-came-one-source/ http://thenextweb.com/insider/2013/11/21/mozillas-reliance-g...
- actsasbuffoon 13y agoI'm not so sure about Lua. I'm under the impression that it's primarily used as a scripting language for games and things like that. The language is small, it's very fast as scripting languages go, and I've heard it's easy to integrate it with C and other languages. On the other hand, it has kind of weird syntax, breaks a lot of conventions (i.e. arrays are 1 indexed), and it's not a massively well known language. JavaScript possesses a lot of the same benefits; it's a pretty simple language, boasts very impressive performance for a scripting language, and isn't very difficult to integrate with code written in other languages. As compared to Lua's downsides, it's a bit of a mixed bag. The syntax is immediately familiar to anyone whose used an Algol derivative, the language has some unpleasant quirks, but lots of developers are accustomed to them due to the language's substantial popularity. I imagine Lua will still be a popular choice in 5 years, but I think it's going to lose some marketshare to JavaScript.
- jerf 13y agoI expect the JVM to still be going; at least one of Clojure or Scala will probably continue growing for a long time, and there's room for both. It's also possible another Algol-esque language that isn't Java, but is syntactically closer to Java, making people more comfortable, will arise. At some point one of them may even become the "primary" JVM language, with Java hanging on as legacy, but due to the fact Java just compiles to the JVM, there won't be any reason to get rid of it, as the maintenance effort is virtually 0. I expect C# to probably still be going. I'm not sure anything can actually kill C, even though something really should. C++ I can see going either way; it is a freakishly complicated language (and getting more complicated with every standard that comes out) that IMHO was primarily kept aloft by being the "default" language in Windows for a very long time. I expect Rust will be most of the way through eating it alive in 15 years. Or something like Rust, but Rust is looking pretty solid. And if you want a multithreaded systems language... and you will... I suspect in practice it's going to be an order of magnitude easier to program in than C++ in another three or four years. Maybe Rust will even be eating C. (About damn time!) Someone will probably be writing an OS kernel in Rust. Possibly one that is driver-compatible with Linux, or even just straight-up a Linux-compatible kernel. If Google doesn't drop the ball, Go will probably be mature and still going, and probably the primary reason why Ruby and friends are considered legacy code. Go even today very nearly replaces the scripting languages in flexibility (though definitely not quite), but brings back stronger typing and better performance. A few more tweaks to it over the next 5 years and it'll be hard to see why I'd start a new project in a "scripting" language. (Part of the reason I think this is that I observe that in the past 15 years, no language has penetrated into the A-list without some sort of major corporate backer. While there's plenty of other possibilities from a technical point of view, and while Google is not very aggressively pushing Go, I still think it's more support than any other language has or is likely to have in the near future. Even if they just passively continue to do little more than employ the authors, this is likely to continue floating up the ranks.) And I still sort of expect something to come up that is not Haskell, but is closer to Haskell than anything currently existing. Or possible Haskell simply keeps plugging along and manages to become a very solid B-list language. I doubt it'll ever break into the A-list "nobody got fired for choosing C/C++/Java/C#" level of popularity, but it might settle firmly into where "it's pretty hard to get fired for choosing Python/Ruby/PHP" is today. (It's brushing B-list status now, but it's got a ways to go before I'd call it solid B-list.) I also think there's a good chance it will acquire a reputation as being the tool of choice for tackling truly complicated systems. (Though Rust will eat into the bottom end of that a bit too, they're currently retreating from some of the tools that Haskell has that may allow it to acquire this reputation. I think Haskell will still retain a strong advantage here.) And finally, some sort of wildcard. 15 years ago I doubt anybody would have predicted Haskell being where it is now, even Haskell users (if you can even call it the same l. New languages shall continue to bubble and froth, but at least one and probably two will either emerge from the froth and become a B-list language. Probably at least one of them will be a aggressively "practical" language that will be a reaction to the success of "excessively-academic" Clojure, Scala, Rust, and the Haskell-like I hypothesize above, and follow a hype curve very similar to Ruby or Node. It occurs to me I'm looking more like 10 years into the future here than 15. Oh well. Close enough. I'm also well aware I'm just talking out my ass; I completely expect to look back and laugh at this in 10 to 15 years. Oh well again.