MPS 1.0 released

0 views
Skip to first unread message

Ivan Dembicki

unread,
Jul 23, 2009, 3:29:47 PM7/23/09
to ruFlash
Hello ruFlash,

http://jetbrains.com/
http://jetbrains.com/mps/index.html

Поелику со товарищи устроим шумный пир,
ибо сей продукт программный изменит мир.

С чем вас и поздравляем.
А стишок сам получился.

Женя Потапенко пишет редактор AS на MPS. Вот скринкасты:

создание геттеров, филдов и методов по шаблону
http://www.potapenko.com/tmp/screencasts/templates.flv

как делается override method с автоматическим добавлением ключевого
слова override и навигация
http://www.potapenko.com/tmp/screencasts/override.flv

помощник по именованию методов/переменны/полей. этот функционал будет
в дальнейшем развит
http://www.potapenko.com/tmp/screencasts/naming.flv

имплементация методов с помощью квикфиксов
http://www.potapenko.com/tmp/screencasts/implements.flv

генерация геттеров сеттеров
http://www.potapenko.com/tmp/screenc...erssetters.flv

inroduce variable/parameter/field/constant обратите внимания, что так
как rename refactoring просиходит inline, то выводить менюшку для
ввода переменной не нужно. очень быстро и продуктивно
http://www.potapenko.com/tmp/screencasts/introduce.flv

приятная фича присвоения параметров метода к полям класса
http://www.potapenko.com/tmp/screenc...igntofield.flv

основная фича редактора - расширение языка - тут добавил ENUMS в AS
http://www.potapenko.com/tmp/screencasts/enums.flv

Вы только не подумайте, что мы на голом редакторе остановимся. Планов
- громадье и, надеюсь, что каждый из вас благодаря нашим продуктам
заработает не одну сотню тысяч долларов.


удачи,
--
iv
http://www.bezier.ru
http://bezier.googlecode.com

Jloa

unread,
Jul 23, 2009, 5:18:46 PM7/23/09
to ruFlash
Привет, Иван !
С JetBrains пока не разобрался, обязательно займусь на досуге. Но
больше меня интересует "Женя Потапенко пишет редактор AS на MPS".
Уж очень он удобным мне показался - хочется уже пощупать. ^_^

Ivan Dembicki

unread,
Jul 23, 2009, 5:51:59 PM7/23/09
to ruF...@googlegroups.com
Hello Jloa,

У нас тут электричество отключалось, поэтому я не отвечал на письма
сразу, а подло купался в бассейне и пил виски с колой и со льдом в
окружении девственниц и звезд. Звезды без засветки от города гораздо
ярче, да.

> С JetBrains пока не разобрался, обязательно займусь на досуге.

- побереги досуг. Оставь его любимым женщинам.


> больше меня интересует "Женя Потапенко пишет редактор AS на MPS".
> Уж очень он удобным мне показался - хочется уже пощупать. ^_^

- я его еще не щупал. Хотя с Женей в соседних камерах сидим. Я к тому,
что как только будет за что пощупать, тут же дадим.

С Революцией Вас, товарищи!

Dima Pilipenko

unread,
Jul 23, 2009, 6:01:50 PM7/23/09
to ruF...@googlegroups.com
А что за революция?

Ivan Dembicki пишет:
> С Революцией Вас, товарищи!

Ivan Dembicki

unread,
Jul 23, 2009, 7:14:09 PM7/23/09
to ruF...@googlegroups.com
Hello ruFlash,

>> С Революцией Вас, товарищи!
> А что за революция?

- гхм... я думал, что все в курсе, сорри.
Меняется парадигма программирования.
От ООП к ЛОП. К Language Oriented Programming.

Если кратко, то: ты пишешь на AS а выгоняешь не только во Flash, но и
в Iphone, SilverLight, C#, Java и т.п. При этом можешь подключать
вкусности из других языков или написать свои.
И AS программеры впереди планеты всей, потому, что Женя Потапенко для
вас, родных, уже давно делает это щастье. И никто больше, ни для
какого языка. Остальные чухнут дай бог через годик.

Dima Pilipenko

unread,
Jul 23, 2009, 7:16:19 PM7/23/09
to ruF...@googlegroups.com
Круто.. будем смотреть.

Ivan Dembicki пишет:

Евгений Потапенко

unread,
Jul 23, 2009, 8:27:20 PM7/23/09
to ruF...@googlegroups.com
тво billion dollars!

IMG_0153.jpg
IMG_0156.jpg
IMG_0159.jpg
IMG_0187.jpg

Valentin Simonov

unread,
Jul 24, 2009, 12:35:43 AM7/24/09
to ruF...@googlegroups.com
хаха! последняя жесть!

Valentin Simonov

