Pit — это новый проект с открытым исходным кодом, который компилирует F # в JavaScript.
JavaScript делает так много удивительных вещей, что вы должны относиться к нему как к первоклассному языку высокого уровня, но для многих программистов идея о том, что это новый ассемблер, все еще укоренилась.
Уже существует ряд языков, которые компилируются в JavaScript, включая Dart и CoffeeScript, но в основном это расширения или улучшения JavaScript.
Компиляция строго типизированных языков в JavaScript является проблемой, но JavaScript уже является объектно-ориентированным языком и не требует большого количества дополнительных механизмов для реализации типов и наследования на основе классов. Однако у JavaScript есть и другой аспект. Вы можете выбрать его как функциональный язык, если хотите, и с некоторыми дополнениями, такими как map и apply и т. Д., Вскоре он начинает выглядеть как совершенно работоспособный функциональный язык.
Так почему бы не использовать его как цель для компилятора «настоящего» функционального языка?
В этом и заключается суть проекта с открытым исходным кодом Pit. В настоящее время в очень консервативной версии 0.2 он уже может быть использован для компиляции некоторых весьма впечатляющих демонстраций. Помимо работы в качестве стандартного компилятора F # в JavaScript, его также можно использовать в качестве REPL (Read Evaluate Print Loop) в браузере. Единственная загвоздка в том, что для работы REPL требуется Silverlight, поэтому он не будет работать в каждом браузере. Хорошая новость заключается в том, что компилятор создает очень читаемый код JavaScript.
Это не только интересный проект и еще одно принципиальное доказательство того, что JavaScript можно использовать в качестве промежуточного языка, но и потенциально полезный инструмент. В F # реализовано множество сложных алгоритмов, и теперь они могут работать в браузере как приложение HTML5. Он также предоставляет гораздо большую платформу для разработки на F #. Теперь вы можете решить использовать F #, ожидая, что вы сможете разрабатывать с помощью Visual Studio и среды .NET с идеей предоставления веб-версии с помощью Pit.
Конечно, любые практические преимущества зависят от продолжения проекта до тех пор, пока мы не достигнем версии 1 или даже версии 2. На данный момент, кажется, есть только два активных члена команды, поэтому, если вы думаете, что это достойный проект, вы можете хотел бы протянуть им руку помощи.