Pike (programovací jazyk) - Pike (programming language) - Wikipedia
![]() | tento článek je napsán jako manuál nebo průvodce.Březen 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Paradigma | Multi-paradigma: objektově orientovaný, funkční, procesní |
---|---|
Navrhl | Fredrik Hübinette |
Vývojář | Vývojový tým Pike podporovaný divizí Software and Systems na Katedře počítačové a informační vědy (IDA) na Linköping University |
Poprvé se objevil | 1994 |
Stabilní uvolnění | 8.0.702 / 1. listopadu 2018 |
Psací disciplína | Statický, dynamický, manifest |
OS | Žádný Unixový, Okna |
Licence | GPL /LGPL /MPL |
webová stránka | štika![]() |
Hlavní, důležitý implementace | |
Štika | |
Ovlivněno | |
LPC, C, C ++ |
Štika je interpretován, univerzální, vysoká úroveň, napříč platformami, dynamický programovací jazyk, se syntaxí podobnou syntaxi C. Na rozdíl od mnoha jiných dynamických jazyků je Pike zadáván staticky i dynamicky a vyžaduje explicitní definice typů. Je vybaven systémem flexibilního typu, který umožňuje rychlý vývoj a flexibilní kód dynamicky psaných jazyků, přičemž stále poskytuje některé výhody staticky psaného jazyka.
Funkce Pike odvoz odpadu, pokročilé datové typy a prvotřídní anonymní funkce s podporou mnoha paradigmat programování, včetně objektově orientovaný, funkční a imperativní programování. Pike je svobodný software, vydané pod GPL, LGPL a MPL licence.
Dějiny
Pike má své kořeny LPC, což byl jazyk vyvinutý pro MUD. Programátoři na Lyzátor v Linköping, Švédsko, zejména Fredrik Hübinette a Per Hedbor,[1] oddělil jazyk a virtuální stroj od zbytku ovladače MUD a použil jej jako rychlý prototypovací jazyk pro různé aplikace a nazval jej LPC4.
Licence LPC neumožňovala použití ke komerčním účelům, a proto byla v roce 1994 napsána nová implementace GPL s názvem µLPC (micro LPC).
V roce 1996 byl µLPC přejmenován na Pike, aby poskytl komerčně životaschopnější název. Ačkoli se název společnosti v průběhu let měnil, společnost nyní známá jako Roxen Internet Software zaměstnávala mnoho vývojářů Pike a poskytovala prostředky pro vývoj Pike. Roxen je také název webového serveru vyvinutého společností v Pike. V roce 2002 laboratoř programovacího prostředí v Linköpingská univerzita převzal údržbu Pike od Roxena. Několik programátorů Pike si našlo cestu do kanceláře v Linköpingu Software pro operu, kde jazyk hraje ústřední roli v částech serveru / brány serveru Opera Mini aplikace.[2]
Hlavní vlastnosti syntaxe
Ahoj světe
- Vysvětlení tradice programování „Hello World“ viz Program Hello world.
int hlavní() { psát si("Ahoj světe! n"); vrátit se 0;}
Syntaxe výše vyžaduje určité vysvětlení. Ti, kteří jsou obeznámeni C nebo C ++ měl by to hned vyzvednout.
- První řádek obsahuje hlavní funkce. Toto je první funkce spuštěná při spuštění programu. "Int" před ním říká, že řada typu Celé číslo bude vrácena, když funkce skončí.
- Funkce zápisu odešle a řetězec doslovný na standardní výstupní vyrovnávací paměť, což je ve většině případů a rozhraní příkazového řádku.
- Třetí řádek vrací číslo volajícímu funkce, v tomto případě rozhraní příkazového řádku kde nula obvykle znamená program provedený bez chyby.
- Kudrnaté závorky obklopují funkci a středník odděluje příkazy (tj funkce mohlo být napsáno na jeden řádek:
)int hlavní(){psát si("Ahoj světe! n");vrátit se 0;}
- „ N“ po „Hello world!“ je nový řádek charakter.
Typy dat
Následující seznam ukazuje všechny standardní datové typy, které Pike poskytuje. V modulu ADT, který je součástí Pike, jsou k dispozici pokročilé datové typy, jako jsou sekvence, fronty, hromady, hromádky atd.
Základní datové typy:
- int
- plovák
- tětiva
Typy kontejnerů:
- pole
- mapování
- multiset
Jiné typy:
- program (kompilovaná reprezentace třídy)
- objekt (instance třídy)
- funkce
Pike vyžaduje explicitní definice typů pro všechny proměnné. Tyto informace používá k hlášení chyb typu v době kompilace. Následující kód způsobí chybu kompilace, protože hodnota proměnné „number“ musí být celé číslo, ale kód se jí pokouší přiřadit plovoucí desetinnou čárku a hodnoty řetězce.
int číslo; // celočíselná proměnná, přijímá pouze celá číslačíslo = 5.5; // 5,5 je hodnota s plovoucí desetinnou čárkou, chybačíslo = "5"; // „5“ je řetězec, nikoli celočíselná hodnota 5, chyba
Tento druh chování je tradičně považován za omezující a omezující navrhovateli dynamicky psaných jazyků. Na rozdíl od C, C ++ a Java však Pike používá pružnější systém typů - konkrétně systém označil odbory. Systém umožňuje programátorům deklarovat proměnné, které mohou obsahovat hodnoty více typů, což je ve většině jazyků rodiny C nemožné, aniž by se odchýlilo od hranic bezpečné použití.
Následující příklad ukazuje proměnnou, která může obsahovat celé číslo nebo číslo s plovoucí desetinnou čárkou.
int|plovák číslo; // celé číslo NEBO plovoucí proměnnáčíslo = 5; // toto je legálníčíslo = 5.5; // to je také legální
Protože proměnnou lze deklarovat jako uchovávající mnoho různých datových typů, jsou k dispozici funkce k určení, jaký typ dat je aktuálně uložen. Tyto funkce jsou všechny ve formě typenamep, jako například intp, floatp, stringp atd.
int|plovák číslo;číslo = 5;intp(číslo); // vrací true, protože číslo obsahuje intfloatp(číslo); // vrátí hodnotu falsečíslo = 5.5;floatp(číslo); // vrací true, protože číslo nyní obsahuje float
Kromě toho existuje speciální „smíšený“ datový typ. Tato definice umožňuje proměnné uchovávat jakýkoli druh datového typu.
smíšený cokoliv;cokoliv = 5; // cokoli je nyní celočíselná hodnota 5cokoliv = 5.5; // cokoli je nyní float hodnota 5.5cokoliv = "5"; // cokoli je nyní hodnota řetězce „5“
Aby bylo možné převést hodnotu z jednoho typu na jiný, může Pike použít explicitní obsazení:
smíšený cokoliv;cokoliv = (int)5.5; // cokoli je nyní celočíselná hodnota 5cokoliv = (tětiva)cokoliv; // cokoli je nyní hodnota řetězce „5“
Viz také
Reference
- ^ "Historie štiky".
- ^ Lextrait, Vincent (leden 2010). „Programovací jazyky Beacon, v10.0“. Archivovány od originál dne 30. května 2012. Citováno 14. března 2010.