unread,
Jul 24, 2009, 1:30:24 AM7/24/09
to ruF...@googlegroups.com
накидал статейку на хабре
http://valyard.habrahabr.ru/blog/65278/
не только ради корыстного поднятия кармы
плюсаните меня и ткните пальцем в неточности мож какие
пусть народ знает!

Андрей Скорик

unread,
Jul 24, 2009, 4:26:35 AM7/24/09
to ruF...@googlegroups.com
 Женя Потапенко для
вас, родных, уже давно делает это щастье. И никто больше, ни для
какого языка. Остальные чухнут дай бог через годик.




Ну вот Иван всех запалил. Теперь набегут всякие.. и затопчут ))
--
С уважением, Скорик Андрей. andrew...@gmail.com

Julius [gmail]

unread,
Jul 24, 2009, 4:28:34 AM7/24/09
to Евгений Потапенко
Hello, Евгений.

> тво billion dollars!
> --~--~---------~--~----~------------~-------~--~----~

Ой, не могу... Прям с утра уже истерика))
Последняя фотка.. Вот уморы ))))


______________
Jloa.

Rost

unread,
Jul 24, 2009, 7:27:14 AM7/24/09
to ruFlash
е-мае!

MPS еще и бесплатен! Качаю.

http://jetbrains.com/mps/download/index.html

Рост
http://flash-ripper.com/


P.S. Забулдыги вы фотошные.

Daniil Tutubalin

unread,
Jul 24, 2009, 7:37:08 AM7/24/09
to ruF...@googlegroups.com
Главная проблема MPS - сложность изучения.
Надо больше примеров и туториалов.

Было б неплохо увидеть реализацию какого-нить простого процедурного
языка на MPS.
Например, какой-нибудь паскаль с урезанным функционалом.

flastar

unread,
Jul 24, 2009, 8:46:35 AM7/24/09
to ruFlash
перевожу официальную доку на русск!

Valentin Simonov

