A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Qore | |
Druh | viacparadigmový, interpretovaný, imperatívny, objektovo orientovaný |
---|---|
Tvorca | David Nichols |
Používané prípony | .q , .qm , .qtest |
Qore je interpretovaný, vysoko-úrovňový, univerzálne použiteľný, dynamický programovací jazyk používajúci garbage collector a ponúkajúci podporu pre code embedding, sandboxing, s voliteľným silným typovaním a dôrazom na natívnu podporu viacvláknového programovania a SMP škálovateľnosť.
Qore je unikátny vďaka tomu, že ide o interpretovaný skriptovací jazyk s natívnou podporou pre viac vlákien (teda môže v tej istej chvíli bežať viacero častí kódu súčasne) a tiež preto, že ponúka automatickú správu pamäte (programátori nemusia explicitne prideľovať a uvoľňovať pamäť). Okrem toho podporuje RAII idióm s deštruktormi pre blokovú správu zdrojov a "výnimkovo bezpečné" programovanie.[1] To je umožnené jedinečnou implementáciou Qore Garbage Collectoru, ktorý je schopný zbierať zdroje dopytovo.[2]
Qore skripty
Qore skripty majú spravidla nasledovné koncovky:
.q
: Qore skripty.qm
: Qore užívateľské moduly.qtest
: Qore testové skripty
Spustiteľné Qore skripty pre Unixové operačné systémy typicky začínajú tzv. "hashbangom" na určenie interpreteru:
#!/usr/bin/env qore
Syntax
Syntax Qore je podobná a inšpirovaná syntaxou nasledujúcich jazykov:[3]
- Perl: bez
%new-style
je Qore syntax veľmi podobná Perl,foreach
výraz,splice
,push
,pop
achomp
operátory, Perl5 kompatibilné regulárne výrazy a iné - Java: s
%new-style
sa Qore viac podobá na Javu,[4] kľúčové slovosynchronized
,instanceof
operátor a implementácia objektov a tried - C++: viacnásobná dedičnosť, spracovanie výnimiek, statické metódy, abstraktné metódy
- D:
on_exit
,on_success
,on_error
výrazy poskytujú výnimkovú funkcionalitu podobnú v D používanýchscope(exit)
ascope(failure)
, umožňujúcu umiestnenie kódu ošetrujúceho výnimku vedľa kódu, ktorý ju vyvolal - Haskell:
map
,foldl
,foldr
aselect
operátory
Dátové typy
Základné typy sú: boolean
, string
, integer
, float
, date
, binary
,[5] list
, hash
(slovník / asociatívne pole), object
[6] a code
pre kód použitý ako dátový typ.[7]
Viacvláknové programovanie
Napriek tomu, že je Qore interpretovaný jazyk, bol vytvorený s podporou viacerých vlákien ako základným dizajnovým princípom. Všetky časti Qore sú vláknovo bezpečné a vo všeobecnosti bol jazyk navrhovaný s prihliadnutím na SMP škálovateľnosť. Z tohto dôvodu Qore programy a skripty nemusia byť obmedzované na podmnožinu Qore funkcionality a taktiež je to dôvod, prečo v Qore neexistuje globálny interpreterový zámok.[8]
Vláknová funkcionalita je v Qore poskytovaná POSIX knižnicou operačného systému.
Garbage Collection
Qore ponúka jedinečný prístup v súvislosti s garbage collectorom, tzv. "prompt collection"[2], ktorý dovoľuje spúšťať deštruktory objektov okamžite po tom, ako sa tieto ocitnú mimo pôsobnosti a to aj v prípade, že držia rekurzívne referencie na seba samých. To umožňuje Qore podporovať RAII idióm a tiež vykonávanie automatickej správy pamäte.
Podpora code embeddingu a sandboxingu
Qore bol navrhnutý tak, aby v aplikáciách podporoval code embedding a sandboxovú logiku. To platí ako v prípade aplikácií napísaných v Qore, tak aj pri aplikáciách používajúcich C++ API z Qore verejnej knižnice. Použitím Program
triedy, ktorá reprezentuje logický kontajner so sandboxovým ovládaním, diskrétne objekty obsahujúce embedded code, ktoré môžu byť vytvárané a ničené za behu, na rozšírenie alebo pozmenenie aplikácie používateľom.[9]
Runtime knižnica
Štandardná Qore runtime knižnica podporuje mapovanie dát, API pre komunikáciu s databázami (vrátane vysoko-úrovňových API pre SQL operácie, správu schém a DBA akcie), klientské API a implementácie serverových infraštruktúr pre mnoho protokolov ako HTTP, REST, WebSocket, RPC protokoly a veľa protokolov na formátovanie súborov a na transfer súborov a dát.[10]
Testovanie
Qore podporuje testovanie prostredníctvom QUnit modulu ktorý zaobstaráva automatické testovanie a nepretržité integračné procesy pre kód napísaný v Qore.
Dostupnosť
Qore Git repozitár je na GitHube. Binárne balíky sú dostupné ako RPM, v MacPorts a vo FreeBSD Ports ako aj pre iné operačné systémy, vrátane Microsoft Windows. Viď General Source and Download Info na Qore wiki pre viac informácií.
Referencie
- ↑ Why use Qore? . Qore.org, 2016-06-13, . Dostupné online.
- ↑ a b Prompt Collection . Qore.org, 2016-06-14, . Dostupné online.
- ↑ qore/ABOUT at develop · qorelanguage/qore · GitHub . . Dostupné online.
- ↑ Qore Programming Language Reference Manual: Parse Directives . . Dostupné online.
- ↑ Qore Programming Language Reference Manual: Basic Data Types . Qore.org, . Dostupné online.
- ↑ Qore Programming Language Reference Manual: Container Data Types . . Dostupné online.
- ↑ Qore Programming Language Reference Manual: Code Data Types . . Dostupné online.
- ↑ Qore Programming Language Reference Manual: Threading online. Cit. 2016-08-10. Dostupné online.
- ↑ Qore Programming Language Reference Manual: Qore::Program Class Reference online. Qore.org, cit. 2016-11-04. Dostupné online.
- ↑ Modules · qorelanguage/qore Wiki · GitHub online. 2016-06-12, cit. 2016-11-04. Dostupné online.
Externé odkazyupraviť | upraviť zdroj
- Oficiálna stránka
- Qore Wiki (github.com)
- Qore for the Perl Programmer (houston.pm.org)
- openSUSE (software.opensuse.org)
- NetBSD (ftp.netbsd.org)
- FreeBSD (portsmon.freebsd.org)
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antropológia
Aplikované vedy
Bibliometria
Dejiny vedy
Encyklopédie
Filozofia vedy
Forenzné vedy
Humanitné vedy
Knižničná veda
Kryogenika
Kryptológia
Kulturológia
Literárna veda
Medzidisciplinárne oblasti
Metódy kvantitatívnej analýzy
Metavedy
Metodika
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk