211service.com
„Twitter“ augimo paslaptis
Prie Web 2.0 Expo Šiandien San Franciske „Twitter“ atstovas Alexas Payne'as aptarė technines programavimo kalbos detales, kurios, jo manymu, gali padėti jo įmonei susidoroti su per pastaruosius kelerius metus patirtu srauto padidėjimu. Bendrovė palieka programavimo kalbą, kuri praeityje jai sukėlė daug skausmo, o vietoj jos naudojasi nauja ir šiek tiek neaiškia kalba, vadinama Scala.
Šiek tiek informacijos: „Twitter“, paslauga, leidžianti žmonėms skelbti 140 simbolių žinutes draugams ir visuomenei, buvo paleista 2006 m., o dabar joje yra maždaug aštuoni milijonai unikalių vartotojų. Kai asmuo paskelbia trumpą žinutę „Twitter“, paslauga paskelbia ją žiniatinklyje ir išsiunčia į žmonių mobiliuosius telefonus ir „Twitter“ programinės įrangos programas. Koncepcija paprasta, tačiau po gaubtu technologija yra sudėtingesnė.
Populiari žiniatinklio programavimo kalba Ruby on Rails yra atsakinga už „Twitter“ ir daugelio kitų svetainių vartotojo sąsajos išvaizdą. Kadangi vartotojo sąsaja, žinoma kaip priekinė dalis, rėmėsi „Ruby“, buvo prasminga naudoti „Ruby“ galinėms operacijoms, pvz., pranešimų eilėms sudaryti. Tačiau „Twitter“ populiarumui augant, „Ruby“ sukurtas galinis modulis negalėjo susidoroti su jai pasirodžiusių pranešimų srautu – tai situacija, dėl kurios staiga išpopuliarėjo Fail Whale , klaidos pranešimas, kurį „Twitter“ siunčia vartotojams, kai paslauga sugenda.
Taigi „Twitter“ komanda kreipėsi Kopėčios , programavimo kalba su ja ištakų darbe pagal Martinas Oderskis , profesorius prie EPFL Lozanoje, Šveicarijoje, apie 2003 m. Savo pristatymo metu Payne'as, taip pat rašantis knygą apie šią kalbą, paaiškino, kad „Scala“ turi daug kitų kalbų pranašumų, tačiau be trūkumų. Kai kurios savybės, dėl kurių „Scala“ tokia patraukli „Twitter“, yra ta, kad ji gali efektyviai apdoroti vienu metu vykstantį apdorojimą, ty atskiras instrukcijas, kurioms vienu metu reikia naudoti sistemos išteklius. Tai naudinga, kai pranešimus iš milijonų žmonių reikia nedelsiant išsiųsti į skirtingus įrenginius visame pasaulyje.
Tai taip pat lanksti programuotojams, sako Payne. Jei programuotojas nori daugiau struktūros, tada Scala siūlo struktūrą, bet jei ji nori daugiau laisvos formos programavimo, tai leidžia ir tai. Ir svarbiausia, kad Payne'ui ir „Twitter“ inžinieriams „Scala“ yra nauja, įdomi ir graži kalba, kuri leidžia komandai įsitraukti. Programuotojams dar yra vietos, kad jie prisidėtų prie kažko naujo ir šviežio kūrimo. Tai netaikoma labiau nusistovėjusioms kalboms, pvz., Java arba C++.
Payne pažymi, kad „Scala“ nėra tobula, tačiau jos pranašumai gerokai viršija trūkumus. Akivaizdžiausias trūkumas yra tai, kad jį šiek tiek sunku išmokti, nes jis turi daugybę funkcijų ir sintaksės, kurių kai kurie programuotojai gali nežinoti, sako jis. Be to, tai palyginti naujas, o tai reiškia, kad jis nepasitvirtino. Tačiau Payne'as teigia, kad jis ir „Twitter“ yra pasirengę rizikuoti, nes kalba jau veikė gerai daugelyje bandymų atvejų.
Šiuo metu „Twitter“ paslauga yra programavimo kalbų hibridas, sako Payne. Vartotojo sąsaja veikia „Ruby on Rails“, o tai puikiai tinka žmonėms, spustelėjusiems tinklalapius, sako jis. Tačiau iki metų pabaigos „Twitter“ tikisi turėti paslaugų rinkinį, kuris bus visiškai parašytas „Scala“. Bendrovė planuoja užtikrinti, kad visos trečiųjų šalių paslaugos, kurios prisijungia prie „Twitter“ per programų programavimo sąsają (API), pereitų per „Scala“ kodą, visiškai apeinant „Ruby on Rails“. Kai kalbate apie daugybę programų, kurios greitai pasiekia API, Payne'as sako: „Mes nustatėme, kad galime geriau optimizuoti dalykus... naudodami Scala“.