Limba de programare rubinică

Istoria creației și dezvoltării

Matsumoto, un fan al programării orientate pe obiecte, a visat la o limbă mai puternică decât Pearl și mai orientată spre obiect decât Python. Scopul principal al Ruby este de a crea programe simple și în același timp ușor de înțeles, în care viteza programului nu este importantă, ci timpul scurt de dezvoltare, claritatea și simplitatea sintaxei.






Limba respectă principiul "celei mai puțin surprinzătoare": programul trebuie să se comporte așa cum așteaptă programatorul. Cu toate acestea, în contextul Ruby, acest lucru înseamnă că cel puțin nu surpriza familiarizat cu limba, și în studiul său aprofundat. Matsumoto se afirmă că scopul dezvoltării a fost de a minimiza surprize atunci când se programează pentru el, dar el a fost surprins să afle după răspândirea limbii pe care gândire programatori și similar cu multe dintre principiul „cel surpriză“, a coincis cu principiul său.
De asemenea, Ruby a moștenit ideologia limbajului de programare Pearl în ceea ce privește oferirea programatorului abilității de a obține același rezultat în mai multe moduri diferite. Oamenii sunt diferiți și au nevoie de libertate de a alege pentru libertate. "Prefer să ofere mai multe moduri, dacă este posibil, dar să încurajez sau să îndrumăm utilizatorii să aleagă calea cea mai bună, dacă este posibil".
Unul dintre principalele obiective de dezvoltare a fost eliberarea programatorilor de la munca de rutină pe care computerul o poate realiza mai repede și mai bine. O atenție deosebită a fost acordată, în special, activităților obișnuite de zi cu zi (procesare de text, administrare), iar pentru ele limba este stabilită în mod deosebit.
Spre deosebire de limbile orientate pe calculator, lucrând mai repede, scopul acestei dezvoltări a fost limba cea mai apropiată de om. Orice lucrare cu un computer este efectuată de oameni și de oameni, și este necesar să se acorde atenție în primul rând eforturilor oamenilor. Limbă vă permite să efectuați sarcina cât mai repede și mai simplu posibil pentru o persoană, deși, probabil, acest lucru va necesita timp suplimentar pentru computer.
Principiile de programare și de design lingvistic sunt uneori evidențiate în termenul "Ruby Way" (English Ruby Way). Hal Fulton scoate în evidență principii, cum ar fi, „principiul de puțin uimire“, „simplu, dar nu prea simplu“ program de viteză secundar, reguli stricte dinamice, simple, a căror punere în aplicare nu ajunge la pedanteria, necesitatea de a crea programe de sănătos și frumos ca un motiv de programare. În general, nu au o formulă precisă și, uneori, acest termen este folosit pentru critici.

Ruby Caracteristici

În Ruby, există multe soluții originale, rareori sau nu găsite în limbi de programare comune. Puteți adăuga metode nu numai la anumite clase, ci și la orice obiecte. De exemplu, puteți adăuga o metodă arbitrară unui șir. Acest exemplu arată, de asemenea, modul în care în Ruby puteți folosi singletonul. În acest exemplu, singleton este obiectul str.
Orice construcție din Ruby returnează o valoare. De exemplu:

containere

Lucrul cu matricea este unul din punctele forte ale Ruby. Ele redimensionează automat, pot conține orice elemente, iar limba oferă instrumente puternice pentru prelucrarea acestora.

Obiecte și iteratori de procedură

Limbajul este 2 metodă echivalentă de blocuri de înregistrare a codului: să aibă corutine utilizate cu cele mai multe metode inline: Exemplul următor arată coroutine utilizarea și iteratori pentru tablouri care prezintă concizie de înregistrare Ruby multe acțiuni destul de complexe (selectați aleatoriu o secvență de pătrate de numere „0“ până la "10" și tipăriți împreună cu indicii):







Clase, impurități, metode, supraîncărcarea operatorului

Următorul exemplu definește o clasă numită Persoană care stochează informații despre numele și vârsta unei persoane.

punerea în aplicare

Pentru Ruby, există mai multe implementări: interpretul oficial, scris în C, JRuby - Implementare pentru interpretul Java, .NET IronRuby pentru platforma (în curs de dezvoltare), Rubinius - scrisă în cea mai mare parte Ruby și bazate pe Smalltalk-80 VM.
interpret oficial portat la cele mai multe platforme, inclusiv Unix, Microsoft Windows (inclusiv Windows CE), DOS, Mac OS X, OS / 2, Amiga, BeOS, silabelor, Acorn RISC OS și altele.

Interactive Ruby

Suport IDE

Biblioteca standard

