Implementing the Dynamic Languages Using DLR Technology
Implementace dynamických jayzků nad DLR technologií
diplomová práce (OBHÁJENO)
![Náhled dokumentu](/bitstream/handle/20.500.11956/34190/thumbnail.png?sequence=7&isAllowed=y)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/34190Identifikátory
SIS: 65609
Kolekce
- Kvalifikační práce [11266]
Autor
Vedoucí práce
Oponent práce
Dokulil, Jiří
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
7. 9. 2010
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
The Microsoft .NET Framework byl od jeho počátku vytvořen tak, aby podporoval široké spektrum jazyků nad Common Language Runtime (CLR). CLR poskytuje technologie jako garbage collection, JIT nebo integrované vývojové nástroje. Další výhodou je, že tyto jazyky spolu mohou komunikovat a využívat knihovny napsané v kterémkoliv z nich a rovněž tak .NET Base class library (BCL). CLR nemělo podporu dynamických jazyků. Jejich dynamická povaha dělá z kompilace nelehký úkol a klade velké nároky na runtime jazyka. Narozdíl od statických jazyků jako je C#, který nepotřebuje jiný runtime než je přítomen v CLR samotném. Jak těžké bylo vytvořít dynamický jazyk nad .NET je možné vidět na open-source projektu Phalanger. Jeho kód je velmi komplexní a je obtížné do něj proniknout. To je vážný problém pro open-source projekt, jelikož je těžké se na něm začít podílet. Nový Dynamic Language Runtime (DLR) přináší změnu. Přidává mnoho podpory pro dynamické jazyky nad .NET, což dělá implementaci dynamických jazyků znatelně snažší a rovněž umožňuje interoperabilitu mezi dynamickými jazyky vytvořenými nad DLR a standartními statickými jazyky nad .NET. Tato práce se zaměřuje na vlastnosti PHP dynamického jazyka a diskutuje jak jej lze naimplementovat nad DLR. Částí této práce je pilotní implementace PHP jazyka nad DLR, jejímž cílem...
The Microsoft .NET Framework was from the beginning designed to support broad range of languages on a Common Language Runtime (CLR). CLR provides shared services such as garbage collection, JIT and tools integration. The other benefit is that these languages can work together and use libraries written in any of them as well as .NET Base class library (BCL). The CLR didn't have the support for dynamic languages. Their dynamic nature makes the compilation uneasy and places high demands on the language runtime. Unlike static languages as C# which don't require runtime support other than CLR itself. How difficult was it to make the dynamic language on .NET can be seen in the open-source implementation of PHP language on .NET called Phalanger. Its code is really complex and hard to survey. This is a serious problem for an open-source project, because it's hard to contribute. The new Dynamic Language Runtime (DLR) makes a difference. It adds a lot of support for dynamic languages on .NET, that makes implementing the dynamic languages much easier and it also enables the interoperability between the dynamic languages built on DLR and standard static languages on .NET. This work focuses on features of PHP dynamic language and discusses how they can be implemented in DLR. A part of this work is a pilot implementation...