• Technologie
  • Byznys
  • Software
  • Hardware
  • Internet
  • Telco
  • Science
  • České IT
  • Události
Žádné výsledky
Zobrazit všechny výsledky
ITBiz.cz
ITBiz.cz
Žádné výsledky
Zobrazit všechny výsledky

MPS: Vytvořte si vlastní IDE nebo programovací jazyk

ITBiz.cz
30. 10. 2017
| Články

Svět programování prochází různými změnami. Prostředí MPS umožňuje definici vlastních programovacích jazyků, inspiruje se doménově specifickými jazyky, ale jde výrazně dál. Radiálně novou podobu získává i vývojové rozhraní, které podporuje různá zobrazení i maximum struktur nad jediným kódem v podobě abstraktního stromu.
Společnost JetBrains vytváří základní komponenty pro Android Studio (IntelliJ), tedy hlavní programovací nástroj pro Android přímo od Googlu. Vedle toho firma koordinuje vývoj vlastního programovacího jazyka Kotlin a přišla rovněž s nástrojem MPS, který podle ní přináší nový přístup k samotnému programování.

Viz také: Kotlin – vycházející hvězda mezi programovacími jazyky

MPS (neboli Meta-Programming System) je na jednu stranu vývojové prostředí, ale současně funguje o úroveň výš – kromě samotného programování si v MPS může vývojář de facto vytvořit i svůj vlastní jazyk. V rámci prostředí pak dostane k dispozici inteligentní editor kódu a nástroj, který nakonec odladěný kód převádí do nějakého „standardního“ jazyka typu Javy. To je umožněno tím, že JetBrains zde může využít svou technologii IntelliJ. Z MPS lze ale generovat i kód v C, XML, FHTML, PDF, LaTeX, JavaScript a další; vývojář se proto nemusí zabývat otázkami kompilátorů/interpreterů.

Podpora pro vytvoření nového programovacího jazyka znamená, že MPS cílí na uživatele doménově specifických jazyků (DSL). Do kategorie DSL patří především jazyky zaměřené na řešení určitého problému, v rámci kterého přinášejí oproti plnohodnotným programovacím jazykům některé výhody – kód bývá snadno srozumitelný nejen pro samotné programátory a cílení na konkrétní oblast zvyšuje produktivitu vývoje (rychlost). Doménově specifické jazyky mohou být určeny jak pro speciální problémy obecných projektů (např. návrhy uživatelských rozhraní), tak i přímo na konkrétní obory, třeba návrh elektronických systémů, modelování legislativních norem, dokumentaci softwarových systémů nebo finanční služby. MPS cílí na uživatele DSL, přitom má ale ambici tyto jazyky v jejich dnes používané podobě nahradit.

Vývojář v MPS nemusí svůj jazyk vytvářet od nuly, ale může začít syntaxí nějakého již oblíbeného jazyka (obecného i DSL) a dále si ji rozšířit či jinak upravit. Různé jazyky lze rovněž kombinovat; pokud by vývojář chtěl něco takového udělat jinak a vytvořil zdrojový kód kombinací více jazyků (včetně jazyků DSL), narazí na obrovské problémy, jak vůbec taktový program převést do spustitelné podoby.

Právě schopnost snadno kombinovat jazyky, potenciálně od různých autorů, považuje společnost JetBrains za hlavní sílu MPS.

Pro libovolnou smysluplnou kombinaci jazyků umí MPS vytvořit dedikované IDE a lze tak tyto jazyky distribuovat společně s nástrojem pro jejich efektivní použití. Taková jednoúčelová IDE je možno vhodně přizpůsobit zvykům cílové skupiny uživatelů a podpořit tak účel daného doménově specifického jazyka.

Projekční editor

Klíčovou součást MPS, která dodává hlavní funkcionalitu, představuje tzv. projekční editor. Standardní vývojová prostředí (IDE) pro běžné programovací jazyky dokáží ze zdrojového kódu vytvořit abstraktní syntaktické stromy (AST), v nichž je pak vidět logika programu. Pro IDE slouží AST jako základní datová struktura pro podporu navigace v kódu, refaktorování, vyhledávání, či analýzu.