unread,
Jul 24, 2009, 8:51:37 AM7/24/09
to ruF...@googlegroups.com
удачи (8
я не все там понимаю, не то что переводить
при моем идеальном английском

2009/7/24 flastar <swf...@gmail.com>
перевожу официальную доку на русск!


Ivan Dembicki

unread,
Jul 24, 2009, 10:28:20 AM7/24/09
to ruF...@googlegroups.com
­X-No-Archive: yes

Hello ruFlash,

пооффтоплю еще:
мы всей командой выбрались делать проект в Черногорию. Оказалось, что
это вполне удачная мысль - в Москве только на-работу-с-работы
тратилось 2 часа минимум. Плюс московский климат и общая нервозность.
Здесь мы сняли дом и чтобы начать работать достаточно спуститься в
холл. Мы сделали себе один выходной в неделю, но он не проходит зря:
обязательно едем куда-нибудь и за день набираемся впечатлений от
местных красот столько, что в Москве за год не наберешь.
Итог очень интересный - все горят. Прет работа, прут идеи. Одних идей
уже хватит на 5 проектов. Не говоря о том, что идеология и фишки
начального проекта сильно изменилась в лучшую сторону.

Посмотрите фотки: http://picasaweb.google.com/ivan.dembicki/

Жить здесь не дорого, дешевле чем в Москве. За счет этого стартап
может еще и бюджет сэкономить.
Если вы решитесь пойти по такому пути - вэлкам, мы посодействуем.

flastar

unread,
Jul 25, 2009, 3:46:17 AM7/25/09
to ruFlash
угу) чтот плохо получается(

On Jul 24, 3:51 pm, Valentin Simonov <valy...@gmail.com> wrote:
> удачи (8
> я не все там понимаю, не то что переводить
> при моем идеальном английском
>

> 2009/7/24 flastar <swfs...@gmail.com>

Яски

unread,
Jul 25, 2009, 10:34:50 AM7/25/09
to ruFlash
Как раз недавно понял, что очень многие вещи можно решать намного
проще и что много времени тратиться на написание кода. Для написания
проектов даже подумывал сделать редактор, в котором программу можно
было бы создавать графически -- при помощи блок схем. Для сайтов,
например, где действия должны выполнятся последовательно и зависят
друг от друга, такое представление было бы очень удобно. Также сейчас
приходится писать на Си++ -- с непривычки очень сложно следить за
контролем к памяти и вообще понимать что к чему. При том, что в теории
AS3 можно транслировать в Си++ и не требуется быстрота работы кода
было бы просто супер писать на AS3, а затем транслировать код в Си++ и
чтобы там, где нужна работа сборщика мусора, подставлялся нужный код.
По описанию MPS очень хорош, надеюсь удастся применить его на практике.

foreground

unread,
Jul 25, 2009, 10:51:23 AM7/25/09
to ruF...@googlegroups.com
>Яски

>транслировать код в Си++ и
чтобы там, где нужна работа сборщика мусора, подставлялся нужный код.

Это как? На C++ другие принципы работы. Смарт пойнтеры, самописные
кучи и т.д. Чето я сильно сомневаюсь, что потом это чудо работать
будет.
Да и смысл использования C++ наверно в эффективном использовании
машинных ресурсов.

Daniil Tutubalin

unread,
Jul 25, 2009, 12:17:57 PM7/25/09
to ruF...@googlegroups.com
Такой вопрос.

Создал концепт Statement
От него наследуются IfStatement и AssignStatement
И есть концепт CodeBlock, содержащий 0..n Statement

Почему-то в песочнице когда пытаюсь добавить новый statement в списке
указан только Statement, а его потомки не перечисленны.
Что я забыл? Как исправить?

Daniil Tutubalin

unread,
Jul 25, 2009, 12:48:06 PM7/25/09
to ruF...@googlegroups.com
Пардон, сам понял, где накосячил.

Но теперь пачка других вопросов:
1. Как полазить по BaseLanguage и посмотреть, как в нём реализованы те
или иные вещи (циклы, выражения и прочее)?
2. Как вставить концепты BaseLanguage в свой язык?
3. Хочу сделать, чтобы оператор if был в две колонки: then слева, а
else справа. Это получилось. Но вот хочется, чтобы между этими
колонками проходила тоненькая полосачка, отгораживающая их друг от
друга. Как это сделать?

Valentin Simonov

unread,
Jul 25, 2009, 12:53:25 PM7/25/09
to ruF...@googlegroups.com
я так понимаю, что это не совсем правильное место для таких вопросов
по поводу первого, создаешь новый проект там есть папочка Modules Pool/Languages/jetbrains и далее по дереву

Яски

unread,
Jul 25, 2009, 3:27:19 PM7/25/09
to ruFlash
> Это как? На C++ другие принципы работы. Смарт пойнтеры, самописные
> кучи и т.д. Чето я сильно сомневаюсь, что потом это чудо работать
> будет.
> Да и смысл использования C++ наверно в эффективном использовании
> машинных ресурсов.
Ну в моем случае смысл использования Си++ в том, что это плагин к
программе написанной на Си++. Да и в любом случае я не считаю что
следить за созданием и удалением объектов должен программист --
программист определяет время жизни объекта, остальная работа пусть
остается за языком. В современных языках (Java, .Net, AS3) за
выделением и уничтожением памяти следит программа, это хороший шаг,
программы получаются более стабильными, а программистам проще писать
код. Производительность также не является приоритетом -- 80% кода в
проекте это интерфейс и поддержка архитектуры. Части программы,
которые требуют производительности могут быть реализованы с ручным
контролем памяти, главное чтобы была такая возможность в языке.
По теме -- теперь системные архитекторы будут не придумывать структуру
классов, а будут разрабатывать DSL язык для решения задачи.

Яски

unread,
Jul 25, 2009, 6:09:24 PM7/25/09
to ruFlash
Понял что не полностью ответил на вопрос. В Си++ это может выглядеть
так:
1) Момент, когда нужно выделить память впринципе понятен, нужно
отследить только две ситуации:
а) память может быть выделена на стеке, тогда ее освобождать не
нужно, но нужно следить чтобы она не использовалась где либо еще вне
функции.
б) память может быть выделена в куче, тут нужно следить чтобы
кусок памяти не потерялся. Это можно реализовать подсчетом ссылок на
память.
2) Момент, когда память нужно осовободить:
а) Если при выходе из функции не осталось внешних указателей на
память
б) Если занулили последний указатель на блок памяти
в) Если уничтожили объект, который последним указывал на память.
Насколько мне известно язык Си++ не позволяет отследить все эти
ситуации и не получится реализовать свой сборщик мусора. Быть может
получится при помощи MPS добиться этого.

Ivan Dembicki

unread,
Jul 26, 2009, 11:30:02 AM7/26/09
to ruF...@googlegroups.com
Hello foreground,

> Это как? На C++ другие принципы работы. [...]

- я думаю, что это вполне возможно.


> Да и смысл использования C++ наверно в эффективном использовании
> машинных ресурсов.

- а смысл MPS в эффективном использовании людских ресурсов.

Daniil Tutubalin

unread,
Jul 26, 2009, 11:49:10 AM7/26/09
to ruF...@googlegroups.com
> - а смысл MPS в эффективном использовании людских ресурсов.

Это в будущем. А пока для разработки на MPS к каждому программеру надо
приставлять ещё двоих человек.
Одного специалиста по компилятором, который смог бы быстро разобраться
в MPS и подсказывать, как что делать, и одного психолога, чтобы
успокаивать программера когда BACKSPACE НЕ СТИРАЕТ НОД! ААА!

Reply all
Reply to author
Forward
0 new messages