Java ja projekti Valhalla

No niin, Java on kärsinyt iät ja ajat siitä että kiitos taaksepäin yhteensopivuuden, sen ydintoimintoja ei ole voitu muutella. Tästä syytä mm. Generics piirteet ovat vähän kuin päälleliimattua laastaria, osa toimii mahtavasti, osa todella surkeasti. Mutta JDK 1.0 koodi vuodelta 1995 jauhaa edelleen Java 8:ssa. (Jatkossa muuten versiointi menossa pois JDK 1.9u80_4 tyylisestä sotkusta, pelataan taas täysin versioin eli seuraava Java ei ole JDK 1.9 vaan JDK 9)

Nyt Oracle on pistänyt aluilleen Project Valhallan – ideana on kokeilla rajumpia muutoksia jotka voivat lipua johonkin tuleviin Java versioihin tai sitten ei – ja joissa ei taata kielen syntaksin tai virtuaalikonetason toimivuuden pysymistä ennallaan. JDK 9 tuskin saa tästä maistiaisia, mutta saa nähdä mitä tulevaisuus tuokaan mukanaan. Java kuitenkin täyttää ensi vuonna pyöreitä: 20 vuotta vanha syntaksihirviö. Siitä on todella tullut uusi Cobol.

No mitä olisi luvassa? Alkuun esim. primitiivein tyypitettyjä listoja ja muitakin generic tyyppejä, tyyliin: List<int> – luvassa myös aikanaan jo Java 7:aan mietittyjä Value Type rakenteita, jotka olisivat vähän kuin käyttäjän määrittelemiä primitiivejä – funktioilla 😉

Suoraan sanoen jos lähdetään ravistelemaan perustuksia, oma toivelista olisi tässä:

– Heitetään viimeinkin hiiteen ne vanhat deprekoituneet kirjastot joita kenekään ei pitäisi käyttää. Miten olisi jos Date ja Calendar katoaisivat tyystin uuden JodaTime-pohjaisen ratkaisun tieltä. Etenkin Date. Jospa voitaisiin huitaista hiiteen Vector ja Hashtable. Ja AWT-luokat. Yhdenmukaistetaan collections-luokat ja karsitaan pois kaikki deprekoitunut moska noin niinkuin yleensäkin.

– Olisiko poikaa tuoda vähän rakkautta xml ja json syntaksille natiivina, sisäänrakennettuna tyyppinä a la Scala?

– Perintähierarkiat generics tyypeille järkevämmiksi? Tuolta löytyy huomioita mikä on vikana nykysysteemissä: http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html

– Primitiivit lopulta hiiteen – oikeasti. Antaa kääntäjän optimoida sisäisesti, mutta miksi pitää olla muita tyyppejä kuin olio?

– Tupleja kehiin – tämä on aika iisi korjaus

– Merkkijonovakioille helpompaa syntaksia myös a la scala – kuka rakastaa \”\”\”\” eskapointeja? 😉

– Actorit

No niin, noista voisi aloitella. Onneksi osa on korjattavissa 3rd party kirjastoilla, mutta enemmänkin alustan tiukentaminen alkaisi olla paikallaan 20-vuotisjuhlan kunniaksi, ja miksei Java versio 10:tä kohden suunnattaessa. Version 9 osalta näyttäisi jo toivo olevan menetetty. 😉

Lähde: http://www.infoq.com/news/2014/07/Project-Valhalla

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s