Nicméně představte si, že si vytváříte vlastní jazyk. Pro převod mezi těmito textovou podobou kódu a jeho AST reprezentací byste si museli vytvořit i svůj vlastní parser, který by nejspíš měl jen omezenou funkčnost. Díky projekčnímu editoru v MPS toto všechno odpadá, kód se ukládá rovnou a pouze v podobě „stromu“ – bez ohledu na to, v jaké podobě ho vývojář edituje. Není třeba tvořit žádný parser ani při vytváření stromu kontrolovat syntaktickou korektnost. Základní prvky stromu, tj. uzly, jejich vlastnosti, potomci a odkazy mezi nimi, plně popisují kód a umožňují generovat výstup v cílovém jazyce.

To, že není nutné kód parsovat z textové podoby, výrazně zvyšuje bohatství struktur, které lze využívat při návrhu jazyka i samotném vývoji. Kromě vlastní programovací „gramatiky“ mohou být součástí kódu stejně dobře tabulky, diagramy, matematické objekty (vzorečky, matice…), grafická informace i text, vše naskládané vedle sebe do jediného prostředí, tj. např. texty vedle prvků diagramu. Mezi různými zobrazeními kódu lze snadno přepínat, diagramy editovat v prostředí podobném UML, tabulky v okně typu tabulkovém procesoru a vlastní kód v textovém editoru. Kód/strom přitom pořád zůstává jediný a jednotný.

Open source licence

Vývoj MPS ve společnosti JetBrains začal krátce po roce 2000, první veřejná beta verze byla vydána v roce 2008. Aktuální verze má číslo MPS 2017.3, respektive MPS 2017.3 EAP (Early Access Program) 4. Prostředí MPS je k dispozici jako open source pod licencí Apache 2. Zvolená licence přitom po vývojářích nepožaduje, aby odvozená díla byla dále šířena se zachováním licence.

Další informace

MPS – základní idea

MPS – aktuální informace/novinky na blogu JetBrains

Projekční editor – představení nástroje

Doménově specifické jazyky

Rubriky: České ITCloudInternetOperační systémyPodnikový softwareScienceTechnologieVývoj a HTML

Související příspěvky

Vláda projedná novelu, která zpřesní pravomoci NÚKIB
Zprávičky

Nová pravidla pro kybernetickou bezpečnost asi Senát schválí

4. 6. 2025
Bitcoinová aféra otřásá Českem
Články

Bitcoinová aféra otřásá Českem

4. 6. 2025
Pětice motorů technologických inovací v příští dekádě
Zprávičky

Rusko chce integrovat svůj chatovací model do systémů na ISS

4. 6. 2025
Infrastruktura jako kód: Zjednodušte své implementace v cloudu automatizací
Články

Průzkum Acronis: cloudové úložiště záloh favoritem pro 62 % firem

4. 6. 2025

Zprávičky

V Maroku zatkli muže podezřelého z únosů podnikatelů s kryptoměnami ve Francii

ČTK
4. 6. 2025

V Maroku byl zatčen čtyřiadvacetiletý muž francouzsko-marockého původu, který je podezřelý z organizování série

Vláda projedná novelu, která zpřesní pravomoci NÚKIB

Nová pravidla pro kybernetickou bezpečnost asi Senát schválí

ČTK
4. 6. 2025

Prověření dodavatelů, kteří by mohli představovat pro stát bezpečnostní riziko, a také vyloučení jejich

Pětice motorů technologických inovací v příští dekádě

Rusko chce integrovat svůj chatovací model do systémů na ISS

ČTK
4. 6. 2025

Rusko plánuje, že svůj chatovací model GigaChat integruje do počítačových systémů na Mezinárodní vesmírné

Jak se GenAI etabluje v podnikových informačních systémech?

Každý obyvatel SAE má mít zdarma přístup k placené verzi ChatGPT

ČTK
4. 6. 2025

Každý občan nebo rezident Spojených arabských emirátů má získat zdarma přístup ke službě ChatGPT

Kryptoměny a jejich ekonomika

Odborníci: Bitcoin se ke kriminální činnosti používá málo, lze dohledat historii

ČTK
3. 6. 2025

Kryptoměna bitcoin se vzhledem k možnosti dohledat transakce používá ke kriminální činnosti relativně málo.

Apple představil levný iPhone SE pro sítě 5G

