Helovīns
Ak, šīs amerikāņu brīvdienas.
Jauna Rails veidņu valoda
Haml ir super foršs un šausmīgi ērts. Mana Rails dvēsele ir piepildīta ar laimi. Kas tas?
Visas tiesības aizsargātas © Ivan???
Mūsdienās ir daudz programmēšanas valodu, kurām ir savas īpašības un modeļi. Šajā rakstā tiks apspriests viens no tiem.
Rubīna valodas vēsture
Ruby ir bijusi aptuveni kā programmēšanas valoda diezgan ilgu laiku. Darbs pie šīs šobrīd zināmās valodas izdevuma pirmo reizi sākās 1993. gadā. Pirmā oficiālā versija tika izlaista 1995. gadā. Valodas radītājs ir Yukihiro Matsumoto. Viņa entuziasms par programmēšanu tika pamanīts vēl studenta gados, bet ideja par sava instrumenta izveidi radās daudz vēlāk. Tātad, kas ir īpašs šajā programmēšanas valodā? Kas tevi padarīja tik populāru pasaules arēnā?
Ruby programmēšanas valoda ir diezgan interpretēta. Šī ir augsta līmeņa valoda ar dinamisku rakstīšanu un no izpildes vides neatkarīgu daudzpavedienu ieviešanu. Tam ir savs atkritumu savācējs. Sintakses funkciju ziņā tā ir vistuvākā Perl valodām. Plašās ekosistēmas attīstības rezultātā šī platforma ir daudz pārņēmusi no Smalltalk, Python, Lisp un citām programmēšanas valodām. Liela nozīme ir tam, ka Ruby valoda un tās ieviešana ir pilnīgi bezmaksas. No tā izriet, ka ikvienam ir iespēja ierosināt savas izmaiņas. Ja kopiena tos pieņems, tie tiks iekļauti nākamajā valodas versijā.
Rubīna filozofija
Sava prāta radīšanas procesā Matsumoto, būdams uzticīgs objektorientētas programmēšanas fans un entuziasts, kļuva par noteiktas filozofijas autoru programmētājiem, kuri izvēlas apgūt viņa valodu. Tādējādi Ruby programmēšanas valoda ir izstrādāta, lai izveidotu vienkāršas un vienkāršas lietojumprogrammas. Galvenais uzsvars tika likts uz koda vienkāršību un lasāmību, nevis programmas ātrumu. Tieši šī iemesla dēļ šī platforma bieži tiek izvēlēta kā ievades platforma, kas nepieciešama programmētāju apmācībai. Šīs valodas pamatideja ir “mazākā pārsteiguma” princips. Ko tas nozīmē?
Un tas, ka programmai ir jārīkojas tā, kā programmētājs no tās sagaida. Būtiska veidotāja ieviestās valodas ideoloģijas sastāvdaļa ir tās lielā mainīgums. Tādējādi ir iespējams sasniegt vienu un to pašu rezultātu dažādos veidos un funkcijās. Tas ļauj katram programmētājam atrisināt problēmu tā, kā viņš uzskata par pareizu no pareizības un ērtības viedokļa. Tieši tas vairumā gadījumu ir ietekmējis valodas popularitāti informācijas tehnoloģiju profesionāļu vidū.
Galvenās īpašības
Ko nozīmē Rubīns, uzskatot to par programmēšanas valodu? Pirmkārt, tā ir uz objektu orientēta valoda. Nav primitīvu tipu, jo visas struktūras un datu vienības tiek uzskatītas par objektiem. Tas to atšķir no tās pašas Java valodas, kurā ir primitīvas datu struktūras. Visas Ruby funkcijas ir metode. Lielāko daļu īpašību un iespēju autori ieviesa no citām programmēšanas valodām. Tādējādi mēs varam droši teikt, ka Ruby satur daudzu citu valodu un tehnoloģiju labākās īpašības. Piemēram, Rubīna ekosistēmai ir savs atkritumu savācējs.
Viņa ideja tika pārņemta no Smalltalk un Java. Tas spēj strādāt ar visiem sistēmas objektiem. Šis mehānisms ļauj iztīrīt atmiņu no vairs nevajadzīgiem objektiem, kas notiek lietojumprogrammas lietotājam un izstrādātājam nepamanīti. Atkritumu savācējs palīdz izstrādātājam nenovirzīt uzmanību, pārvaldot lietojumprogrammas atmiņu. Tādā veidā viņš var koncentrēt visu savu uzmanību uz funkcionalitāti un lietojamību.
Valodas paradigmas
Daži programmētāji, kuri atbildēja uz jautājumu par to, ko Ruby pārstāv kā vairāku paradigmu valodu, atradās debašu karstumā. Šī valoda ļauj vienādi veiksmīgi pielietot jebkuru no programmēšanas paradigmām. No tiem ir vērts izcelt sekojošo:
Procedūras programmēšanas stils;
uz objektu orientēta pieeja;
funkcionālā pieeja.
Izstrādātājam ir atļauts izvēlēties sev tuvāko paradigmu. Jāpatur prātā, ka tas padarīs viņa rīku komplektu ierobežotāku vai vājāku. Ruby programmēšanas valoda atbilst tikai šai izvēlei.
Slavas iemesli
Vairumā gadījumu šī valoda ir kļuvusi slavena, pateicoties vieglai dažādu tās papildinājumu izstrādei. Tādējādi ietvaru un bibliotēku skaits nepārtraukti palielinās, un uzdevumi, ko tie atrisina neatkarīgi, ļauj izstrādātājiem pēc iespējas īsākā laikā novest produktu līdz gatavam stāvoklim. Rubīna programmēšana bieži tiek saistīta ar tīmekļa aplikāciju izveidi, kā arī dažādu vietņu un interneta platformu darbības atbalstīšanu. Valoda spēja ieņemt šo nišu savas vienkāršības un attīstības ātruma dēļ. Ir vērts atzīmēt, ka alternatīvām platformām (piemēram, Java) ir nepieciešams ievērojami lielāks zināšanu un pieredzes apjoms, kas paredzēts līdzīgu problēmu risināšanai.
Slaveni ietvari
Runājot par šodien tirgū esošajiem labi zināmajiem ietvariem, starp tiem ir vērts atzīmēt Rails. Lielākā daļa lietotāju, kas atbild uz jautājumu par to, kas ir Ruby, intuitīvi domā RubyOnRails. Šis programmatūras elementu komplekts ir nozares standarts izstrādātāju vidū. Tas tiek regulāri atbalstīts, tiek nepārtraukti izstrādāts, un to papildina programmēšanas kopiena. Ir vērts atzīmēt, ka, neskatoties uz to visu, tas joprojām ir bezmaksas.
Piedāvātais ietvars spēj aprakstīt tīmekļa lietojumprogrammas komponentus MVC (Model-View-Controller) modeļa robežās. Turklāt tas ir gatavs nodrošināt gatavu integrāciju ar aplikāciju serveri, kā arī interfeisu, kas ļauj piekļūt datu bāzei. Šīs trīs sastāvdaļas ļauj burtiski dažu stundu laikā uzrakstīt un palaist vienkāršu emuāru vai privātu tīmekļa lapu internetā. Ir iespējams izveidot pat vietējās mobilās aplikācijas Ruby programmēšanas valodā. Tas tiek panākts, izmantojot RubyMotion bibliotēku. Tas var palaist Ruby kodu iOS, OS X un Android platformās. Šo bibliotēku izstrādāja privāta pārdevēju grupa. Tas nozīmē, ka par lietošanu būs jāmaksā, taču tas ir vēl viens apliecinājums valodas plašajām iespējām.
Pārbaudījumu rakstīšanas nozīme
Vēl viena svarīga Ruby valodas ekosistēmas sastāvdaļa, kā arī tās tīmeklī orientētā daļa sastāv no ietvariem un bibliotēkām, kas paredzētas testu rakstīšanai. RubyOnRails izmanto BDD (uz uzvedības virzītu attīstību) filozofiju. Tas nozīmē, ka programmētājs vispirms izstrādā testu secību, kas apraksta paredzamo programmas uzvedību. Pēc tam tiek izveidots kods, kas nepieciešams šo testu nokārtošanai. RSpec tiek uzskatīts par neizteiktu standartu šajā jomā. Tas ir ietvars, kas ļauj rakstīt testa gadījumus valodā, kuru var saprast pat nepieredzējuši lietotāji.
Rubīna dārgakmeņi
Pateicoties detalizētajam standartam, kuram ir jāatbilst Ruby pakotnēm un bibliotēkām, pievienojumprogrammu izveide ir vienkārša. Tādējādi starp dārgakmeņiem ir iespējams atrast moduļus, kas paredzēti gandrīz jebkuras problēmas risināšanai, sākot no integrācijas ar sociālajiem tīkliem un trešo pušu resursiem līdz gatavām platformām e-komercijai. Lai izmantotu trešās puses bibliotēku, pietiek aprakstīt sava projekta atkarību no konkrētas bibliotēkas, kas atrodas attālā vai vietējā repozitorijā. Turpmākās montāžas laikā šī bibliotēka tiek automātiski ielādēta lietojumprogrammā. Šis risinājums ievērojami vienkāršo projektu migrāciju starp veidotājiem, jo nav nepieciešams koplietot atkarības, lai projektu izveidotu manuāli.
Tādējādi varam secināt, ka Ruby ir jaudīga un daudzpusīga programmēšanas valoda, kas piemērota ne tikai pieredzējušiem izstrādātājiem, bet arī iesācējiem.
Ruby ir viena no jaunākajām programmēšanas valodām. Tas ir parādā savu nosaukumu dārgakmens rubīnam (pēc analoģijas ar citu plaši izmantotu Perl programmēšanas valodu - pērlēm). Lūk, kā Ruby apraksta tās radītājs, japāņu programmētājs Yukihiro Matsumoto: "Tā ir spēcīga un dinamiska atvērtā pirmkoda objektorientēta valoda, kuru es sāku izstrādāt 1993. gadā. Ruby darbojas daudzās platformās, tostarp Linux un daudzās Unix, MS implementācijās. -DOS, Windows 9x/2000/NT, BeOS un MacOS Ruby galvenais mērķis ir programmu izstrādes efektivitāte, un lietotājiem programmēšana tajā būs efektīva un pat jautra.
Japānā Ruby ievērojami izspieda tādas labi zināmas valodas kā Python un Perl (un grāmata "Ruby the Object-Oriented Scripting Language" kļuva par bestselleru) un sāka izplatīties visā pasaulē. Pēdējā gada laikā ir parādījušās trīs Rubīnam veltītas grāmatas angļu valodā (diemžēl tām vēl nav tulkojuma krievu valodā). Šai valodai ir ļoti lielas izredzes kļūt patiešām populārai – galu galā tā ir uzsūkusi citu valodu priekšrocības, ņemot vērā to nepilnības.
Ruby ir iekļauts Linux OS standarta izplatīšanā (sākot no versijas 7.2), un pirmajai iepazīšanai MS Windows lietotājiem vajadzētu ieteikt tās nedaudz novecojušo versiju, kurā papildus valodas tulkam un bibliotēkām ir arī lietotāja rokasgrāmata, FAQ (atbildes uz bieži uzdotajiem jautājumiem) un daudzi piemēri. Rubīns ir brīvi pieejams, tāpēc jums nav jāuztraucas par tā izmaksām vai lietošanas ierobežojumiem.
Šī valoda neapšaubāmi ir viena no labākajām kā pirmā programmēšanas valoda, ko studēja studenti un skolēni. Ātrais izstrādes cikls (rediģēt – palaist – rediģēt), tulka izmantošana, valodas sākotnējais objektorientētais raksturs, neierakstīti mainīgie, kuriem nav nepieciešama deklarācija – tas viss ļauj studentiem koncentrēt uzmanību uz vispārīgajiem programmēšanas principiem. . Turpmākajā prezentācijā pievērsīsimies darbam Linux OS. Ruby izmantošana citās operētājsistēmās praktiski neatšķiras, un izpildes rezultāti nav atkarīgi no izmantotās operētājsistēmas.
Vispirms pārbaudīsim, vai Ruby tulks ir instalēts sistēmā vai nav. Apvalka logā ievadiet komandu ruby -v (šim slēdzim ir jāparāda valodas versija). Ja tiek parādīts šāds ziņojums, Ruby ir instalēts (versija, datums un platforma var atšķirties):
rubīns 1.6.4 (2001-06-04)
liek "Sveika, pasaule!"
Lai palaistu šo programmu komandrindā, ievadiet
Programmas izpildes rezultātā komandu logā tiks izdrukāta nepieciešamā frāze.
Otrā programmu izpildes metode nav pieejama visu operētājsistēmu lietotājiem, kurās darbojas Ruby. Linux OS lietotājiem programmas teksta faila sākumā jāievieto šāda rinda:
#!/usr/bin/env rubīns
Viņa Obligāti jāsāk no pirmās pozīcijas. Pēc tam jums jāmaina programmas faila piekļuves tiesības, padarot to izpildāmu: chmod +x hello.rb Tagad, lai palaistu programmu, vienkārši ievadiet komandu
Lai raidījums lasītājam būtu saprotamāks, tiek ievietoti komentāri. Vienas rindiņas komentāri sākas ar # rakstzīmi un turpinās līdz rindas beigām. Daudzrindu komentāri ir ievietoti īpašās "iekavās" - viss, kas atrodas starp rindām =sākums un =beigas, tiek uzskatīts par komentāru. Piemēram,
#!/usr/bin/env ruby =sākt Šis ir komentārs = beigas liek "Sveika, pasaule!" # Šis arī ir komentārs
Rubīna programma, ko bieži sauc par skriptu, ir instrukciju (paziņojumu, teikumu) secība. Katra instrukcija pēc noklusējuma beidzas rindas beigās. Ja kāda iemesla dēļ ir nepieciešams vienā rindā ievietot vairākas instrukcijas, tad tās ir jāatdala ar simbolu; (semikols). No otras puses, dažreiz instrukcija neietilpst vienā rindā. Šajā gadījumā simbols \ norāda, ka tā turpinājums atrodas nākamajā rindā.
Piemērs
#!/usr/bin/env ruby # Instrukcija, kas beidzas rindas beigās, liek "Sveika, pasaule!" # Vairākas instrukcijas vienā rindā ievieto "Tas ir tests",; liek "demonstrē, kā darbojas Rūbija". # Nepabeigts paziņojums, # turpinājums nākamajā rindā, liek " + "programmēt Ruby ir patīkama pieredze." # Vairākās rindās sadalīts paziņojums liek \ "Un to mēs noteikti iemācīsimies!"
Instrukcija (paziņojums) visbiežāk ir priekšrakstu secība, kas tiek piemērota dažādām izteiksmēm un (iespējams) funkciju izsaukumiem.