Виртуальная машина Parrot/Введение

Материал из Викиучебника

Перейти к: навигация, поиск

Содержание

[править] Для кого эта книга?

This book is for readers at the intermediate to advanced level with a solid background in computer programming. Perl Programming would be a good start, although a background in any dynamic language would be helpful. Having a background in Compiler Construction, Regular Expressions, or the compiler-building tools Lex and Yacc would also be a benefit.

For the sections about Parrot hacking, a background knowledge of C Programming is required.

[править] И о чём она?

[править] Что такое Parrot

Parrot (пэррот или паррот; от англ. parrot — попугай) - виртуальная машина, на подобие Java VM или .NET VM. Однако, в отличие от них, Parrot ориентирован на языки с динамической типизацией, такие, как Perl, Python, Ruby или PHP, а не на языки со статической типизацией, такие как Java или C#. Сам Паррот написан на C, что даёт ему (теоретически) переносимость на различные архитектуры и ОС. Он написан так, чтобы быть модульным и расширяемым. Программисты могут написать программу на любом из языков, для которых есть компилятор в Паррот.Modules written in one language, such as Perl, can transparently interoperate with modules which have originally been written in any of the other languages supported by Parrot. This easy interoperability and native support for cutting-edge dynamic programming features makes Parrot an important tool for next-generation language designers and implementers. It is precisely because Parrot is intended to support so many diverse high level languages that Parrot has developed a very general and feature-rich architecture. Much of the Parrot architecture is still under active development, so those parts will not be able to be properly discussed here in this book quite yet. Once Parrot reaches a stable release, and more details are set in stone, this book will be able to provide a more comprehensive coverage.

[править] История Parrot

Проект Parrot родился из проекта Perl 6. Как известно, ранняя разработка Паррота была тестно всязана с разработкой Perl 6. И после того, как вы поймёте, насколько большой и амбициозный Perl 6, вы начнёте понимать, почему Паррот должен иметь все особенности, которые он имеет.

It was famously quoted about version 5 of the Perl programming language that "nothing can parse Perl but perl". The implication was that the perl executable was the only program that could reliably parse the Perl programming language. There were two reasons for this. First, the Perl language didn't follow any formal specification; The behavior of the perl interpreter was the definitive documentation for the actions of Perl. Second, the Perl programming language allowed the use of source filters, programs which could modify their own source code prior to execution. This means that to reliably parse and understand a Perl program, you needed to be able to execute the source filters reliably. The only program that could do both was perl.

The next planned version of Perl, Perl 6, was supposed to be a major rewrite of the language. In addition to standardizing and bringing sanity to all the features which had slowly entered the language grammar, it was decided that Perl 6 would be a formal specification first, and implementations of that specification later.

The name "Parrot" was first used as an April Fool's joke. The story claimed that the Perl and Python languages (which are competitors, and which were both undergoing major redesigns) were going to merge together into a single language named Parrot. This was, of course, a hoax, but the idea was a powerful one. When the project was started to create a virtual machine that would be capable of running not only Perl 6, but also Python and other dynamic languages, the name Parrot was a perfect fit.

Первая версия Паррота (v0.0.1) была опубликована в сентябре 2001 года. Команда разработчиков готовит стабильный релиз каждый третий вторник каждого месяца.

[править] Фонд Parrot

[править] Как поучаствовать в проекте Parrot?

[править] Разработчики Parrot

[править] Где получить дополнительную информацию?

[править] Ссылки