Despre cît de bine e scris Android pe ici pe colo prin părțile esențiale am mai povestit odată. Atunci o făceam mai mult bazat pe miros, intuiție și analiză indirectă decît pe dovezi palpabile. Acum avem fapte mai concrete.
O echipă de băieți deștepți a avut inspirația să se joace cu sursele Android dacă tot sînt ele așa deschise. Au luat frumos grămada de surse Java puse la dispoziția poporului cu generozitate de compania de publicitate pe internet și le-au trecut printr-o sculă automată de conversie în C#. De subliniat că în urma conversiei automate rezultă cod care de departe NU e gîndit și optimizat pentru platforma țintă ci e în cel mai fericit caz compilabil și funcțional. Așadar codul C# rezultat nu e unul stelar ca și calitate, nici pe departe, dar – minune mare – compilat a dat naștere unui Android… funcțional! A rezultat un proiect de cercetare numit XobotOS, fără Java, fără Dalvik, cu unele mici părți care țin de grafică lăsate neconvertite pentru că ar fi cerut un efort prea mare pentru un simplu joc.
Echipa care a făcut întreaga manevră stă în spatele unui proiect vechi open-source, Mono, o implementare alternativă .Net.
Băieții susțin textual pe blogul lor că C# a evoluat de la a fi o alternativă ceva mai bună decît Java la ceva ce azi e ani lumină înainte. Sună rău de tot pentru Google dar Google sunt prea mari ca să nu poată absorbi orice umilință.
Tupeul tinerilor rebeli nu s-a oprit aici, curajoșii au avut interesul să vadă cum se compară mașina lor virtuală Mono cu mașina virtuală Java de la Google – Dalvik – pentru care în zilele astea Oracle îi cam plimbă pe la tribunal pe chiar Larry Page și Sergey Brin în legătura cu furăciuni de cod sursă (de unde se vede că nici să fure nu prea se pricep specialiștii de la Google).
Iată cum arată comparativ performanța Mono față de Dalvik într-un necruțător și sintetic grafic:
Cîteva teste uzuale cînd vine vorba de comparații de viteză între diferite platforme sau limbaje ne arată cît de monstruos de prost se întîmplă lucrurile la Google.
Mono rulează teste bazate pe cod cu logică elementară cu 800% (și chiar mai mult!) mai rapid decît glorioasa furăciune Java.
Cred că aici nu e vorba de un simplu și popular “mai rapid”, aici ar trebui folosită sintagma din literatura de specialitate “spală cu ei pe jos”.
Cît de penibil se simt băieții de la Google care nici să fure nu s-au prea priceput… nu am idee. Mai umilit decît să fii bătut cu peste 800% de codul tău translatat automat într-un limbaj țintă străin, e drept cu singura mică diferență că în loc de Java+Dalvik s-a pus C#+Mono…
Toate astea în condițiile în care implementarea Google e evident și conștient furată de la Sun / Oracle după cum chiar angajați Google afirmau în momentul începerii “antreprizei” Android în e-mailuri interne care au ajuns și la tribunal.
Comparativ cu Java pentru care acum juriul din proces e instruit că API-urile sunt subiect de copyright și care se vede mai sus cam cît de bine merge după ce a fost manipulat atîția ani de… cei mai perfecți specialiști mondiali ai planetei, C# și cam toată infrastructura .Net sunt standardizate ISO deci pentru ele Microsoft nu poate și a promis oficial (cu putere de contract) că nu va da niciodată pe nimeni în judecată pentru orice patent sau copyright asociate. Mai mult, pentru .Net existau medii de dezvoltare atît proprietare cît și open-source mature și de o calitate greu de contestat.
Cît de prost să fii să alegi să furi ceva atît de prost cînd puteai lua gratis… ceva atît de bun măcar comparativ vorbind? Cît de prost să fii să furi chiar cu copy / paste în cod care ști bine că va ajunge open-source deci la dispoziția celui pe care l-ai furat, cunoscut cu istoric litigios foarte încărcat?
Cum ar fi arătat graficele de performanță de mai sus dacă ar fi fost vorba să comparăm cod scris special din start pentru Mono și C# (în loc de cod gîndit pentru Java / Dalvik și convertit automat) și dacă anii petrecuți cu optimizarea Java ar fi fost investiți în calea alternativă? Foarte posibil viteza în varianta .Net era chiar dublă față de ce vedem în experimentul despre care dacă nu ar fi mai bine nu s-ar povesti. Foarte posibil pentru aceeași viteză de execuție a aplicațiilor, bateria m-ar fi ținut cîteva ore în plus.
Credeți că specialiștii de la Google au înțeles ceva din umilința ce li s-a întîmplat? Că de schimbat ceva slabe șanse.
Și încă o treabă: în Android versiunea 5/6/19, cînd tot aceiași specialiști se vor făli că au accelerat cu încă 20% nu știu ce prin implementarea lor de mașină virtuală Java, amintiți-vă că niște pasionați au putut 800% în joacă, experimental, gratuit și open-source – ah – și fără furăciuni+tribunal.