• 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

Zprávičky

Web pražské integrované dopravy napadli neznámí útočníci útokem DDoS

24. 3. 2023
Zprávičky

CETIN loni zvýšil zisk o 12 % na 2,88 miliardy Kč

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

Zákon o dezinformacích posuzují experti, Rakušan ještě zváží jeho předložení

24. 3. 2023
Masivní výpadek na polské železnici způsobila softwarová chyba (aktualizováno)
Zprávičky

Konsorcium tří českých firem vybuduje komunikační síť na slovenské železnici

23. 3. 2023

Zprávičky

Ve věku 94 let zemřel spoluzakladatel Intelu Gordon Moore

Ve věku 94 let zemřel spoluzakladatel Intelu Gordon Moore

ČTK
25. 3. 2023

Ve věku 94 let zemřel v pátek Gordon Moore, spoluzakladatel společnosti Intel a průkopník

Web pražské integrované dopravy napadli neznámí útočníci útokem DDoS

ČTK
24. 3. 2023

Internetové stránky pražské integrované dopravy (PID) dnes ráno napadli neznámí útočníci. Web zablokovali útokem

CETIN loni zvýšil zisk o 12 % na 2,88 miliardy Kč

ČTK
24. 3. 2023

Největší tuzemský provozovatel telekomunikační infrastruktury CETIN loni zvýšil čistý zisk o téměř 12 procent

Kryptoměny a jejich ekonomika

V USA obvinili exšéfa kryptoměnové společnosti Terrraform Labs z podvodů

ČTK
24. 3. 2023

Američtí vyšetřovatelé obvinili někdejšího šéfa kryptoměnové společnosti Terrraform Labs To Kwona z několika podvodů.

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

Zákon o dezinformacích posuzují experti, Rakušan ještě zváží jeho předložení

Pavel Houser
24. 3. 2023

Ministerstvo vnitra připravilo návrh zákona pro boj s dezinformacemi, nyní ho posuzují odborníci, resort

750 zaměstnanců ČSOB se díky Atosu zvládlo rychle přesunout do domácích kanceláří

Vedení Toshiby přijalo návrh na převzetí konsorciem v čele s firmou JIP

ČTK
23. 3. 2023

Vedení japonského průmyslového konglomerátu Toshiba přijalo návrh na převzetí podniku od konsorcia firem v

Masivní výpadek na polské železnici způsobila softwarová chyba (aktualizováno)

Konsorcium tří českých firem vybuduje komunikační síť na slovenské železnici

ČTK
23. 3. 2023

Konsorcium tří českých firem pod vedením pražské společnosti Kontron Transportation získalo na Slovensku zakázku

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

Google zpřístupnil veřejnosti chatbota Bard, chce konkurovat Microsoftu

ČTK
22. 3. 2023

Americká internetová společnost Google v úterý zpřístupnila veřejnosti konverzačního robota Bard. Konkurovat bude službě

Tiskové zprávy

Nejnovější řada notebooků Lenovo Legion Slim

MiR uvádí nový cloudový software pro optimalizaci řízení robotických flotil

Změní generativní umělá inteligence pravidla hry?

SAP představuje nový balíček řešení pro střední firmy

ČSÚ: Více než polovina velkých průmyslových podniků využívá 3D tisk

CyberSecurity Podcast: Vše o nové evropské směrnici NIS 2

Zpráva dne

Březnový prodej – doživotní licence na Windows 10 za Goodoffer24 € 12 a Office za € 23!

Březnový prodej – doživotní licence na Windows 10 za Goodoffer24 € 12 a Office za € 23!

Redakce
3. 3. 2023

Ať už hledáte levnější cestu jak postavit nový počítač, nebo jen chcete upgradovat stárnoucí...

Odebírat newsletter

Zásady ochrany osobních údajů.

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

Komentujeme

Chvála černých skřínek

Programování s pomocí umělé inteligence a open source licence

Pavel Houser
15. 3. 2023

S tím, jak se rozšiřuje využití umělé inteligence přímo při tvorbě softwaru, se intenzivněji začínají diskutovat...

Nadcházející akce

  1. Hannover Messe 2023

    17. dubna - 21. dubna

Zobrazit všechny Akce

Slovník

Vedení lidí

Interní komunikace

Logistics manager

Nejpopulárnější články

OKI na veletrhu EmbaxPrint zaujala potiskem etiket

OKI na veletrhu EmbaxPrint zaujala potiskem etiket

Tomáš Jirásko
1. 3. 2023

Kvalitních IT specialistů je nedostatek a práce na dálku jim může přinést až o 25 % víc peněz

Redakce
3. 3. 2023

Umělá inteligence: Nástroje vs. platforma, věda vs. kreativita

ChatGPT uspěl v testu teorie mysli

Pavel Houser
21. 2. 2023

Celosvětové výdaje na IT v letošním roce podle Gartneru vzrostou o 2,4 %

Redakce
23. 2. 2023

Mýty kolem digitalizace firmy (1): Digitalizace je jen IT projekt a adopce je ztráta času

Mýty kolem digitalizace firmy (1): Digitalizace je jen IT projekt a adopce je ztráta času

itbiz
2. 3. 2023

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 Internet Operační systémy Podnikový software Právo Rozhovory Science Security techn Technologie Telekomunikace Veřejná správa Vývoj a HTML Zpráva dne České IT česk

Píšeme jinde

RSS ScienceMag RSS

  • Hledání mimozemského života v prachu na Zemi
  • Týden na ITBiz: Google zpřístupnil chatbota Bard, chce konkurovat Microsoftu
  • 25 let od první hluboké mozkové stimulace

RSS AbcLinuxu RSS

  • Firma Docker plánovala zrušit hosting pro open-source projekty, rozhodnutí přehodnotila
  • Zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona
  • Mercurial 6.4

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.