Apple zahájil právní kroky proti nařízení EK, aby otevřel svůj ekosystém rivalům

ČTK
3. 6. 2025

Americký technologický gigant Apple zahájil právní kroky proti březnovému nařízení Evropské komise (EK), aby

Evropská komise pokutovala firmy Delivery Hero a Glovo za kartel 329 miliony eur

ČTK
2. 6. 2025

Evropská komise uložila německé společnosti pro rozvoz jídla Delivery Hero a její španělské divizi

Estonsko se chystá vybavit studenty nástroji v oblasti AI

ČTK
2. 6. 2025

Estonsko, které se nachází na vrcholu žebříčků vzdělávání, se chystá vybavit studenty a učitele

Tiskové zprávy

Panasonic Toughbook poskytuje řešení pro propojená vozidla pro AA

Synology představuje DiskStation DS425+

DP7200: Synology rozšiřuje svou řadu ActiveProtect, aby vyhověla požadavkům rychle rostoucích podniků

Evropští studenti zazářili v prestižní ICT soutěži

Schneider Electric pomáhá v Portugalsku vybudovat jedno z největších evropských datových center

Společnosti ČD – Telematika a ČD – Informační Systémy se spojily: vznikl nový lídr v ICT službách v dopravě a státní správě

Zpráva dne

Květen je měsícem růstu, můžete růst s Windows 11 jen za €20.00!

Květen je měsícem růstu, můžete růst s Windows 11 jen za €20.00!

Redakce
15. 5. 2025

Kupte Windows 11 CDkey od Goodoffer24.com a můžete růst s tímto OS jak při...

Videa ITBiz.cz

Glenn Mallon, Dell Technologies

Elektronická recepční

FORXAI Mirror

Kamery pro průmysl a detekci požárů

Kamery pro vyhodnocení spokojenosti zákazníků

Kalendář

Zář 22
22. září @ 8:00 - 26. září @ 17:00

EMO Hannover 2025

Říj 1
Celý den

Cyber Attacks

Říj 21
Celý den

Bezpečnosť a dostupnosť dát

Zobrazit kalendář

Komentujeme

Chvála černých skřínek

Malé modely AI mají být velkým trendem

Pavel Houser
3. 1. 2025

V záplavě prognóz technologického vývoje (nejen) v roce 2025 zde prozatím trochu zapadlo jedno téma, které...

Odebírat newsletter

Zásady ochrany osobních údajů.

Zkontrolujte svoji doručenou poštu a potvrďte odběr.

Slovník

EBIT

Disaster Recovery Plan

Bazický bod

Kategorie

  • Články
  • Komentujeme
  • Slovník
  • Tiskové zprávy
  • Zprávičky

Portál ITbiz.cz přináší informace z IT a byznysu již od roku 2006. Provozuje jej internetové vydavatelství Nitemedia. Hosting zajišťuje společnost Greenhousing.cz. Mezi další naše projekty patří například ABClinuxu.cz a Sciencemag.cz. Na stránce Redakce naleznete informace o redakci a možnostech inzerce.

Rubriky

Akce a události Byznys Cloud Ekomerce Hardware int Internet Operační systémy Podnikový software Právo Science Security Technologie Telekomunikace Veřejná správa Vývoj a HTML Zpráva dne České IT

Píšeme jinde

RSS ScienceMag RSS

  • Experimentálni fyzici SAV detegovali jednu z najsilnejších slnečných búrok tohto roka
  • Černé díry dědí magnetická pole po mateřských hvězdách
  • Zdraví střev může být klíčem k prevenci leukémie, ukazuje nová studie

RSS AbcLinuxu RSS

  • Rok aukcí domén v registru CZ
  • Ubuntu Touch OTA-9 Focal
  • Murena /e/OS 3.0

Newsletter

Zásady ochrany osobních údajů.

Zkontrolujte svoji doručenou poštu a potvrďte odběr.

Žádné výsledky
Zobrazit všechny výsledky
  • Technologie
  • Byznys
  • Software
  • Hardware
  • Internet
  • Telco
  • Science
  • České IT
  • Události

© 2019 Vydává Nitemedia s.r.o. Hosting zajišťuje Greenhousing.cz.

Tento web používá cookies. Pokračováním dáváte souhlas s jejich používáním. Více na itbiz.cz/soukromi.