211service.com
Twitter izaugsmes noslēpums
Pie Web 2.0 Expo Šodien Sanfrancisko Twitter pārstāvis Alekss Peins apsprieda programmēšanas valodas tehniskās detaļas, kuras, viņaprāt, var palīdzēt viņa uzņēmumam tikt galā ar pēdējo gadu laikā piedzīvoto satiksmes pieaugumu. Uzņēmums atstāj aiz sevis programmēšanas valodu, kas tam iepriekš ir radījusi daudz sāpju, un tā vietā izmanto jaunu un nedaudz neskaidru valodu, ko sauc par Scala.
Dažas pamatinformācijas: Twitter — pakalpojums, kas ļauj cilvēkiem izlikt 140 rakstzīmju garus ziņojumus draugiem un sabiedrībai, tika palaists 2006. gadā, un pašlaik tiek lēsts, ka tam ir aptuveni astoņi miljoni unikālo lietotāju. Kad persona ievieto īsziņu pakalpojumā Twitter, pakalpojums ievieto to tīmeklī un nosūta uz cilvēku mobilajiem tālruņiem un Twitter lietojumprogrammām. Koncepcija ir vienkārša, taču zem pārsega tehnoloģija ir sarežģītāka.
Populārā tīmekļa programmēšanas valoda Ruby on Rails ir atbildīga par Twitter, kā arī daudzu citu vietņu lietotāja interfeisa izskatu un darbību. Tā kā lietotāja saskarne, kas pazīstama kā priekšējā daļa, balstījās uz Ruby, bija lietderīgi izmantot Ruby arī aizmugures darbībām, piemēram, ziņojumu ievietošanai rindā. Taču, pieaugot Twitter popularitātei, Ruby iebūvētā aizmugure nespēja tikt galā ar ziņojumu straumi, kas nāca ceļā — situācija, kas radīja pēkšņu popularitāti Fail Whale , kļūdas ziņojums, ko Twitter nosūta lietotājiem ikreiz, kad pakalpojums avarē.
Tāpēc Twitter komanda vērsās pie Kāpnes , programmēšanas valoda ar tās izcelsme darbā ar Mārtiņš Oderskis , profesors plkst EPFL Lozannā, Šveicē, ap 2003. gadu. Savas prezentācijas laikā Peins, kurš arī raksta grāmatu par šo valodu, paskaidroja, ka Scala piedāvā daudzas citas valodas priekšrocības, taču bez trūkumiem. Dažas no īpašībām, kas padara Scala tik pievilcīgu Twitter, ir tā, ka tā spēj efektīvi apstrādāt vienlaicīgu apstrādi, tas ir, atsevišķas instrukcijas, kurām vienlaikus ir jāizmanto sistēmas resursi. Tas ir noderīgi, ja ziņojumi no miljoniem cilvēku ir nekavējoties jānosūta uz dažādām ierīcēm visā pasaulē.
Tas ir arī elastīgs programmētāju lietošanai, saka Peins. Ja programmētājs vēlas vairāk struktūras, tad Scala piedāvā struktūru, bet, ja viņa vēlas vairāk brīvas formas programmēšanas, tas pieļauj arī to. Un, kas ir svarīgi, Peinam un Twitter inženieriem Scala ir jauna, aizraujoša un skaista valoda, kas nodrošina komandas iesaistīšanos. Programmētājiem joprojām ir iespēja sajust, ka viņi sniedz ieguldījumu kaut kā jauna un svaiga izstrādē. Tas neattiecas uz vairāk pazīstamām valodām, piemēram, Java vai C++.
Peins atzīmē, ka Scala nav ideāla, taču tās priekšrocības ir daudz lielākas par trūkumiem. Viņš saka, ka spilgtākais trūkums ir tas, ka to ir diezgan grūti iemācīties, jo tajā ir daudz funkciju un sintakse, ar kuru daži programmētāji var nebūt pazīstami. Turklāt tas ir salīdzinoši jauns, kas nozīmē, ka tam nav pierādītu sasniegumu. Taču Peins saka, ka viņš un Twitter ir gatavi uzņemties risku, jo valoda jau darbojās labi vairākos testa gadījumos.
Šobrīd Twitter pakalpojums ir programmēšanas valodu hibrīds, saka Peins. Viņš saka, ka lietotāja interfeiss darbojas uz Ruby on Rails, kas ir lieliski piemērots cilvēkiem, kuri klikšķina Web lapās. Bet līdz gada beigām Twitter cer, ka aizmugurē būs pakalpojumu kopums, kas pilnībā ir rakstīts Scala. Un uzņēmuma plāns ir nodrošināt, lai visi trešo pušu pakalpojumi, kas savieno ar Twitter, izmantojot lietojumprogrammu saskarni (API), tiktu caur Scala kodu, pilnībā apejot Ruby on Rails. Kad jūs runājat par daudzām programmām, kas ātri sasniedz API, Peins saka: Mēs atklājām, ka varam labāk optimizēt lietas… izmantojot Scala.