Pharo

Pharo
Logo Phara
Logo Phara
ParadigmaČistě objektový
AutorPharo rada[1]
VývojářPharo komunita
První vydání2008
Poslední verze11.0[2] (11. května 2023)
Typová kontroladynamická, duck-typing
OSmultiplatformní
LicenceMIT licence, částečně Apache License 2.0[3]
Webhttps://pharo.org
Tento článek je o programovacím jazyku. Další významy jsou uvedeny na stránce Pharo (rozcestník).

Pharo je open source implementace objektově orientovaného programovacího jazyka a prostředí Smalltalk. Pharo nabízí funkcionalitu „živého“ (live) programování, které programátorovi umožňuje za běhu manipulovat objekty, provádět update prostředí na novou verzi a také dynamickou rekompilaci kódu. „Živé“ programovací prostředí je jádrem systému a nedílnou součástí filosofie Smalltalku. Libovolný prvek prostředí je možné upravit přímo z prostředí samotného, včetně trvalé změny zdrojových kódů.

Podobně jako ostatní Smalltalk systémy, i Pharo pracuje s konceptem takzvané image - obrazu paměti, který se ukládá při vypnutí prostředí a zase načítá při jeho zapnutí. Jednotlivé programátorské úpravy tak zůstávají zachovány a vytváří kontinuální systém. Zdrojové kódy jsou uchovávany v rámci image jako skupina propojených objektů programovacího jazyka. Pharo však umí zdrojové kódy také importovat pomocí interního správce balíčků, či pomocí importu kódu ze Smalltalkovských repozitářů formátu Metacello, či v novějších verzích komponentou Iceberg i z (a do) klasických Git repozitářů.

Pharo vychází z opensource Smalltalk implementace Squeak, na rozdíl od něj se ale snaží cílit spíš na vážnější použití. Komunita je také aktivnější co do vývoje novějších verzí a publikování knih a návodů.

Reference

V tomto článku byl použit překlad textu z článku Pharo na anglické Wikipedii.

  1. Pharo rada
  2. Vydání Phara 11
  3. Pharo license information

Externí odkazy


Programovací jazyky
abecední seznam programovacích jazyků
multiparadigmatické
Ada • C++Common Lisp • D • F# • Go • Oberon • PerlPHPPythonRuby • Rust • Scala • Swift • Tcl (Tk) • Vala
strukturované (procedurální)
AWK • C • COBOLDCL • Forth • FortranLuaModula-2 / Modula-3 • Pascal • PawnPL/SQL
objektové
BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScriptObject PascalObjective-CSmalltalkVB.NET
funkcionální
Clean • Ceylon • Erlang • Haskell • J • LispWolfram Language / Mathematica • Miranda • OCamlScheme
dotazovací
LINQSPARQLSQLXQueryXSL (XSLTXSL-FOXPath)
logické
Gödel • Prolog
výukové
Baltazar • Baltík • Karel • Kodu Game Lab • Logo • Microsoft Small Basic • Petr • Scratch
ezoterické
BefungeBrainfuckHQ9+MalbolgeOok!PietWhitespace
historické
ALGOL • APL • B • BASICCPL (BCPL) • J • MUMPSPL/ISimula 67SNOBOL
další
ABAPAppleScriptColdFusionJSA • Julia • MATLAB • R • Visual Basic (VBScript) • VimscriptVisual FoxPro
skriptovací/strojový kódkompilované/interpretované • interaktivní/dávkovéWYSIWYG