Programmeringsspråk: Java-grundaren James Gosling avslöjar mer om Java och Android

, Author

Programmeringsspråkens popularitet: Python slår Java och Rust fortsätter att klättra

James Gosling, fadern till Java, ett av världens mest använda programmeringsspråk, har talat med forskaren Lex Fridman om Javas ursprung och hans motiv för att skapa ett språk som skulle användas på tiotals miljarder enheter och bli centralt för utvecklingen av Android hos Google.

Gosling utformade Java för 25 år sedan när han arbetade på Sun Microsystems. År 2009 skulle Java bli en av de viktigaste orsakerna till att Oracle förvärvade Sun. Enligt Oracle finns det i dag 51 miljarder aktiva virtuella Java-maskiner (JVM) i världen.

Men långt före Oracles förvärv av Sun sade Gosling att han och ett team på Sun ”oroade sig för att det pågick saker i datoruniversumet som datorindustrin missade” – det som skulle bli dagens sakernas internet.

SEE: Hiring Kit: Det handlade om vad som hände när det gällde datorhårdvara, processorer och nätverk som låg utanför dataindustrin”, säger han.

”Det var allt från de tidiga glimtarna av mobiltelefoner som fanns då till – du tittar på hissar och lokomotiv och processkontrollsystem i fabriker och alla typer av ljud- och videoutrustning.

”Alla hade processorer i sig, alla gjorde saker med dem och det kändes som om det var något som pågick där som vi behövde förstå.”

I det skedet ägde C och C++ ”absolut universum” och allt skrevs i dessa språk.

Gosling säger att hans team gjorde flera ”episka bilresor” runt 1990 för att besöka Toshiba, Sharp, Mitsubishi och Sony i Japan, Samsung och flera andra sydkoreanska företag, och åkte ”över hela Europa” för att besöka företag som Philips, Siemens och Thomson.

”En av de saker som föll ut var att de gjorde alla de vanliga datorsakerna som folk hade gjort 20 år tidigare”, minns han.

”De uppfann datornätverk på nytt och de gjorde alla de misstag som folk inom datorindustrin hade gjort.

”Eftersom jag har arbetat mycket inom nätverksområdet kunde vi besöka företag X som beskrev den här nätverksgrejen som de höll på med, och utan att veta någonting kunde jag berätta för dem att 25 saker skulle bli en fullständig katastrof.”

Att upptäcka att branschen utanför den traditionella datorvärlden nu upprepade tidigare misstag var en av de viktigaste anledningarna till att Gosling och hans kollegor trodde att de kunde erbjuda något användbart i Java.

Hur som helst insåg han också att konsumentelektronikindustrin och datorindustrin hade en mycket olika syn på kunderna, vilket bidrog till att informera om hur han skulle utforma Java.

”Högt på listan stod att de betraktade sitt förhållande till kunden som heligt. De var aldrig någonsin villiga att göra avkall på säkerheten. En av de saker som alltid gjorde mig nervös i dataindustrin var att folk var villiga att göra avkall på tillförlitligheten för att få prestanda”, säger Gosling.

”Bara att komma fram till … hur man kan se till att om man lägger en rostat bröd i brödrosten så kommer den inte att döda kunden. Den kommer inte att brinna upp och bränna ner huset”, tillade han.

Efter dessa bilresor byggde Gosling och företaget en prototyp av ett kontrollsystem i C- och C++-kod för hemelektronikvaror, t.ex. en TV och videobandspelare. Säkerheten var en viktig aspekt i hans mål för det som skulle bli Java.

”I början av 1990-talet var man väl medveten om att den främsta källan till säkerhetsbrister bara var pekare, bara buggar, 50-60-70 procent var buggar och den stora majoriteten av dem var buffertöverflöden. Vi måste se till att detta inte kan hända. Och det var det som var det ursprungliga för mig: ”Det här kan inte fortsätta”.”

Men tidigare i år läste Gosling en nyhetsrapport om att Chromium-teamet hade upptäckt att 70 procent av säkerhetsfelen i Chrome-kodbasen var minneshanterings- och säkerhetsfel.

”Chrome är som en gigantisk bit C++-kod. Och 60-70 procent av alla säkerhetsbrister var dumma pekartrick. Och jag tänkte att det är 30 år senare och vi är fortfarande där”, säger Gosling.

Ovanför säkerhetsöverväganden för Java ville han säkerställa ”utvecklarens snabbhet”.

”Jag blev riktigt religiös när det gällde detta eftersom jag hade tillbringat en orimligt stor del av mitt liv med att jaga mystiska pekarfel. De mystiska pekarfel brukar vara de svåraste att hitta eftersom … de som skadar är en chans på en miljon”, konstaterar han.

”När du gör en miljard operationer per sekund betyder det att det kommer att hända. Jag blev religiös när det gäller att om något misslyckas händer det omedelbart och synligt. En av de saker som var en verklig attraktion för Java för många utvecklingsavdelningar var att vi vet att vi får igång vår kod dubbelt så snabbt.”

Se: Stephen Hawking hade fel om att artificiell intelligens skulle döda människor (säger robot)

Objektsorienterad programmering var också ett viktigt koncept för Java, enligt Gosling.

”En av de saker man får ut av objektorienterad programmering är en strikt metodik om vilka gränssnitt som finns mellan saker och ting och att man verkligen är tydlig med hur delar förhåller sig till varandra.”

Detta hjälper till att hantera situationer när en utvecklare försöker ”smyga runt på sidan” och bryter kod för en annan användare.

Han medger att han gjorde vissa människor upprörda genom att hindra utvecklare från att använda bakdörrar. Det var en ”social ingenjörsgrej”, men säger att folk upptäckte att begränsningen gjorde skillnad när man byggde stora, komplexa programvaror med många bidragsgivare i flera organisationer. Det gav dessa team klarhet om hur dessa saker struktureras och ”räddar ditt liv”.

Han gav en kortfattad kritik av den tidigare Android-chefen Andy Rubins hantering av Java i utvecklingen av Android. Gosling hade 2011 en kortare tid på Google efter Oracles förvärv av Sun. Oracles stämning mot Google om dess användning av Javas API:er är fortfarande inte helt avgjord efter ett decennium av domstolsförhandlingar.

”Jag är glad att det blev så”, sade Gosling och hänvisade till sin användning av Java i Android. ”Java hade körts på mobiltelefoner i ganska många år och det fungerade riktigt, riktigt bra. Det fanns saker om hur de gjorde det, i synnerhet olika sätt som de liksom bröt mot alla slags kontrakt.”

”Killen som ledde det, Andy Rubin, gick över många gränser. Det var gränser som överskreds och som sedan dess har vuxit upp till enorma rättsfall.

”Jag började tro att det inte spelade någon roll vad Android gjorde, det skulle explodera. Jag började tänka på dem som en tillverkare av bomber.”

jamesgoslingusergroupsatgoogleyoutubeb.jpg

James Gosling: ”Folk var villiga att göra avkall på tillförlitligheten för att få prestanda.”

Bild: James Gosling/UserGroupsAtGoogle/YouTube

Lämna ett svar

Din e-postadress kommer inte publiceras.