От: | Ka3a4oK | ||
Дата: | 19.01.11 17:46 | ||
Оценка: |
Цель гранта — преодолеть барьер параллельного программирования, которые стал весьма актуален в свете резко возросшей популярности многоядерных и многопроцессорных вычислительных систем.
Scala — функциональный и объектно-ориентированный язык программирования, основанный на Java и .NET. Он изначально включает некоторые конструкции параллелизации.
В расширенном конкурсном описании проекта (PDF) Одерский объясняет, что естественным способом параллелизации различных приложений является создание предметно-ориентированных языков программирования (domain-specific language, DSL) для каждой из сфер применения, будь то машинное обучение, динамика жидкостей, аналитика или финансовое моделирование. Он приводит Facebook и Google как примеры успешной параллелизации специфических задач (социальный граф и поиск, соответственно).
Но при этом в случае с DSL на основе Scala Одерский предлагает использовать «виртуализацию языка» (language virtualization). Это инновационный подход, в рамках которого сочетаются полиморфные вложения с предметно-ориентированными оптимизациями и поступенчатая компиляция. На первом уровне каждого DSL создаются высокоуровневые библиотеки на Scala, что практически обеспечивает общую платформу для всего семейства DSL.