Kun ryhtyy koodaamaan sovellusta tai ohjelmaa, kielen valinta on ensimmäinen tehtävä. Se riippuu siitä, mitä halutaan tehdä, millä laitteilla koodia halutaan ajaa ja mitä itse ohjelmalta halutaan. Kehittäjän tulisi ottaa huomioon suoritusnopeus, mutta myös vaadittava muistin määrä ja suorittamiseen kuluva energia.
Peukalosäännön mukaan konekielinen ohjelma on aina nopeampi kuin tulkattava. Yleensä C:tä pidetään nopeana ja tulkattavia kieliä kuten java, Rust, Go tai C# hitaina. Portugalilainen tutkimus kuitenkin osoittaa, että tämä näkemys on liian kapea.
Javan hitaus johtuu siitä, että koodi käännetään alustariippumattomaksi tavukoodiksi, jota suoritetaan virtuaalikoneessa. Koodia käännetään lennossa ja se ladataan muistiin. Tavukoodia tulkataan käsky kerrallaan, joten vaikka kääntäjät ovat kehittyneet, java on lähtökohtaisesti hidas. Sen etuna toki on alustariippumattomuus.
Portugalilaistutkijat rankkasivat kielet käytetyn energian, nopeuden ja vaaditun muistin perusteella. Tutkimus paljasti, että nopeus ei aina tarkoita energiatehokkuutta. Tulkatut kielet, kuten C, C++, Rust ja Ada, luokiteltiin eräiksi energiatehokkaimmista kielistä.
Java on kuitenkin yksi nopeimmista ja energiatehokkaimmista oliokielistä. Tulkatut kielet, kuten Perl, Python ja Ruby, olivat todellisia energiasyöppöjä. Kuten tutkijat havaitsivat, CPU-pohjainen energiankulutus edustaa aina suurinta osaa kulutetusta energiasta.
Eri kielten vertailu energiankulutuksen, nopeuden ja vaaditun muistin suhteen.
Vertailun perusteella kielen valinta riippuu siitä, mitkä ovat kriteerit. Jos vaaditaan nopeutta ja muistia on käytössä vähän, valinta on C, Pascal, Go, Rust, C++ tai Fortran. Jos halutaan pientä energiankulutusta ja nopeutta painottava valitsee C:n, Rustin, C++:n, tai javan. Jos pieni energiankulutus ja pieni muisti ovat tärkeitä, valinta kohdistuu C:een, Pascaliin, Rustiin, C++:aan tai Fortraniin. Jos kaikki kolme kriteeriä ovat tärkeitä, kärkeen nousevat C, Pascal, Go, Rust ja C++.