Обновить
27
potapenko@potapenkoread⁠-⁠only

Пользователь

Отправить сообщение
Ну образ больше строился на нас самих — этак спокойно и кафно разрабатывать. Само название «Realaxy» эту идею отражает.
Еще я каждое утро вижу вполне такой прототип колобка («смайла») — www.facebook.com/photo.php?pid=370137&id=100000195071028
Практика показала, что без статей никак. Я люблю писать скринкасты, поверьте :)
Как я понял, в принципе нареканий по поводу статьи нет. Или есть?
Хочется увидеть место где действительно непонятно.
можете мой @potapenko
Первая страница — например «Быстрое создание методов, полей и других языковых конструкций одним нажатием клавиши Enter» — «кликаем» по ссылке и получаем видео.
Возможно use case не очень. Добавим пару иконок.
Спасибо, большое.
Для этого и статья. Стало понятнее или все так же?
Нет мы пока выгоняем в текст.
Есть задача и идея некого компилятора, который сможет выгонять в бинарное представление — AST -> ByteCode
objectBulder, generics, logging language
второй урок будет именно по ним.
уже пишу.
через две недели — уже на 1.5 платформе.
Я вернусь через пару часов и отвечу подробно.
Я думаю ваш отрицательный опыт был связан с плохой реализацией.
Может не сам подход плох — а просто было плохо сделано?
Спасибо огромное!
> Браво для начала :), но пока верю в MPS платформу как в кодогенератор, хотелось бы узнать ещё что есть:
вдвойне (вдесятерне, черт побери) услышать похвалу от коллеги :)

Ответы:

> есть ли компилятор и отладчик.
Это пока первая бета-версия и мы ждем выход MPS 1.5 в котором есть основа для разработки дебагера. Профайлер мы тоже планируем делать

>поддерживается ли mxml редактирование.
будет во второй бета-версии

>в каком контексте редактируются инклюды.
MPS среда не текстовая, поэтому инклуды редактором мы поддеживаем лишь на уровне специальной конструкции InternalStatement, которая позволяет воткнуть любой текст, на страх и риск разработчиков. Единственный профит от инклудов на мой взгляд — это миксинги, которые мы реализуем специальным языком.

> что с просмотром Flex SDK
Просмотр? пока есть стабы, можно «открыть» swc и поглядеть. По поводу просмотра исходного кода — мы над этим работаем.

> сколько памяти надо.
пока много memory leak-ов. Очень надеемся на версию 1.5 MPS.
Сейчас мы рекомендуем выделить один один гигабайт памяти.
В любом случае этот вопрос решаем.

По поводу быстродействия — мы тут оптимизируем и есть куда двигаться. Автокомплит у нас занимает 50 миллисекунд при наследовании класса от Canvas. С нейспейсами, Exclude аннотациями итд.
MPS предлагает немного другую концепцию расширения функциональности.
За счет языковых расширений.
Добавляешь язык-расширение к тому же AS. В расширении ты можешь добавить новое поведение для кода в целевом языке.
Язык-расширение может включать в себя дополнительные проверки — система типов (например, проверять какое исключение шлется и выводить предупреждение, либо указывать нарушени соглашения кодирования в вашей конкретной команде),
новое поведение в редакторе (клавиатурные сокращения либо альтернативное отображение кода),
mps-плагины,
правила автокомлита (запретить/добавить автокомлит, добавить темлейты) итд.
Расширить и дополнять можно практически все.
Плагины можно писать и обычные, Идейные, но лучше пользоваться MPS-инфраструктурой.
Конечный пользователь может добавить язык в проект (импортировать язык) и получить весь набор плюшек.
Ну да :)

MPS основывается на Idea Platform.
Расширять ее можно как обычную Идею.
Плагины от Идеи можно устанавливать, но они там бесполезны.
Код то представлен несколько по другому.
Риторический вопрос — риторический ответ :)
Мы действительно заинтересованы, чтобы редактором пользовались.
Без нормальной документации это вряд ли возможно.
Писать код — это одно, писать языковые расширения — это другое.
Я сам прошел по пути изучения MPS и написания языковых расширений и знаю как это действительно не просто.
Простые расширения — семечки, капнул глубже — уже бетонная стена.
Поэтому, конечно же мы потратим максимальное количество усилий на документацию.
Импортер есть. Пока мы импортируем pure-as проекты.
Ко второй бете будем парсить файлы билдера, fdt, и idea
Ах да, забыл еще Flex/MXML и визуальный редактор для него. Но это ближе к релизу.
Немного добавлю.

Чем отличаемся.

Первое и главное — это LOP (Language Oriented Programming) от MPS.
MPS — это среда созданная специально для использования языковых расширений в Java.
Мы заточили ее под AS3, добавив поддержку.
LOP позволяет писать языковые расширения — В RE будут включен набор языков, которые действительно могут облегчить жизнь разработчикам.
Языковые расширения «выгоняются» в AS виде обычного текста, который отдается компилятору.
Пока расширений не много — Generics, Enums, Closures, ObjectBuilder (декларативный язык позволяющий собирать объекты аналогично JavaFX), Logging Language,
Может быть успеем допилить Collection Language (запросы к колекциям и dynamic finders как в Groovy/Roby).
К релизу мы сделаем внушительный набор языков.

Второе. Набор рефакторингов уже сейчас в стадии беты превосходит все существующие AS-радакторы.

Третье. Совершенно другой способ работы с кодом. Например, чтобы добавить метод или поле нужно только нажать энтер.
По началу не совсем привычно, но запомнив принципы редактора и небольшой набор клавиатурных сокращений это становится действительно удобно и эффективно.
В скринкастах это можно увидеть.

Четвертое. Мы хотим выгонять это не только в AS. HTML5/JS и Object-C. Но в текущей бете этого пока не будет.
Спасибо. Некоторым скринкастам уже гдето полгода. XML/E4X относительно свежие.
Было столько работы, что просто не было времени их записывать.
Сейчас записываем скринкасты по новой для нашего сайта.

Теперь эмоции —
Уфф… честно говоря мне очень страшно :)

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность