Визитка (заглавная страница nemerle.org)
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.02.11 20:48
Оценка: 39 (3) +1
Предлагаю заменить текс с первой страницы на следующий:

Эпиграф: Nemerle – это то чем должен был стать C#.


Nemerle – это мультипарадагмынй язык программирования общего назначения для платформы .Net, который так же прост в использовании как C# или VB.NET но при этом обладает несравнимо большими возможностями. На Nemerle можно программировать как на продвинутом C#, и по мере обучения задействовать отлично реализованные возможности функционального программирования и метапрограммирования (макросов в стиле Lisp).

Мощный вывод типов (лучший среди языков поддерживающих подтипы и наследование), гибкая и очень мощная подсистема метапрограммирования (макросы Nemerle), привычная для C#/Java/C++-программистов поддержка ООП, полноценная поддержка функционального программирования (ФВП, сопоставление с образцом, алгебраические типы, локальные функции, кортежи и анонимные типы, частичное применение функций) унаследованная у ML-подобных языков (ML, OCaml, F#, Haskell) интегрированная в универсальный язык позволяют решать проблемы не просто быстро и просто, но очень красиво.

Наличие интеграции с VS 2008 и Sharp Develop позволяет снизить порог вхождения и повысить продуктивность разработчика. Интеграции с IDE поддерживают все возможности языка включая предоставление информации о выведенных типах и таскрытии макросов.

Макросы позволяет поднять уровень программ на небывалую до этого высоту (и при этом не жертвовать богатством синтаксиса языка как Lisp). Вы можете разрабатывать как макросы упрощающие решение ваших повседневных задач, так и использовать новый подход языко-ориентированное программирование — создание своих языков предметной области (DSL) решать задачи путем описания задачи полностью декларативной манере. Макросы позволяют реализовывать и поддерживать DSL-и существенно быстрее и проще и получать автоматическую поддержку IDE, высокое быстродействие полученного кода и т.п.
Кроме того вы можете использовать массу готовых макросов входящих в стандартную поставку компилятора или доступных от сторонних разработчиков. Так с помощью макросов Nemerle реализованы такие выдающиеся решения как:
  • Nemerle.Peg – макрос реализующий генератор парсеров основанный на нотации PEG. В число его достоинств входит: шаговая доступность (использовать Nemerle.Peg так же просто как регулярные выражения), невероятно высокая скорость работы создаваемого парсера – ~ 4 MB/sec. на грамматике C# 4.0 (с построением AST), динамическая расширяемость (правила грамматики могут подключаться на лету), поддержка левой рекурсии приоритетов и ассоциативности (благодаря интеллектуальной мемоизации и интеграции алгоритма Pratt), поддержка предикатов (позволяет с легкостью парсить даже такие не очень простые языки как C# или C++), поддержка транзакций для областей (позволяет парсить ряд контекстно-зависимых языков вроде C/C++/Nemerle). В Nemerle 2.0 система макросов будет основана на Nemerle.Peg.
  • Nemerle.Xml – макрос позволяющий использовать внутри Nemerle-кода квази-цитаты XML (XML-летералы допускающие активнее обалсти и управляющие конструкции). Данная возможность аналогична имеющимся в таких языках как Scala и VB.NET, но доступна в виде отельного модуля (макроса) и исходных кодах.
  • ComputationExpressions – макрос реализует возможность аналогичную встроенной возможности языка F# — Computation Expressions. Это красивый синтаксический сахар для монад/монойдов. С помощью async (реализованного на базе ComputationExpressions) можно, например, значительно упростить создание параллельного кода.
  • Поддержка LINQ. Даже поддержка LINQ в Nemerle реализована в виде макросов.
  • Макрос позволяющий добавить методы обхода сложных структур данных (аналогично использованию паттерна Посетитель, но без ручной работы).
  • Макросы автоматизирующие реализацию паттернов проектирования ООП: Abstract factory pattern, Aggregation (Composite), Proxy, Singleton.
  • А так же множество небольших макросов делающих код короче и понятнее: Late (позднее связывание), Lazy (отложенное выполнение), Logging, Profiling, Record (автоматическое создание конструкторов инициализирующих поля), Surroundwith (быстрое создание операторов похожих на “using”).
  • Библиотека макросов Nemerle on Rails (NoR) – аналог Ruby on Rails но в статически типизированном языке. Хотя в мире статически типизированных языков есть аналогичный фрэймворк – Scala Lift, но реализация для Nemerle основана на макросах и признанных стандартах вроде LINQ.
  • DependencyProperty — автоматизация реализации зависимых свойств WPF.
  • AOP — поддержка аспектно ориентированного программирования.
  • Сплайс-строки. Это аналог "активных" строк из скриптовых языков вроде Ruby, но реализована эта возможность на макросах.

_______________________

Installer

Все загрузки

Лицензия: New BSD License

Исходные коды (VSN)

Исходные коды (brose)
В оригинале будут ссылки на все

ЗЫ

Народ, переведите по качественнее на англицкий.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.