În plus față de funcțiile puternice construite în limbaj, Ruby vine cu o bibliotecă mare standard. Acest lucru este în primul rând o bibliotecă pentru a lucra cu diferite protocoale de rețea de pe partea de server și instrumente de client pentru a lucra cu diferite formate de date (XML, XSLT, YAML, PDF, RSS, CSV, WSDL). În plus față de instrumentele integrate de depanare a limbajului cu Ruby, sunt furnizate biblioteci pentru testarea și profilarea unităților. Există, de asemenea, o bibliotecă pentru a lucra cu arhive, date, codificări, tablouri, pentru administrarea sistemică, de calcul distribuit, suport multithreading, și așa mai departe. D.

În partea de sus a ierarhiei clasei Ruby.

O matrice dinamică pentru stocarea obiectelor arbitrare, indexată cu 0.

Obiectele salvează contextul execuției unei anumite secțiuni de cod (valoarea variabilelor, metodelor etc.). Acesta poate fi folosit ulterior pentru a efectua calcule în acest context.

Împachetarea în jurul C, este folosită în principal atunci când se scriu extensii.

O metodă care nu este asociată cu un anumit obiect. Poate fi legat la un obiect și numit Metodă.

expansiune

documentație

utilizarea

Koffice dezvoltă Kross, un mecanism de susținere a scenariilor, care include Ruby.
WATIR (Testarea aplicațiilor web în Ruby) este un instrument gratuit pentru testarea automată a aplicațiilor web în browser.

Dezavantaje ale limbii și ale interpretului

Deficiențele interpretului Ruby de astăzi includ următoarele:
Viteză redusă (plată naturală pentru scrierea rapidă a programelor complexe). Ruby este una dintre cele mai lente folosite în practicarea dezvoltării web a limbajelor de programare.
Lipsa suportului pentru firele sistemului de operare (pentru sistemele de operare asemănătoare cu sistemele Unix există suport pentru procesele OS), există o versiune experimentală 1.9.
Lipsa suportului built-in unicode (lucrul cu biblioteci suplimentare este posibil, există o versiune experimentală 1.9).
Absența compilării în octet. (Este posibil să compilați Ruby în Java și .NET bytecode folosind compilatorul JRuby și Ruby.NET). Versiunea experimentală 2.0 include mașina virtuală YARV, care compilează Ruby în bytecode și accelerează semnificativ execuția. În plus, alte proiecte de mașini virtuale sunt dezvoltate în paralel, inclusiv Rubinus și Maglev.

Știați că diagrama Component este o metodă de proiectare orientată pe obiecte care descrie reprezentarea fizică a sistemului. Diagrama componente vă permite să determinați arhitectura sistemului dezvoltat, stabilind dependențele dintre componente.

ȘTIRI ALE FORUMULUI
Cavalerii teoriei eterului

Despre acest lucru Kornilov a scris pe pagina sa în sotsseti.

Potrivit lui Kornilov, mesajul său a fost primit cu neîncredere.

Acum, Vladimir Kornilov a decis să se întoarcă la acest subiect, în legătură cu care se publică în fotografiile mele de pe Facebook misterioase israelienilor care au luat parte la masacrul de la Odessa.

Printre numeroasele probleme pe care Kornilov, a spus el, ar dori să primească un răspuns, de exemplu:

"De ce au mers accidental în jurul Odisei cu echipament medical, mănuși de cauciuc, de unde știau în prealabil că vor fi răniți și uciși? Sau de ce soldatul a uitat brusc limba engleză, când și-a dat seama că a fost înregistrat?

apa lacurilor, mărilor și oceanelor prin lushariya --------- nordice roti spre m Lc - p-in-k-i, iar apa din polushariya sudic - ra - conductive dizolvată -a-po-așa săgeți, -represiunea - gig-ant-ski-e-water-ovo-companii.

Principalul motiv pentru rotirea eddiilor este vântul local.
Iar cu cât este mai mare viteza vântului, cu atât este mai mare viteza de rotație a vaporilor și, în consecință, cu atât este mai mare forța centrifugă a vaporilor, crescând astfel nivelul apelor mărilor și oceanelor.
Și cu cât forța centrifugală a bazinelor este mai mică, cu atât nivelul apei și oceanelor este mai scăzut.

Viteza curenților de-a lungul perimetrului mărilor și oceanelor nu este aceeași peste tot și depinde de adâncimea coastei. În partea superficială a mării, viteza curenților crește, iar în apele adânci ale mării scade.
fluctuațiile sezoniere ale nivelului apei ceas-tsya nu în jurul valorii de coasta mărilor și oceanelor-s, dar numai în acele coaste unde -mare viteza unghiulară a fluxurilor și a forței centrifuge, prin urmare, de mare a apei. (Forța centrifugă F = v / r).
Pe coastele rectilinii, unde curenții nu au viteză unghiulară, nivelul apei nu crește.







Articole similare

Trimiteți-le prietenilor: