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.
ABC (programming language)
Active Server Pages
Ada (programovací jazyk)
ALGOL
ALGOL 60
ALGOL 68
ALGOL W
APL (programovací jazyk)
App Inventor
AWK
BASIC (programovací jazyk)
Befunge
Brainfuck
C++
Ceylon (programovací jazyk)
COBOL
ColdFusion
C (programovací jazyk)
C Sharp
Dynamické HTML
Dynamo (programovací jazyk)
D (programovací jazyk)
Eiffel (programovací jazyk)
Fortran
Glide
Go (programovací jazyk)
Groovy
Haskell (programovací jazyk)
Imagine (programovací jazyk)
Intercal
Interface description language
Interpreter
Interpreter (programovanie)
JavaFX Script
Java (programovací jazyk)
Java ME
Jazyk symbolických inštrukcií
Karel (programovací jazyk)
Lisp
Logo (programovací jazyk)
Lua
MATLAB
Nízkoúrovňový programovací jazyk
Objective-C
Object Pascal
Pascal (programovací jazyk)
Perl
PL/SQL
Programovací jazyk
Prolog
Python (programovací jazyk)
Qore (programovací jazyk)
Ruby (programovací jazyk)
Rust (programovací jazyk)
R (programovací jazyk)
SAS (programovací jazyk)
Scheme (programovací jazyk)
Scilab
Scratch
Script-Fu
Sigma-kalkul
Simula
Smalltalk
Squeak
Structured Query Language
Swift
Unified Modeling Language
Visual Basic
Visual Basic for Applications
Zoznam programovacích jazykov
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