Racket - Biblioteka.sk

Upozornenie: Prezeranie týchto stránok je určené len pre návštevníkov nad 18 rokov!
Zásady ochrany osobných údajov.
Používaním tohto webu súhlasíte s uchovávaním cookies, ktoré slúžia na poskytovanie služieb, nastavenie reklám a analýzu návštevnosti. OK, súhlasím


Panta Rhei Doprava Zadarmo
...
...


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

Racket
Logo programovacieho jazyka Racket

Racket je univerzálny, multiparadigmatický programovací jazyk, založený na dialekte Lispu Scheme. Bol navrhnutý ako platforma pre vytváranie a implementáciu programovacích jazykov. Používa sa aj na skriptovanie, vzdelávanie v oblasti informatiky a výskum. Názov Racket sa používa nielen na označovanie samotného programovacieho jazyka aj na označovanie celej rodiny programovacích jazykov a nástrojov podporovaných Racketom.

Základný Racket je známy pre jeho rozšírený makro systém, ktorý povoľuje vytváranie vnorených a doménovo-špecifických jazykov, jazykových konštrukcií (triedy, moduly, …) a samostatných dialektov Racketu s rôznou sémantikou.

Ide o slobodný a otvorený softvér rozširovaný pod licenciami Apache 2.0 a MIT. Rozšírenia a balíčky, ktoré napíšu členovia komunity môžu byť nahrané do Správcu balíčkov Racketu.

Vývoj

V polovici deväťdesiatych rokov minulého storočia založil Matthias Felleisen korporáciu PLT. Najprv to bola výskumná skupina, po krátkom čase sa z nej však stal projekt orientovaný na vytváranie pedagogických materiálov (ako lekcie, úlohy, projekty, softvér,…) pre začínajúcich programátorov.

V januári 1995 sa skupina rozhodla vyvinúť vzdelávacie programovacie prostredie založené na Scheme. Matthew Flatt z libscheme, wxWidgets a niekoľkých ďalších voľných systémov spravil nahrubo prvú verziu MrEd, originálneho virtuálneho stroja pre Racket.

Počas nasledujúcich rokov, tím zložený z Flatta, Robbyho Findlera, Shrirama Krishnamurthiho, Cormaca Flanagana a ďalších vytvorili programovacie prostredie pre začínajúcich programátorov v Scheme a výskumné prostredie pre soft typing nazvané DrScheme. Hlavný vývojový jazyk, ktorý tento DrScheme podporoval sa nazýval PLT Scheme.

Tím medzitým začal organizovať workshopy pre stredoškolských učiteľov a začali ich učiť funkčné programovanie a navrhovať programy. Terénne testy s učiteľmi a ich študentmi im poskytli základné indície ako smerovať vývoj. Počas ďalších rokov pridalo PLT mnoho ďalších inovácií do DrScheme, vytvárajúc z neho kvalitné prostredie pre pegogické vytváranie programov. Napísali a vydali aj ich prvú učebnicu “Ako navrhovať programy”.

Vyšlo aj “The Racket Manifesto”, ktoré popisuje motívaciu, ktorá viedla k vývoju Racketu, vyhodnocuje ho a opisuje možnosti budúcich vylepšení.

Programovacie prostredie

Jazyková platforma poskytuje self-hosted IDE nazvané DrRacket, webový server, grafické používateľské rozhranie a ďalšie nástroje. Keďže ide o skriptovací nástroj s knižnicami, môže byť použitý aj na skriptovanie unixového shellu. Dokáže parsovať argumenty z príkazového riadka a spracovať externé nástroje.

DrRacket IDE

DrRacket (pôvodne DrScheme) sa používa najmä v úvodných informatických kurzoch, ktoré učia Scheme alebo Racket. Je obľúbený najmä pre jeho jednoduchosť a atraktivitu pre programátorov - začiatočníkov. IDE bolo pôvodne vytvorené na použitie s TeachScheme! projektom (teraz už ProgramByDesign), čo bol projekt niekoľkých univerzít na vzbudenie záujmu o štúdium iinformatika u stredoškolákov.

Editor poskytuje zvýrazňujúcu sa syntax a run-time chyby, párovanie zátvoriek, debugger a algebraický stepper. Jednou z jeho pre študentov priateľských vlastností je, že obsahuje podporu na niekoľkých “jazykových levelov”, teda študent začiatočník, pokročilý študent a pod. Ďalej má integrovanú podporu knižníc a sofistikované nástroje na analýzu pre pokročilejších programátorov. Naviac, modulovo-orientované programovanie je podporované modulovým prehliadačom, podporov refaktorovania a ďalšími vylepšeniami. Poskytuje integrovaný, kontextovo-senzitívny prístup k širokému hyperlinkovanému pomocnému systému nazvanému “Help Desk”.

Je k dispozícii pre Windows, MacOS, Unix a Linux.

Aplikácie a praktické využitie

Racket bol navrhnutý ako jazyk so všeobecným využitím na vytváranie systémov. Teda distributívna verzia Racketu obsahuje rozsiahlu knižnicu, ktorá pokrýva systémy a sieťové programovanie, web development, jednotné prostredie k podliehajúcemu operačnému systému, dynamické prostredie pre cudzie funkcie (foreign function interface), niekoľko rôznych typov regulárnych výrazov, lexikálne a parsovacie generátory, logické programovanie a úplný framework pre grafické používateľské rozhranie.

Racket má aj rôzne vlastnosti praktické pre komerčný jazyk, napríklad schopnosť kompilovať samostatné spustiteľné súbory pod operačnými systémmi Windows, MacOS a Unix, unit testing framework a profiler a debugger obsiahnuté v integrovanom vývojovom prostredí (IDE).

Využíva ho niekoľko komerčných projektov a webových aplikácií. Napríklad stránka Hacker News beží na Arcu, ktorý bol vytvorený v Rackete a Naughty dog ho využíva ako skriptovací jazyk v niekoľkých videohrách.

Používa sa aj na výučbu algebry pre študentov cez herný dizajn v Bootstrap programe.

Ukážka kódu

Takto vyzerá triviálny hello world program:

#lang racket
"Hello, World!"

Zbehnutím tohto programu dostaneme výstup:

Hello, World!

Tu je trochu menej triviálny program, ktorým získame Serpinského trojuholník s hĺbkou 8:

Výstup tohto programu v DrRacket
#lang racket
(require 2htdp/image)

(let sierpinski ()
  (if (zero? n)
    (triangle 2 'solid 'red)
    (let ()
      (freeze (above t (beside t t))))))

Používaním #lang príkazu zdrojový kód môže byť napísaný v rôznych dialektoch. Tu je ukážka programu pre faktoriál napísanom v Typed Racket, ktorý je staticky typovaný:

#lang typed/racket

(: fact (Integer -> Integer))
(define (fact n)
  (if (zero? n) 1 (* n (fact (- n 1)))))

Webové odkazy

Zdroje

Tento článok je čiastočný alebo úplný preklad článku Racket (programming language) na anglickej Wikipédii.

Zdroj:
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.
Zdroj: Wikipedia.org - čítajte viac o Racket

Podporte znalostnú spoločnosť na Slovensku...
čítajte viac na tomto odkaze: Programovacie jazyky





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.

Your browser doesn’t support the object tag.

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