5 ms·
>Perhaps now it is time for a new generation to make their mark, will their efforts last 40 years? Rust anyone? I'd think it's quite difficult for a new langua
by jerrre 9y ago
>Perhaps now it is time for a new generation to make their mark, will their efforts last 40 years? Rust anyone?
I'd think it's quite difficult for a new language to replace a language whose main attractive points are it's longevity, stability (not the code and programs coming out of it, but the syntax and tools etc), and broad support.
There are many fields where C is easy to beat. But I don't think the next 40 year lasting language will be a C replacement.
- adrianratnapala 9y agoIndeed. I think the obvious candidate is JavaScript. C is what it is partly because of its relationship with Unix, and also because it was the language that gave most straightforward access to "the machine" -- whatever that is. And the hard truth is that The Machine was the only real universal platform around. But now we have this thing called The Web, which is not quite as universal but is getting there, and is much more like a single platform. JS has a special relationship with it. The only thing that might upset this JS+Web applecart is WebAssembly. A "C of the Web" (call it W) would be a language high level enough to be pleasant to use, but which would have little or no runtime beyond what is native to WebAsm, and thus anyone could use libraries written in W.
- iagooar 9y agoJavascript might soon become obsolete with the arrival of WebAssembly.
- krapp 9y agoOnly where Javascript is being treated like a "compile target." Something is going to have to run the existing Javascript code on the web from now on, so the language itself likely isn't going anywhere, regardless of whether or not other languages can target WASM. Not the mention everywhere else it's been used - WebAssembly definitely isn't replacing Node.js, for instance, or game scripting.
- marcosdumay 9y ago> WebAssembly definitely isn't replacing Node.js, for instance, or game scripting. WebAssembly is certainly able to replace JS in game scripting.
- krapp 9y agoPeople won't be scripting in WebAssembly. Other languages could target WebAssembly, but so could javascript.
- steveklabnik 9y agoThe wasm project states that obsoleting JavaScript is a non-goal.
- flavio81 9y agoBut this is what will happen eventually. No programmer with more than 5 years of professional experience really likes working with Javascript; they just put up with it. As soon as you can work in <insert your favorite language here> and compile it to WebAssembly, with the added bonus that it will run pretty fast, the popularity of Javascript will diminish drastically.
- steveklabnik 9y agoYour second sentence is pretty demonstrably false.
- panic 9y agoYep. C lives on because it's the language of Unix. JavaScript will live on because it's the language of the Web. It has nothing to do with the language itself -- it's the platform you have access to through it.
- tim333 9y agoI note looking at webassembly.org's getting started page that their hello world example is written in C. Maybe the "C of the Web" will actually be C. (http://webassembly.org/getting-started/developers-guide/ http://webassembly.org/getting-started/developers-guide/)
- steveklabnik 9y agoDue to lack of GC support, C, C++, and Rust are what you can reliably use with wasm at the moment. That integration is coming in the future, and should lead to other languages working well too.
- kibwen 9y agoThe ability to compile C code to WASM will be invaluable for porting well-used C libraries to the web, but given that the goal of WASM is to define a ("more-or-less") language-agnostic bytecode, I see little reason why people would prefer to use C when they could continue using Javascript, or, eventually, whatever the 40-years-from-now equivalent of Python is. (Of course, you'll always be able to use C if you do want to, so it's not like it's ever going to risk vanishing.)
- krapp 9y ago> I see little reason why people would continue using C when they could continue using Javascript, or, eventually, whatever the 40-years-from-now equivalent of Python is. People will use C or Python or whatever on the web for the same reasons so many people transpile to javascript today, including that they simply don't like javascript and would rather write code in a language they prefer.
- kibwen 9y agoIndeed, but, as much as I admire Typescript, the vast majority of people aren't transpiling anything to Javascript. The grandfather comment was concerned with whether the future "C of the web" would literally be C, but I don't see how the introduction of WASM will start convincing the majority of people to start shipping webapps written in C. C is useful today as a low-level lingua franca, but on the web WASM will be the lingua franca, by definition, and C will be competing with many other languages that compile to WASM.
- zeveb 9y ago> I think the obvious candidate is JavaScript. You're probably right, but egad, JavaScript is an even worse language than C. It's like jumping from the frying pan into the fire. At least it's garbage-collected.
- empath75 9y agoI think the redox OS has shown that it's not so hard to build a new OS in rust. I suspect that it won't be long before people are using redox in production (another year or so?). Once there's a viable competitor for linux, perhaps C won't be seen as the default language for system programming any more.
- lossolo 9y ago> I suspect that it won't be long before people are using redox in production (another year or so?) This not realistic. No one serious/big will use it in production for the next 10 years easily. There is no certainty that it will be mainstream OS ever in the future. You will see thousands of problems next year in production that was not seen in testing today. Linux has millions of users and millions of use cases and edge cases, so many drivers written specially for it, tested and proven to work. Stability and maturity is the key for OS today. No one will trade that for some unproven hobbyist OS project.