Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Kobra- programerski jezik



the Cobra Programming Language

Zašto Kobra?

Ima dosta objekivtno- orijentisanih programskih jezika koji postoje, uključujući C #, Python i Ruby. Pa zašto da koristite ‘Cobra’? Ovaj dokument se bavi tim pitanjem.

Sada, ako želite softverske ugovore na vašem jeziku kako ih možete dobiti? Odgovor je da koristite Eiffel ili D. Šta ako želite statičke i dinamičke obavezujuće? Koristite Objective-C ili Boo. Šta ako želite izražajno i brzo kodiranje? Koristite Python, Ruby ili Smalltalk. Šta ako želite brze performanse? Koristite C #, Java, C + +, itd. Šta ako želite prvoklasnu jezičku podršku za jedinične testove? Koristite D.

Ali, šta ako želite sve njih? ... Ne možete ih dobiti! A to je frustrirajuće, jer nijedna od tih produktivnih karakteristika nisu međusobno kompatibilne. Ne treba da birate između C + + brzine, Pithonove izražajnosti i Ajfelovih ugovora. Nema teorijskog razloga da ne možete imati sve. Jednostavno ima "samo" mnogo posla potrebnog da se to desi.

Jedan od načina da se okarakteriše Cobra je pomoću ovih tačaka na visokom nivou:
  1. Brzo, ekspresivno kodiranje
  2. Brzo izvršavanje
  3. Statičko i dinamičko vezivanje
  4. Jezički nivo podrške za kvalitet
Cobra postiže 1 prateći Python i Ruby ( ali ne verski). Postiže 2 od favorizovanjem statičkog kucanja ("i = 5" znači "i" je ceo i uvek će biti) i usklađivanje .Net / Mono za mašinsko generisanje koda. Radi 3 koristeći .NET sistem kucanja za vreme kompajliranja statičkih tipova, i koristeći NET. odrazni sistem radne verzije za dinamično vezivanje. Dobija 4 iz više izvora, uključujući Eiffel, Python i sopstveno kompajliranje vremena bez praćenja.

Postoji i dodatno usavršavanje Cobre, poput tačne decimalne matematike i pružanja detaljnih izuzimanja nakon završetka.

Ono "što je novo" u Cobra, nisu pojedinačni elementi kao što su ugovori, klase, itd. To je kombinacija svega što ide u nju. Razmislite o tome šta bi se desilo ako biste kodirali u Cobri, a zatim prešli na drugi jezik:.
  • Ako ste prešli sa Cobre na Python, trebalo bi da se odreknete opcionog statičkog kucanja, ugovora, sakupljanja vremena, nula praćenja, zatvarača i više.
  • Ako se krećete od Cobre u C # , trebalo bi da se odreknete opcionog dinamičnog kucanja, ugovora, doslovne kolekcije, ekspresivne sintakse, sakupljanje vremena bez pešačenja, mešanje i više.
Imajte na umu da Kobra ima nekoliko novih elemenata, jer nikada nije trebalo da bude eksperimentalna. To je praktična sinteza već dokazanih funkcija, koje su trenutno razbacane na više jezika.

Trenutni status


Od jeseni 2012., Kobra se može ponuditi kao "late beta". Funkcije uključene:
  • OOP i prijatelji:
      • klase, interfejsi, strukture
      • metode, osobine, indexeri
      • mixinsi, produžne metode
      • generički, atributi
  • Kontrola kvaliteta:
      • ugovori, tvrdnje
      • osnovni testovi, dokimentsko vezivanje
      • kompajliranje bez praćenja
  • Izrazitosti:
      • statičko i dinamičko vezivanje
      • literalne liste, rečnici i setovi
      • implicitni operatori
      • za’ i ‘ako’ izrazi
      • odsecanje
      • interpolirano vezivanje
      • kompajliran tip zakjlučivanja
      • lambda i zatvarači
  • Opšta produktivnost:
      • vodjenje izuzetaka
      • izveštaj izuzetaka posle završetka
      • sakupljanje smeća
  • Pogodnosti instrukcija:
      • čista sintaksa
      • jedan korak ‘Run’
      • linija jakog kucanja (#!)
  • Sastavljene jezičke performanse
Ugrađeni alati uključuju:
  • Kompajler
  • Osnovni test pokretanja
  • 'Document generator’
  • Sintaksa ’highlighter’
Ostali alati kao što su ‘debuggers’ i ‘profilers’ su lako dostupni preko .NET / mono ekosistema.

Ostale napomene


Razvoj softverskog priključka za JVM je u toku i dobro bi mi došlo još volontera.

Cobra je otvorenog koda, sa popustljivom MIT licencom.

Šta je sledeće:


Da biste naučili same osnove jezika, koji će biti koristan čitajući sve ostalo, pogledajte Hello, world. (and more).
Bićete na kraju koji dovodi do sledećih linkova, ali možda ćete takođe želeti da ih proverite sada:
Postoje više detalja na language level support for quality.
Postoji detailed comparison to Python (and IronPython).
Postoje monthly updates.
A pošto Kobra povlači toliko iz drugih jezika, postoje acknowledgements .




Published (Last edited): 05-08-2012 , source: http://cobra-language.com/docs/why/