Totul pare rupt dintr-un film SF.
Sa ne intoarcem putin in trecut si sa vedem pasii prin care au trecut limbajele de programare.
Initial era ASM - limbajul de asamblare, dependent de arhitectura hard si foarte greoi (La scris).
Sigur aveai in mana toata puterea masinii dar prea multe POP, PUSH … nu prea dadeau bine.
Nu era de ajuns, trebuia ceva mai mult trebuia ceva portabil independent de hard si raspunsul a fost Limbajul C.
Probabil limbajul C ramane cel mai mare pas facut in aceasta evolutie restul palind prin zorzonele si floricele.
Ce face limbajul C ? Aduce portabilitate la nivel de arhitectura si odata cu UNIX aveai practic un mod unitar de tratare a perifericelor si access la hardware.
Prima abstractizare a fost facuta, nu mai conta hard-ul conta doar sistemul de operare.
A fost de ajuns ? NU!
UNIX a palit in fata Windows si ca sa scrii un program pentru atatea sisteme de operare e prea mult.
A urmat Java, “scrie o data si ruleaza oriunde” care sigur la nivel declarativ suna bine dar cred ca a avut nevoie de 10 ani ca sa se vada rezultatele.
Totul ruleaza in masina virtuala care este dependenta de sistemul de operare dar care asigura programelor
portabilitatea de la o platforma la alta.
A fost de ajuns ? …
Odata cu explozia internetului, totul se muta in browser, browser care acum devine un sistem de operare.
Ce avem ?
Hard peste care sta Sistemul de operare si pe care sta un Browser, iar in browser avem aplicatii. Care aplicatii ?
Intrebare: In ce limbaj sa scriem acest program ?
Java, Dar avem nevoie de masina virtuala Java pe toate sistemele de operare.
Flash, Dar avem nevoie de plug-un de Flash in toate browserele.
C#, e o gluma
Si la urma urmei ce aplicatii pot scrie eu in Browser ? Nu va egala niciodata una de pe desktop! Oare ?
Hai sa vedem ce cuvinte cheie avem noi aici:
1) Hardware
2) SO Sistemul de Operare
3) Browser-ul
4) Limbajul de programare (hai sa-l impart)
4a) Limbaj de nivel inalt, strong type
4b) Limbaj de nivel jos (Un fel de cod masina in browser)
5) Access nativ la hardware din browser (DIN BROWSER! Ce tampenie mai e si asta ?)
Gata e de ajuns, sa dam cheia problemei:
1) Hardware
Telefonul mobil, PC-ul, ce importanta mai are ?
2) SO Sistemul de Operare
E Android si e bazat pe Linux
3) Browser-ul
Oricare vrei IE, Safari, Opera, Firefox dar important e ca exista un “push” si acesta este “chrome”
4) Limbajul de programare
4a) Limbaj de nivel inalt, strong type
Acesta este Java
4b) Limbaj de nivel jos
Acesta este JavaScript
Nu intelegi nimic ? E simplu, scrii programul in Java si compilezi in JavaScript, asa cum scriai in C si compilai in limbaj masina.
Asa cum era scris in Java si compilai in BiteCode.
GWT e raspunsul ( e tot de la Google)
5) Access nativ la hardware din browser
http://code.google.com/p/nativeclient/
In toata povestea asta exista un “Calcaiul lui Ahile”, ceva ce va face ca toata povestea asta sa dea roade:
Se chiama “Gears” si e un plug-in ce va face din browser ce vrea “muschiul lor” sa faca.
Toate au un nume in spate si se cheama Google.
Asta e frumos la ei au un plan pe care-l urmeaza.
Restul sunt mici bucati din puzle mai mult sau mai putin relevante.
De ce toata povestea asta ?
Simplu, pentru-ca lumea se schimba, nu mai este ce a fost si devine altceva.
E criza, dupa orice criza lumea se schimba, regulile jocului se schimba si ele.
Concluzia e simpla: Profita de oportunitatea asta.
Tica2TM