Which Programming Languages Use the Least Electricity? (2018)
Couple points (I've worked on app servers):<p>1- This is exactly how we should all be thinking about server engineering moving forward, as we aim to drastically reduce carbon footprint within 11 years. Efficiencies at the language level are one of biggest bangs for buck here. Just by redeploying, you can reduce energy consumption by perhaps double digits. Imagine how hard that is to do at the hardware or energy farm level.<p>Think about it: You, brave software engineer, can literally make a significant contribution to <i>saving the world</i> by adopting a more energy-efficient language, if you are fortunate enough to deploy something at scale.<p>2- Rust is killing it in these metrics but developer productivity / friendliness is important to overall success. Looking at these results I have a conjecture that is maybe provocative: The top two candidates for long-term success at supplanting Java on the server in my eyes are<p>a) Go<p>b) brace yourself.. Swift<p>Swift is extremely young on the server, to the point where I'd expect your natural reaction to be "WTFLOL?! never heard of it". But here's some food for thought: the Netty team, one of the top performing Java server stacks, has been recruited by Apple and is chewing through all that stuff and <i>just</i> launched their NIO2 release[1] which I've heard is already very close to Netty.<p>Go has an amazing concurrent garbage collector and has really pushed the envelope with that.[2] Swift is unique in the server world in that it uses reference counting which sidesteps the whole GC collection problem, which could translate into very low, very consistent latencies as well as memory usage. It's still quite early days for Swift, but these are the two languages I'm watching the closest.<p>[1] <a href="https://forums.swift.org/c/server" rel="nofollow">https://forums.swift.org/c/server</a><p>[2] <a href="https://blog.golang.org/ismmkeynote" rel="nofollow">https://blog.golang.org/ismmkeynote</a>