7 ms·
One thing that always really bugged me about the "the language will figure it out" philosophy is the complete disregard towards carbon footprint. Like yeah, yo
by CoolGuySteve 7y ago
One thing that always really bugged me about the "the language will figure it out" philosophy is the complete disregard towards carbon footprint.
Like yeah, you can make an interpreted dynamic language that's pretty neat, but you can also make something like go, swift, or Julia that jits and also captures 90% of that ease of use while significantly reducing your hosting costs/energy consumption.
Going forward I think static compiler inference will be the future of language design. Either for safety like in rust or for convenience like in swift.
And we can already see pitfalls in the interpreted world of python where the wrong implementation, like using a loop instead of numpy, can lead to devastating performance impacts. Looking forward, something like this seems as outdated as having to manage your 640k of executable space in DOS: an unreasonable design constraint caused by the legacy implications of the day.
My prediction is 10 years from now we'll look at interpreters and language VMs as relics from a simpler time when clockrates were always increasing and energy was cheap.
- guidoism 7y agoI'm actually pretty amazed at what the Javascript VM people have done in the past decade. It's way more than I ever expected. As far as the carbon footprint, well, yeah, it depends. At Google I remember a friend talking about how he cringed whenever he added more code to the pipeline that ingests the entire internet. He said that he wondered how much extra carbon was release into the atmosphere just because of his stupid code. As for numpy, we are seeing that loops are stupid and Iverson and APL were right. :-)
- bjz_ 7y ago> At Google I remember a friend talking about how he cringed whenever he added more code to the pipeline that ingests the entire internet. He said that he wondered how much extra carbon was release into the atmosphere just because of his stupid code. I wish companies were under more financial pressure to actually track and mitigate this. (hint hint, carbon taxes)
- SamReidHughes 7y agoIf you run your data centers where electricity is cheap, you're using electricity but not emitting very much carbon dioxide.
- FooHentai 7y agoNot so sure our energy problems are going to come to a head in the form of all-out energy poverty. More likely I think: the convenience of energy being instantly available at all the right times and places will diminish. Cloud spot pricing is I think one example where things that can be batched and deferred will be cheap even in a energy-decline future. This is assuming we don’t sink so far as to lose our productive capacity for energy infrastructure altogether. Depends how bull/bear you are about the whole thing I suppose. In that scenario, there’s also gonna be no market to sell whatever you’re coding to.
- novok 7y agoI think the new languages are about developer productivity, but in a different way. It allows you to make more robust software via a better typing system, or more robust multithreading via rust's borrow system. In the past, our machines couldn't handle such strict languages as well because they have a high compile time cost. In overall total effort needed to make something robust, something like rust will beat something like ruby, because the dynamic language-ists compensate via a larger test suite.
- buzzkillington 7y ago>My prediction is 10 years from now we'll look at interpreters and language VMs as relics from a simpler time when clockrates were always increasing and energy was cheap. Funnily enough someone said that exact same thing 10 years ago in that thread: >* Functional programming / dynamic languages will go out of fashion. People still using them will be judged as incompetent programmers by the people who moved on to the new fashionable programming paradigm(s). At the same time, huge corporations will embrace functional programming / dynamic languages and third world universities will start focusing on them in their courses. Wrong then wrong now.
- CoolGuySteve 7y ago> Wrong then wrong now. While pithy, that's not actually an interesting rebuttal. You should elaborate, especially since "huge corporations", namely Apple, Google, and Mozilla (I guess?), are the ones pushing Swift, Go, and Rust, respectively.
- buzzkillington 7y agoHuge corporations always push for languages which are brain dead and make developers be as fungible as possible. Unfortunately not all software has been invented yet and writing in such a language is a nightmare. So what happens is that people gravitate towards languages which are pleasant enough to work on to try new ideas in. The progressing of bash -> awk -> perl -> python happened for a reason. Hell we're even seeing people use lisp like languages unironically for the first time in decades.
- barrkel 7y agoEnabling developers of different talents and backgrounds to be productive and contribute successfully, and to scale up in number of separate teams, is a hard problem and doesn't deserve the kind of dismissiveness you give it here. More powerful languages enable talented developers to be more productive individually, but it's hard to teach all the other developers about the new and interesting abstractions that the powerful languages enable, and it's impossible to hire for them directly. This limits velocity. And it's not just huge corporations, it's any company which is trying to scale from 10 to 100 developers; where you're hiring continuously, where there are too many other developers to efficiently rely on ambient learning.
- moksly 7y agoMost setups and most hardware isn’t efficient enough for language to really matter. So the solution to carbon footprint isn’t to stop using python, it’s to stop burning coal.
- maxerickson 7y agoEnergy is gonna keep on getting cheaper.
- Too 7y agoThe sad thing about Python is that it shouldn't need to be interpreted. People don't use it for that reason. Remove one or two obscure meta-programming features that nobody uses (or shouldn't be using) and you could in principle remove GIL and make it JIT just as good as Javascript. JS really shows what's possible in this field with some benchmarks even outperforming c++. This space of expressive yet fast languages is a gap that remains to be filled and will probably be by 2030, sadly it's a bit of a chicken-and-egg situation because you don't only need a good syntax to become popular, also a healthy ecosystem around it. What we will see is probably not any new language but rather that existing languages from both sides of the spectrum converge more towards the middle ground.