Мифы MPS.

7 vistas
Ir al primer mensaje no leído

Евгений Н.

no leída,
26 jul 2009, 7:07:11 p.m.26/7/09
para ruFlash

Саму разработку не качал (качал в чем-то аналоги других, объединенных в аналогичные секты, причем в отдельных случаях, в других - речь идет про академические умы), но посмотрел несколько видео-подкастов, вскользь просмотрел 2 статьи М. Фаулера на счет MPS и аналогичного, прочел комментарии, ответы на вопросе здесь, на хабре и на лоре. В познаниях мира дошел даже до видеоподкаста F# (в контексте новых технологий и языков) от российских популяризаторов (подкаст, показанный на какой-то там конференции 2009 г. - ложь на лжи, за редким исключением, вроде "Да, это write once - написал один раз, потом фиг разберешь что написал").


И вот что хочу сказать.

1) Автор пытается сделать универсальную GUI-среду-и-систему для создания новых DSL.

2) Пока известны удачные примеры только конкретно заточенных под предметную область DSL - например это язык SQL.
Фанатов хаскелей, лиспов, F# и прочего - просьба любоваться и юзать свою мифологию и дальше, не желаю зря терять время на религиозные споры).

3) Автор, очевидно, не знает, что в mainstream-программировании, в профессиональной среде, воспитанной на заветах "банды четырех" и других (Фаулер, Эванс и т.д.), существует такая область как объектно-ориентированный анализ. И только не понимая чем отличается объектная модель из объектно-ориентированного анализа от модели из объектно-оиентированного проектирования, а так же роли аналитика требований (стандартая вакансия), без понимания что:

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

4) Да, на деле не всегда все так гладко применяется, и особенно это видно, когда Java-архитектор вообще не читал про анализ (нонсенс, но факт), когда аналитики не отвечают требованиям - т.е. в жизни по разному бывает, но это не повод перенимать плохие подходы и не смотреть на мастеров жанра.

5) В современных UML-программах есть возможность вести прямой/обратный инженеринг кода. А при желании помещать диаграммы и в корпоративную Википедию, чтобы документировать процесс разработки (для будущих разработчиков).

Закончу мысль.

> И только не понимая ... без понимания что:

- можно было все это придумать. Мало того - вести разработку 6 лет.

Указанные мною методики - ПРИМЕНЯЛИСЬ лично мною на НЕСКОЛЬКИХ фирмах. Универсальный ДАВНО ИМЕЮЩИЙСЯ подход от лучших мировых умов - дает:

1) Универсальность.

2) Гибкость.

3) Довольно высокую быстроту (один из методов оптимизации привел - рисовать вначале, при проработке, диаграммы на доске, потом фотографируешь, это ОЧЕНЬ быстро, дело нескольких минут, подходит для любой летучки и т.п.).

4) Отличную адаптируемость к большинству проектов.


P.S. В статье на русском, один из авторов MPS - описывает вопросы, которые нужно решить, но в конце просит высказывать свои мнения, как же это решить.
Т.е. задался вопросом, интересующим многих, что-то вот... 6 лет делал...

На AS-редактор со стороны сообщества - я бы не возлагал серьезных надежд. Чтобы все это максимально тщательно и аккуратно сделать, с учетом виртуальной машины 2-ой ревизии - понадобится года 2 упорного труда, а тогда и 3-яя виртуальная машина должна появиться. Т.е. "догонялки" закончатся нескоро. Пока вам представят некую поделку, реализующую часть каких-то вещей, но полноценным средством это будет назвать очень и очень сложно, имно.


Плюсы ООП:

1) Язык UML - давно стандартизирован. Используется во всем мире. Зачастую применяется в очень ограниченном варианте, 20-30 условных обозначений. Предвидя вопросы:

- условные обозначения модифкаторов доступа:

+ (public)
- (private)
# (protected)

- 2 вида линий:

- одна, которая ведет к интерфейсу
- вторая - к классу.

- что такое агрегация, какие виды отношений бывают:

- отношение "один-к-одному"
- отношение "один-ко-многим"
- отношение "многие-комногим"

- как обозначить интерфейс, класс, абстрактный класс/абстрактный метод

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

- state-машины - что это такое, зачем и почему, как обозначить то-то и то-то. - Здесь приблизительно 5 условных обозначений, достаточно общего понимания зачем это, оформленную диаграмму можете рисковать по примерам из книг.

- еще 2-5 элементов, среди них:

- условное ообозначение, назовем его "Пользователь" - напоминает "руки-ноги-огуречик-вот-и-вышел-человечек".

2) Создавая объекты и классы, в своей программе, на подобиии "Пользователь", "Дом", "Река" и т.д. и т.п. - вы как раз и облегчаете себе жизнь, оперируете объектами из предментной области.
Для этого ООП и предназначен.

3) ООП - это стандартизиованный подход, применяемый во всем мире. Нужно только лишь один раз все изучить, и эти знания вам пригодятся во всех основых языках программирования.

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

--
Евгений Н.

Евгений Н.

no leída,
26 jul 2009, 7:27:36 p.m.26/7/09
para Евгений Н.

> На AS-редактор со стороны сообщества - я бы не возлагал
> серьезных надежд. Чтобы все это максимально тщательно и аккуратно
> сделать, с учетом виртуальной машины 2-ой ревизии - понадобится года
> 2 упорного труда, а тогда и 3-яя виртуальная машина должна
> появиться. Т.е. "догонялки" закончатся нескоро. Пока вам представят
> некую поделку, реализующую часть каких-то вещей, но полноценным
> средством это будет назвать очень и очень сложно, имно.

Читал какие-то пространные рассуждения, что из редактора будет конвертироваться в AS-код.

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

Кардинально это ничего не решает, а при десятках таких фич - может здорово замусорить AS-код непонятными включениями с автоматической автонумераций (что автоматически будет подставляться).

Похоже спутали моделирование предметной области, с глюками и недоделками AS. Костылей и так хватает, а что если какие-то баги или недоделки исправят, при апдейтах - что тогда?

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

Это нужно на уровне фреймворков делать, если уж хочется, и этот подход применялся еще во времена AS2.

Велосипеды, костыли, и абсолютно не спасает от необхлдимости учить.

Для сторонников функционального программирования - есть другие языки.

--
Евгений Н.

Евгений Н.

no leída,
26 jul 2009, 8:13:26 p.m.26/7/09
para Евгений Н.

И заранее извиняюсь, что отвечать на какие-то уточняющие вопросы - навряд ли буду.

Во-первых жаль своего времени, да и нет его особо.

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

--
Евгений Н.

Daniil Tutubalin

no leída,
26 jul 2009, 8:56:40 p.m.26/7/09
para ruF...@googlegroups.com
Вот честное пенсионерское - мало что понял из этой тирады.
Понятно только одно: "MPS не видел, но осуждаю".

Если говорить о настоящих проблемах MPS, то я, на правах нуба, но хотя
бы попробывавшего в действии, выделил бы следующие:

1. Недостаток документации и примеров на данный момент. Руководство
пользователя недостаточно подробное и до сих пор содержит TODO.
Но думаю со временем это исправиться.

2. Не очень удобно редактировать ячеистую программу. Писать с нуля -
да легко. Но редактировать неудобно. Особенно напрягает выделение - не
всегда получается выделить нужный блок, то выделяется слишком много,
то слишком мало. И не всегда работает удаление с помощью кнопок
Backspase и Delete.

3. Может быть я чего-то не знаю, но насколько я понял при написании
нового языка приходится заново писать стандартные концепты типа
Expression + кучу потомков.
Причём для каждого оператора нужно создавать отдельный концепт. Из-за
этого создание языка с нуля получается довольно трудоёмким.

> Читал какие-то пространные рассуждения, что из редактора будет конвертироваться в AS-код.
> Зачем все это нужно, кроме того, чтобы добавить enum и еще каких-то пары вещей-эмуляции.

> Костылей и так хватает, а что если какие-то баги или недоделки исправят, при апдейтах - что тогда?

Затем, что можно не дожидаться, пока исправят, а исправлять самостоятельно.
Или вовсе сделать собственный язык, который опять же будет
транслироваться в AS. Или не в AS.
Если баги исправят, то можно будет исправить и язык в MPS.
Появится "родной" enum в AS - можно будет внести исправления в
генератор, при этом исходники самого Flash-приложения менять не
придётся.

Олег Галабурда

no leída,
26 jul 2009, 9:19:31 p.m.26/7/09
para ruF...@googlegroups.com
Здрасте!

> Вот честное пенсионерское - мало что понял из этой тирады.
> Понятно только одно: "MPS не видел, но осуждаю".

А я всё понял, и более того, частично согласен.
Похоже одновременно на старческие предостережения и трезвое рассуждение.

Только не понял, к чему хелп по UML на доске.

> Зачем все это нужно, кроме того, чтобы добавить enum и еще каких-то пары вещей-эмуляции.

Мне было бы приятно использовать, к примеру, перегрузку операторов в AS коде.


--
Oleg Galaburda
http://blog.actualwave.com/

Ivan Dembicki

no leída,
26 jul 2009, 9:47:19 p.m.26/7/09
para ruF...@googlegroups.com
Hello Евгений,

Знаешь, некоторое время назад я проникся тем, что у нас БУДЕТ СВОЙ
РЕДАКТОР AS. Не поделка, как ты выразился, а редактор.

Я не знаю, как быстро он станет полноценным, ибо, разумеется, мы его
выложим еще при отсутствии всех планируемых возможностей. Но уже в
этом состоянии он будет не хуже, чем Flex, например. Хотя, конечно,
полностью его не сможет заменить на первом этапе. Но этого и не
добиваемся. Пока.

Нам для проекта требуется несколько вещей, которые мы с легкостью
сможем реализовать создав соответствующие языки или расширения AS.
С помошью редактора мы с легкостью решаем проблемы, которые иначе
решить совершенно _никак_ нельзя. И таких проблем в программировании,
как в бизнес-процессе, длиннющий список.

Если тебе вдруг показалось, что целый редактор делался для того, чтобы
в AS появилось несколько вкусностей, то ты сейчас только ухватился за
кончик хвоста слона и по нему пытаешься определить как выглядит
остальная часть.
А остальная часть куда больше чем тебе может показаться. И есть такие
фичи, только за одну из которых стоит бросить всё и перейти на эту
систему. А таких фич десятки. И ты смог ни одной не увидеть.
Поздравляю.

Расскажи мне, как ActionScript программеру c помощью OOP, UML и бубна:
- однажды написав программу на AS выгнать её в разные языки под разные
платформы?
- дать возможность человеку, знающему AS, написать билд проекта на AS,
а не мучиться с ANT-ом?
- и т.п.
вопросов могу назадавать много, но быссмысленно - ты вроде как
отвечать отказался заранее.

MPS решает задачи другого ПОРЯДКА, нежели архитектура или
планирование. Как следствие, принципиально изменяется система
отношений в процессе программирования. И продукт становится в итоге
более дешевым в разработке. А это главный ответ и главный показатель
эффективности системы.

Альтернатива - постоянное изучение разных языков и технологий. На
работу времени не оставется. Или на отдых.
А всё должно быть не так. Знаешь AS - тебе не надо учить ANT, Java,
серверные языки и еще массу всего. Это должна делать железяка.
И это только одна грать вопроса. А граней таких масса.

Недостатки? Они есть и их достаточно. Но это нормально. Система из
теоретической становится практической и это процесс не на один день.
Не понимать этого, по меньшей мере - странно.
Да, на MPS тяжело писать весь язык и редактор с нуля. Но трудозатраты
несопоставимы с разработкой редактора под Eclipse, поверь. А получив
это, дальше двигаться гораздо проще и эффективнее.

Ну и, в конце-концов, будет первый русский редактор AS, что само по
себе хорошая новость :)

--
iv
http://www.bezier.ru
http://bezier.googlecode.com

Евгений Н.

no leída,
26 jul 2009, 9:47:24 p.m.26/7/09
para Daniil Tutubalin

> Затем, что можно не дожидаться, пока исправят, а исправлять самостоятельно.
> Или вовсе сделать собственный язык, который опять же будет
> транслироваться в AS. Или не в AS.

Во времена AS2 на некоторых фирмах использовался AS-фреймворк, который давал возможность программировать
полностью в Java-стиле, со многими коллекциями, исключениями и т.д. и т.п.

Не то 'as2lib' назывался, не то как-то еще.

"Внутренняя начинка" в нем была сделана на AS1, а "внешне" ты мог использовать многие возможности из Java.

Списков с возможностью сортировки не было, это точно помню. ArrayList, HashMap, UnsupportedOperationException -
были, часто использовались товарищами вроде меня (многие возможности тогда и не понадобились).

Под GUI это долго писать и интегрировать, это факт. То, что за 2 часа бета-версию обертки слелали, с замусорированием
получающегося AS3-кода - гораздо удобнее использовать инкапсуляцию.


Пускай будет класс Enum в таком-то пакете. Сколько нужно минут, чтобы написать его? И это гораздо-гораздо гибче (сравним возможность
сделать рефакторинг наименований в таком фреймворке, вынести, "поднять" метод и т.п. - IDE это сделает за секунду, а сколько в дереве
MPS нужно будет по времени изменять и поддерживать интеграцию взаимную правил?)

--
Евгений Н.

Ivan Dembicki

no leída,
26 jul 2009, 10:18:45 p.m.26/7/09
para ruF...@googlegroups.com
Hello Евгений,

> а сколько в дереве MPS нужно будет по времени изменять и поддерживать интеграцию взаимную правил?)

- вот тут я вижу некоторый корень непонимания.
MPS ровный. С увеличением количества правил программа не усложняется
так, как если бы она была написана в Eclipse.
Даже сей

Ivan Dembicki

no leída,
26 jul 2009, 10:23:14 p.m.26/7/09
para ruF...@googlegroups.com
> Даже сей
упс, улетело случайно

так вот, даже сейчас редактор разрабатывается модульно - AS разбит на
несколько языков - так проще компилить и тестировать.

Евгений Н.

no leída,
26 jul 2009, 10:34:43 p.m.26/7/09
para Ivan Dembicki

Меня терзают большие сомнения.

В начале дискуссии Flash&Silverlight я поинтересовался - что можно ждать от AS4.

И не перейдет ли рынок MMORPG на Silverlight?


Лично для себя - я выучу SL, а потом, если будет прок от этого - и AS4, т.к. лично мою позицию
отсееиваем, как мало относяющуюся к вопросу.


А вот тебе, и еще некоторым людям - есть что терять. Не хочу тебе говорить, какими эпитетами описывают
флеш-платформу и кодинг на ней - во "внешнем" мире, в мире программистов C++, C#, Java.

Не утянешь ли ты на "дно" за собой - часть русскоязычных флеш-программистов, призрачными надеждами?

И тем, что статусы ведущих флеш-программистов - во "внешнем" мире - не упадут сразу до практически нулевой отметки?

Все эти блоги, сайты, безье - мало что там значат.

Рушится целый мир, мир отечественных флеш-разработчиков. Сколько лет ведет свой сайт Рост? Лет 8, а то и 10, верно?

Кому это будет нужно, "в постапокалиптическом мире серебряного света"? Никому.

Никто не скажет ни Росту, ни тебе - "О, уважуха". Нет, ну правда же?

Приходим, путем рассуждений, к выводу - мое мнение мало ангажированное, твое - в основном да.

Вопрос - будет ли флеш - пока не совсем понятно. Но технологически если брать - больше шансов у серебряного света.

А как получится - не известно.

В MPS лично я - мало верю, его создатели наверное поймут мои доводы. Вся эта "мета-информация" - нашла достойное применение -
в других элементах программирования.

Если бы лично я знал больше о 3D, знал планы и реальные возможности MS и Adobe - может быть сказал бы точно, по всему этому.

Заверения о "будущем", "широких возможностях" - ой-ой-ой. Полон скептицизма. Все возможности "мета" - давно известны. И активно
применяются.

Нет конечных выводов, у меня не хватает знаний и информации для оценки. Но вопрос стоит в плоскости - ТОЧНО ИЛИ НЕТ флеш проиграет.

На уровне грамотных фреймворков, реализующих многие вещи, ПОЗВОЛЯБЩИЕ НЕ ДЕЛАТЬ МНОГОЕ С НУЛЯ - он уже на пару лет отстает.

Если бы Red Hat купил технологию Flash - это бы, теоретически, дало бы больше шансов на развитие, чем редактор.

Но тут еще не понятно, как Oracle воспользуется JavaFX, во всяком случае, если что, это будет лишним поводом для MS стараться так же и дальше.


The End. :)


--
Евгений Н.

Евгений Н.

no leída,
26 jul 2009, 10:43:47 p.m.26/7/09
para Ivan Dembicki

Спорить не хочу, пожелаю творческих успехов и удачи! :)

--
Евгений Н.


Евгений Н.

no leída,
26 jul 2009, 11:07:08 p.m.26/7/09
para Олег Галабурда

> Только не понял, к чему хелп по UML на доске.


Оптимизации разработки с использованием UML, не все могут знать. Шло ответом на доводы на счет ООП,

в период "промоушена AS-редактора - "Учить ничего не нужно. Работа в офисе. Возраст значения не имеет".

Daniil Tutubalin> Понятно только одно: "MPS не видел, но осуждаю".

Повторюсь. По MPS смотрел видео-подкасты, читал обсуждения, смотрел примеры М. Фаулера на счет MPS, где он
наглядно показывает идею, с использованием скриншотов и описанием что зачем и почему. Писал он в 2005 г.,
говорит что живет недалеко от офиса JetBrains, поэтому и в курсе.

Тем более что направление интересное, этим многие интересуются.

Не скачивал, т.к. получил наглядное представление и так, вкупе с обсуждениями на хабре - вполне хватило.

Перед этим скачивал произведение другой, если можно так сказать, "секты".

И так много времени потеряно, буду я еще на ноды сам кликать.

--
Евгений Н.


Ivan Dembicki

no leída,
27 jul 2009, 12:46:44 a.m.27/7/09
para ruF...@googlegroups.com
Hello Евгений,

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

Вкратце - наличие mercedes не убило audi и т.п. Мир конкурентен и это
прекрасно - это заставляет шевелиться и адобе и майкрософт. И уж
беспокоиться о том, что флэшеры останутся без работы - абсурд.
Практика доказывает обратное - спрос на Flash разработчиков только
растет. Посмотри на динамику зарплат AS и C-шных кодеров.

И майкрософт шаг за шагом отдает позиции на главном фронте - OS, не
говоря уж об остальном. Это умирающая, бюрократизировавшаяся богатая
старушка. Она еще в состоянии за дорого купить процветающий бизнес, но
сама уже ничего родить не может. И что бы там у нее не было в руках,
какими бы богатствами не хвасталась, она старушка и всё тут. Она
привыкла обустраивать СОБСТВЕННУЮ квартирку - вечные проблемы с
другими платформами. И как это выглядит на фоне того, что квартирку
она уже понемногу теряет?

Я не скажу, что Адобе очень уж молодо и бодро выглядит - тоже девица
потрепана изрядно, но, в отличие от Майкрософт она не так расслаблена
и не привыкла почивать на лаврах. Читай - каждый доллар зарабатывает
сама, а не живет на проценты с давно сделанного монопольного бизнеса.
И для нас это хорошо.

То, что делаем мы - полезно Flash технологии в целом, хотя Адобе,
может и не будут рады новому редактору. Ну что-ж, пошевелят еще раз
мозгами и подумают что делать и куда двигаться.
А своим редактором мы поможем Flash-разработчикам еще и в SilverLight
проекты выгонять по необходимости. И не только в него в планах стоит.
А это - удешевление разработки в РАЗЫ. Не на 2.5% за счет грамотного
планирования проекта, не на 1.8% за счет применения UML диаграмм, а в
РАЗЫ. Да услышь.
А веришь ли ты, что когда-нибудь Майкрософт сделает выгон из
SilverLight во Flash? ха-ха-ха.

Я уж не говорю о таких вопросах, как мобильные платформы, поддержка
Flash на железном уровне и т.п.

Так вот, видишь, я тоже порассуждал о судьбах мира. Но знать их никому
не дано, поэтому всё, что ты написал - пустой треп. Всё, что я написал
- тоже пустой треп.

Но есть конкрентые вопросы технологии. Я их задал, ты не ответил.
Поэтому все твои предыдущие рассуждения о технологии в сумме дают
ноль. В то время как мы уже пол года в MPS с утра до вечера. А за два
года до этого Женя делал реальные проекты на MPS. И слегка
представляем себе, что это за зверь. Хотя понимаем, что знаем еще мало
- уж очень тема обширна, надо руками многое пощупать, прежде чем
рассуждать. Ну, чтобы рассуждения хоть копеечку стоили.

Alexander Izvekov

no leída,
27 jul 2009, 12:59:22 a.m.27/7/09
para ruF...@googlegroups.com
Иван, а расскажи, плз, с помощью какого
бубна будут учитываться особенности
платформы?
Звучит конечно заманчиво, но как то не
укладывается в голове..
вот, например, как написав программу
на АS выгнать ее в ранее упомянутый iPhone,
если сей чудный девайс требует
контролировать всю выделенную память.
отдавать на совесть компилятору?
а ведь иногда нужно отрелизить объект
вот именно в этом месте и именно сейчас.
Или в этом случае предлагается писать
на АS, но под конкретную платформу?
тогда аналогичная ситуация может
возникнуть если захочется потом
выгнать под другую :)
И смысл тогда так извращаться,
отказавшись от готовых решений и
фреймворков?
это элементарный пример, который
пришел в голову. О MPS до этой ветки
ничего не знал, не слышал, не видел..
возможно отстал.. , но вот не понимаю -
как? :)

Евгений Н.

no leída,
27 jul 2009, 1:30:10 a.m.27/7/09
para Ivan Dembicki

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

По всем принципиальным вопросам я написал. По которым не написал - значит оценил,
что ты не совсем понимаешь о чем говоришь и что пишешь.

У тебя уже несколько человек спрашивало, по действительно важным вопросам.

И в ответ какие-то пространные рассуждения или что-то вроде "потом что-нить придумаем".

--
Евгений Н.

Ivan Dembicki

no leída,
27 jul 2009, 1:31:48 a.m.27/7/09
para ruF...@googlegroups.com
Hello Alexander,

> Или в этом случае предлагается писать
> на АS, но под конкретную платформу?

- думаю, что по ситуации. Мы пока не пробовали :)
Как пощупаем, скажем.

Ivan Dembicki

no leída,
27 jul 2009, 1:59:50 a.m.27/7/09
para ruF...@googlegroups.com
Hello Alexander,

> Или в этом случае предлагается писать на АS, но под конкретную платформу?

- согласись, что на этот вопрос однозначного ответа нет.
Всё зависит от особенностей платформы, в которую будет выгоняться проект.
В худшем случае - это прототипирование проекта, с последуюшим выгоном
в родной код платформы и дальнейшим допиливанием руками.
В лучшем случае - это нажатие одной кнопки в нашем редакторе.
Третий вариант - написание на ~AS под конкретную не Flash платформу.
Что тоже может быть востребовано: мне проще будет разобраться в
AS-подобном коде, чем в каком-то другом.

> И смысл тогда так извращаться, отказавшись от готовых решений и фреймворков?

- а почему отказываться? Они могут быть портированы и довольно быстро,
часть даже включена в язык. Или использоваться как либы.
Разумеется, старая и обжитая среда обитания всегда имеет преимущество
в виде массы готовых решений, но все с чего-то начинали.
Начнем мы с, надеюсь, хорошего редактора - это уже немало. Будем
обживаться. Не наскоком брать собрались тему. Знаем, что впереди много
работы.

Вообще, на первом этапе редактор делается для нас самих, для нашего
проекта. С особенностями, которые мы не можем реализовать иначе.
Часть проекта - редактор мы сможем выложить в бесплатный доступ. Это
хорошо? Хорошо. Ну максимум, сделаем кнопку donate. Дальше посмотрим
как дела пойдут - может будет смысл развить его дальше, а может и
оставить как есть. А может сделать опенсорсным и дать сообществу
развить его до небывалых высот.
Фиг его знает пока.

Valentin Simonov

no leída,
27 jul 2009, 2:15:17 a.m.27/7/09
para ruF...@googlegroups.com
Я не пойму в чем корень спора, товарищ Евгений Н.
Народ делает редактор AS3, который по моим представлениям будет похож на IDEA. MPS или не MPS — какая разница?
Редактор молодой и уже сейчас видно что будет и чего не будет в первом релизе. Это хорошо.

Как это противоречит вашему представлению об OOP и проектированию с помощью UML? Помоему никак совершенно. Спокойно делаем что делали раньше, пишем наше гламурное OOP и наслаждаемся нашими любимыми практиками.

А теперь вспоминаем, что это MPS! Тупим месяцок над документацией и что можем сделать для нашего с вами удобства? Да только небольших расширений AS3 массу, например AOP, дополнительные типы и конструкции, включения небольших DSL на базе существующих фреймворков и библиотек. Ведь все эти библиотеки и есть по сути DSL. Пишем расширение языка под нашу гламурную библиотечку, пишем вывод этого языка в испльзование объектов библиотеки и все счастливы.

Да, косяков в MPS сейчас масса, да работу нужно проделать колоссальную, чтобы обеспечить быстроту и удобство разработки.
Только странными необоснованными разговорами делу не помочь.
Лучше бы подошли к Жене и сказали "Женя, чем тебе помочь с редактором-то?"

Такие дела.

Евгений Н.

no leída,
27 jul 2009, 2:15:51 a.m.27/7/09
para Ivan Dembicki

>> Или в этом случае предлагается писать на АS, но под конкретную платформу?

> - согласись, что на этот вопрос однозначного ответа нет.

Есть. CLR от Microsoft - решает в бОльшей части этот вопрос, а DLR только дополняет эту картину.

Уже все готовое, отлаженное, встроенное в среду разработки. Без всяких "может быть", "потом", "6 лет".

И не такие большие деньги, если разобраться, за возможности. Тем более не такие маленькие у нас зарплаты,
чтобы раз не купить их IDE.

Есть и вообще бесплатный вариант MS Visual Studio 2008. А так же по студенческой лицензии, есть.

Это "максимальный" ваш вариант. Уже реализован.


Для "минимального" - с одной стороны уже есть FDT, с другой стороны - писать никто не запрещает,
это ваше желание, сейчас много всего open source.

--
Евгений Н.

Евгений Н.

no leída,
27 jul 2009, 2:20:51 a.m.27/7/09
para Valentin Simonov



Лучше бы подошли к Жене и сказали "Женя, чем тебе помочь с редактором-то?"



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

Я придумал свою вещь и работаю над ней, почему я должен еще где-то участвовать?

--
Евгений Н.

Ivan Dembicki

no leída,
27 jul 2009, 2:36:27 a.m.27/7/09
para ruF...@googlegroups.com
Hello Евгений,

> По всем принципиальным вопросам я написал. По которым не написал - значит оценил,
> что ты не совсем понимаешь о чем говоришь и что пишешь.

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

Так вот, Евгений, я не знаю, мне неизвестна ни одна твоя работа.
Я не знаю, мне неизвестен ни один твой опенсорсный проект.
При этом, готов спорить, что за последние 5 лет ты сменил не менее
5-ти рабочих мест. Это по очень оптимистичным оценкам. Скорее всего
цифра раза в 2 больше. И да, готов спорить, что ты сам уходил, потому,
что тебя работодатели и коллеги не понимали. Они плохие все и ужасные.
Они все непрофессионалы.
Думаю, что ты не в состоянии представить положительную рекомендацию ни
от одного работодателя или коллег.
Не удивлюсь, если ты сейчас сидишь без работы. При таком-то дефиците
разработчиков.
При этом, в этой рассылке небыло ни одного ответа от тебя, который бы
КОНКРЕТНО помог людям.
Могу ошибаться, но НИ ОДНОЙ конкретной строчки кода, которую можно
скопировать и вставить в проект, от тебя в этой рассылке небыло.
Разочаруй меня - архивы группы все на месте.

Я сталкивался с такими людьми. Много общих познаний в тысяче разных
областей, но добиться одной рабочей строчки кода невозможно. А
готового проекта, который бы ты сделал от начала и до конца, сам или в
команде, тем более не найти.

Но вот покритиковать чужое, порассуждать - хлебом не корми. Ведь
порассуждать - не ящики ворочать. А не ошибается только тот, кто
ничего не делает. И ты это знаешь. И ты пытаешься поднять свою
значимость простым поведением: Что-то сделал? - Получи!

Всё это в комплексе заставляет меня думать, что ты непрофессионал.
Сорри.


> У тебя уже несколько человек спрашивало, по действительно важным вопросам.
> И в ответ какие-то пространные рассуждения или что-то вроде "потом что-нить придумаем".

- в этой ветке? Еще где-то? Ткни меня носом плз.
Если я знаю ответ - я отвечу, если не знаю - то не знаю пока ответ и всё тут.

Alexander Izvekov

no leída,
27 jul 2009, 2:39:33 a.m.27/7/09
para ruF...@googlegroups.com

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

да, согласен :) с айфоном пример
довольно жесткий.
в случае платформы с похожей
архитектурой перегонка выглядит
вполне реально. а если я правильно
понял и это можно будет допилить
самому, то очень очень занчиво.. вобщем
удачи :)

> Есть. CLR от Microsoft - решает в бОльшей
> части этот вопрос, а DLR только
> дополняет эту картину.


а вот тут не согласен. херня этот CLR,
виртуальная машина и перегонка в
нэйтив ну никак не тоже самое. ngen не
предлагать, тоже не то


Maxim Degtyarev

no leída,
27 jul 2009, 2:42:03 a.m.27/7/09
para Евгений Н.

Hello Евгений,

Зачем столько эмоций вкупе с кратким курсом UML?
Вроде бы никто и не нарекал его "убийцей UML"?
Если MPS никому не пригодится, то он естественным образом загнётся.
Ну а коль не загнётся, то значит имеет право на жизнь.

ЕН> Саму разработку не качал (качал в чем-то аналоги других,
ЕН> объединенных в аналогичные секты, причем в отдельных случаях, в
ЕН> других - речь идет про академические умы), но посмотрел несколько
ЕН> видео-подкастов, вскользь просмотрел 2 статьи М. Фаулера на счет
ЕН> MPS и аналогичного, прочел комментарии, ответы на вопросе здесь,
ЕН> на хабре и на лоре.

Кучу всего прочли и просмотрели, но так и не удосужились скачать сам
предмет обсуждения? Вспоминается пословица "Лучше один раз увидить, чем
сто раз услышать" ;)

ЕН> 3) ООП - это стандартизиованный подход, применяемый во всем мире.
ЕН> Нужно только лишь один раз все изучить, и эти знания вам
ЕН> пригодятся во всех основых языках программирования.

ЕН> Мало того - это знания с вас потребуют. Вавилонские башни
ЕН> никому не нужны. Если каждый в школе, вместо того чтобы учить
ЕН> русский/японский/французский язык - будет придумывать свой
ЕН> велосипед - последствия очевидны.

Можно подумать, что на реальном производстве не разрабатывают свои и
не адаптируют общепринятые методики, рекоммендации и фреймворки с тулкитами.

ЕН> --
ЕН> Евгений Н.

--
Best regards,
Maxim mailto:md...@mail.ru

Евгений Н.

no leída,
27 jul 2009, 2:42:39 a.m.27/7/09
para Ivan Dembicki

>> По всем принципиальным вопросам я написал. По которым не написал - значит оценил,
>> что ты не совсем понимаешь о чем говоришь и что пишешь.

> - ты крут. Ты телепат. Хотя нет, ты хам.

Ты первый начал, прочти свои слова. На твои бредовые обвинения - поругайся с зеркалом.

--
Евгений Н.


Aleksey Fomkin

no leída,
27 jul 2009, 2:45:05 a.m.27/7/09
para ruF...@googlegroups.com
27 июля 2009 г. 6:34 пользователь Евгений Н. (niko...@mail.by) написал:

> А вот тебе, и еще некоторым людям - есть что терять. Не хочу тебе говорить, какими эпитетами описывают
> флеш-платформу и кодинг на ней - во "внешнем" мире, в мире программистов C++, C#, Java.
> Не утянешь ли ты на "дно" за собой - часть русскоязычных флеш-программистов, призрачными надеждами?
> И тем, что статусы ведущих флеш-программистов - во "внешнем" мире - не упадут сразу до практически нулевой отметки?

Знаете, я вот не элита и не ведущий ни разу, но пара-тройка
предложений пописать на Сишарпе мне уже поступала. Не смотря на то,
что там думает небыдло во внешнем мире.

Ivan Dembicki

no leída,
27 jul 2009, 2:47:25 a.m.27/7/09
para ruF...@googlegroups.com
Hello Евгений,

> Ты первый начал, прочти свои слова. На твои бредовые обвинения - поругайся с зеркалом.

- ну хотябы показал строчку кода в рассылке в подтверждение своих
слов. Это же элементарно сделать - 2 минуты. Эххх.

**ушел ругаться с зеркалом**

Евгений Н.

no leída,
27 jul 2009, 2:47:57 a.m.27/7/09
para Alexander Izvekov

>> Есть. CLR от Microsoft - решает в бОльшей
>> части этот вопрос, а DLR только
>> дополняет эту картину.


> а вот тут не согласен. херня этот CLR,
> виртуальная машина и перегонка в
> нэйтив ну никак не тоже самое. ngen не
> предлагать, тоже не то

Почему? Не на 100% то, да.

Есть много языков программирования. Практически на любой вкус (включая
Python).

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

Да, под айфон не напишешь. Но языков программирования действительно много.

Да, оно не совсем то. Но никто больше и близко не подошел к подобному.


--
Евгений Н.

Alexander Izvekov

no leída,
27 jul 2009, 3:01:11 a.m.27/7/09
para ruF...@googlegroups.com
100% не то! CLR нужен когда у тебя
несколько разработчиков на разных .NET
совместимых языках, а проект и
платформа 1,
а мы говорили о упрощении
портирования под разные платформы.
вообще никак не связанные вещи и по
моему уже никак не относящиеся к теме
редактора :)

Евгений Н.

no leída,
27 jul 2009, 3:10:50 a.m.27/7/09
para Alexander Izvekov

> 100% не то! CLR нужен когда у тебя
> несколько разработчиков на разных .NET
> совместимых языках, а проект и
> платформа 1,

Почему? Каждый язык - может задействовать только одному ему характерные возможности.

И стили программирования (вспомнить F#, это полностью функциональный язык программирования,
он будет включен в следующую версию студии, но уже можно использовать и в текущей, правда не в
экспресс-редакции студии, но в студенчесской редакции можно).


> а мы говорили о упрощении
> портирования под разные платформы.
> вообще никак не связанные вещи

Учитывая, что можно запускать на линуксе - я бы так не сказал, на счет платформ...

Со всеми "натяжками" и если посмотреть на цели, зачем оно все, и то
что для для проф. программирования под .NET - нужно знать саму
платформу - все же не так уж я и неправ...

> и по
> моему уже никак не относящиеся к теме
> редактора :)


Да...

--
Евгений Н.


Яски

no leída,
27 jul 2009, 3:39:44 a.m.27/7/09
para ruFlash
Иван, программирование заключается не только в написании кода,
получившуюся программу нужно еще отлаживать и профилировать. Как
обстоит эта сторона дела в вашем редакторе?

Ivan Dembicki

no leída,
27 jul 2009, 5:20:51 a.m.27/7/09
para ruF...@googlegroups.com
Hello Яски,

> получившуюся программу нужно еще отлаживать и профилировать. Как
> обстоит эта сторона дела в вашем редакторе?

- Никак. Редактора еще нет.
А будет или нет в день релиза зависит от того, решим мы ждать пока доделаем
или решим выпустить без этого.
А так - всё только планы. Может этого и не понадобится вовсе.

Яски

no leída,
27 jul 2009, 5:35:16 a.m.27/7/09
para ruFlash
Мне интересно как впринципе можно отлаживать код, который был написан
на одном языке, а затем протранслирован в целевой язык. Как это
решается в MPS?

Ivan Dembicki

no leída,
27 jul 2009, 5:43:57 a.m.27/7/09
para ruF...@googlegroups.com
Hello Яски,

> Мне интересно как впринципе можно отлаживать код, который был написан
> на одном языке, а затем протранслирован в целевой язык.

- в целевом языке, очевидно.
Чтобы дебажить программа должна быть запущена.

Anatoly Ropotov

no leída,
27 jul 2009, 6:18:03 a.m.27/7/09
para ruF...@googlegroups.com
2009/7/27 Ivan Dembicki <ivan.d...@gmail.com>

> Или в этом случае предлагается писать
> на АS, но под конкретную платформу?

- думаю, что по ситуации. Мы пока не пробовали :)
Как пощупаем, скажем.

Интересное начинание. Неподъёмное имхо по причине 100% зависимости каждой платформы от критичных API, которые не мапятся друг на друга, от идеологической разницы в главном цикле и ещё паре шаманских трюков. 

Вот мои use case примеры. 

Выгонять изначально MPS в C#. Там другая идеология главного цикла, API и ивенты мапятся лишь отчасти, итп - не работает такой подход. Экономия по времени будет аля "не надо делать search & replace всех типов данных!" - т.е. 1.85%. Или как от "конверторов языков" - знают базовый уровень фич и особенностей языка - ибо делаются под свой конкретный код, где на самом деле было быстрей написать конвертор, чем ручками делать. А чужой код, написанный с другим подходом, сразу покорёжат.  Т.е. дальше будет "у нас открытая система, пишите сами модули для своего языка - будет круто!". 

Писать на одном языке как на клиент, так и на сервер. "Это как" на haXe делать выгонку в PHP код? А перед этим haXe учить memcached и остальным бубнам? И как дебагить такую мешанину переврапленую на исходном языке? Кое-как, т.е. никак. 

К кроссплатформенной игровой разработке вообще неприменимо, ибо специфика каждой платформы требует добавлять десятки API во  фремйворк-враппер, производительность source/target систем и количество памяти обычно разнятся на порядки, рендерер и система ивентов различаются на 180º по своей идеологии. Рендеринг через setPixel на флеше и идеология OpenGL на iPhone - несовместимы. Врапить через шейдер рендеринг в текстуру? Может там Sprite->OpenGL ещё можно как-то додумать, но вот все бубны с менеджментом памяти - вообще никак не учесть без профайлера. И как дальше это расширять и дебагить? Никак. 
Кросс-платформенный движок у каждой игровой студии есть свой и сводится всё к тому, что мол да, можем на одной платформе девелопить для другой. До поры до времени. Потом бранч, переписать ядришко, прикрутить десяток API. А те, кто портируют на заказ - ну максимум фреймворчик свой есть, может враппер-прокладка-маппер между какими-то общими кроссплатформенными классами...


Давайте свои use case.
Одна страница A4 - существующая задача, конкретное решение:

"Евлампий - программист AS2 от бога. Он хочет перейти то ли на CS3, то ли на Builder 4, но вся эта новая документация его смущает. Он выбирает MPS, потому что надеется, что ему больше никогда никуда не нужно будет переходить на другую IDE. Пачиму? (пример: Сэмплов много, обеспечивается SLA, к тому же наше всё - круто!)"
и
"Елбона пишет на AS3 так, что только щепки летят. Но что-то её гложет - не чает она души в enum. Она бросает всё и с головой ныряет в омут MPS. Пачиму?"
и
"Выгонка MPS в Java или C#"


--
Anatoly Ropotov
A goal is a dream with a deadline

denis.sh...@gmail.com

no leída,
27 jul 2009, 6:35:39 a.m.27/7/09
para Ivan Dembicki
А можно немного поподробнее рассказать о том как делается IDE для AS3
в MPS. Немного покрутил и увидел как здорово там пишутся новые языки с
возможностью транслирования в любой целевой язык, но в какой момент
можно использовать всю мощь IDEA для его редактирования не средствами
MPS а собственным продуктом, так и не увидел, ткните пальцем,
пожалуйста. Спасибо.

--
Denis Sheremetov

Jloa

no leída,
27 jul 2009, 6:46:54 a.m.27/7/09
para ruFlash

Думаю, ответ очевиден - отлаживать в одном языке )
Всегда можно транслировать, скажем, в as3 и использовать
MonsterDebugger (или свой LocalConnection)
для отладки. Если, я все правильно понял

Яски

no leída,
27 jul 2009, 7:48:21 a.m.27/7/09
para ruFlash
Суть MPS как я понял в том, что мы пишем на языке наиболее близком к
решаемой задаче, а затем компилируем в рабочий код. Если для того,
чтобы отлаживать программу мне придется разбираться в генерированном
коде, этот плюс системы сводится на нет. Хотя в теории можно сделать,
чтобы в новом языке все ошибки были видны до компиляции -- т.е. во
время выполнения будут происходить только ошибки связанные с основным
языком, а не с транслированным. Вопрос только остается за тем, как
определять к какой части кода относиться ошибка из части
сгенерированного кода.

Yuri Zhloba

no leída,
27 jul 2009, 7:57:32 a.m.27/7/09
para ruF...@googlegroups.com
Ну если интересует именно проблема компиляции одного языка на разные платформы, то надо приглядется, как это делают в haXe. Там, насколько я знаю, о полной поддержке, скажем, РНР или C++, речь не идет.
Есть некое подмножество возможностей целевого языка, которое описано как API, и им можно пользоваться. Я бы даже сказал, код компилируется под определенный фреймворк целевого языка и пишется только в рамках API, заданного этим фреймворком.
Насчет отладки тоже интересно, тут я не в курсе. Но ведь Николас и сотоварищи как-то отлаживают свои проекты :)
Каким боком опыт haXe будет полезен для MPS, не возьмусь сказать. Но некоторое сходство в проблемах, которые они решают, есть.

27 июля 2009 г. 14:48 пользователь Яски <xia...@yandex.ru> написал:



--
Жлоба Юрий

skype: yzh44yzh
jabber: yzh4...@gmail.com
icq: 303637330
phone: 8 029 400 07 53 (belcel)
site: http://yzh44yzh.com

Anatoly Ropotov

no leída,
27 jul 2009, 9:18:22 a.m.27/7/09
para ruF...@googlegroups.com
2009/7/27 Yuri Zhloba <yzh4...@gmail.com>

Насчет отладки тоже интересно, тут я не в курсе. Но ведь Николас и сотоварищи как-то отлаживают свои проекты :)


Попрошу обратить внимание, что все проекты Николаса (которого я немеряно конечно уважаю и был у них в гостях) - это мини-игры, в которых происходит постоянная перезагрузка контента каждые пару минут. Ни о каком destiny-online.ru и faor.ru с использованием его технологий речи пока не идёт - только теория! 

Yuri Zhloba

no leída,
27 jul 2009, 9:23:57 a.m.27/7/09
para ruF...@googlegroups.com
Ну да, надо признать, что крупных проектов на haXe мы пока не видали. 
Разве что http://www.comapping.com/ Эту штуку я юзал и она таки работает :)

Aleksey Fomkin

no leída,
27 jul 2009, 9:40:59 a.m.27/7/09
para ruF...@googlegroups.com
> Ни о каком destiny-online.ru и faor.ru с использованием его технологий
> речи пока не идёт - только теория!

Вот кстати у нас (http://chernovik-online.ru) сервер написан на OCaml
(надеюсь меня не треснут по башке за разглашение). Для него тоже не
особо много отладчиков (то, что есть не используется) и профайлеров. И
IDE нормальной нет. И работает неплохо. Это я к тому, что инструмент
не всегда выглядит солидно, но тем не менее годится для серьезных
задач. На счет клиента (которым занимаюсь я) могу сказать, что на haXe
он получился бы лучше. Мне так кажется. Во всяком случае наш DSL
описания моделей лучше перегонять в haXe нежели чем в as. Правда не
понятно, что делать с GUI.

Яски

no leída,
27 jul 2009, 10:00:50 a.m.27/7/09
para ruFlash
Реальное применение MPS я вижу в крупных проектах, для мелких на
создание DSL будет уходить слишком много времени. Но в тоже время,
если не будет нормальной отладки, то и о крупных проектах можно будет
забыть.

Евгений Н.

no leída,
27 jul 2009, 10:21:19 a.m.27/7/09
para Яски

У меня на последнем проекте применялся (с небольшой натяжкой это говорю) AI при дебагинге.

Идея была интересной и простой, скажем, за пол рабочего дня удалось убедить и обоих директоров и
непосредственного начальника, что в этом всем есть смысл (при практически deadline) и что нужно сделать.


Так, намеком, что в принципе можно придумать. :)

На сколько оно, то, здесь применимо, и каким образом - может и не применимо. А может применимо.

--
Евгений Н.

Daniil Tutubalin

no leída,
27 jul 2009, 11:14:37 a.m.27/7/09
para ruF...@googlegroups.com
> Ну да, надо признать, что крупных проектов на haXe мы пока не видали.
> Разве что http://www.comapping.com/ Эту штуку я юзал и она таки работает :)

Насколько я понимаю, почти все игры конторы Motion Tween сделаны на HaXe.
Конечно, они не сверх-крупные, но некоторые - достаточно сложные.

Daniil Tutubalin

no leída,
27 jul 2009, 11:16:13 a.m.27/7/09
para ruF...@googlegroups.com

"Мелкий flash-проект" - это тоже своебразный Domain.
Так что можно сделать DSL для мелких проектов, позволяющий превращать
мелкие проекты в нанопроекты.

Valentin Simonov

no leída,
27 jul 2009, 11:18:10 a.m.27/7/09
para ruF...@googlegroups.com
Верно, я бы использовал для быстрого создания простеньких однотипных сайтов.
Ибо надоело некоторые вещи каждый раз заново придумывать.

Ivan Dembicki

no leída,
27 jul 2009, 4:08:38 p.m.27/7/09
para ruF...@googlegroups.com
Comod:

Hello ruFlash,


я тут отваливался на некоторое время, возвращаюсь обратно и, о ужас!
Избыточное цитирование и робоссылки!!

Напоминаю:
вот такое вот: 2009/7/27 Foo Boo <foo...@gmail.com> написал:
у нас запрещено.
И запрещено увлекаться цитированием предыдущих писем.

Обратите внимание плз.

Jloa

no leída,
27 jul 2009, 7:10:41 p.m.27/7/09
para ruFlash
Вань, мне кажется, это из-за ответов из почтовых клиентов. Скажем, я
уже давно понял, что отвечать тхе батом! не стоит - он сует цитаты +
порой еще почему-то в хедер всякий хлам добавляет (только при ответах
сюда). Так что, выбираю веб, хоть и не очень удобно.

Кстати, а чего такой холи-вар-то устроили ? ^_^

Daniil Tutubalin

no leída,
27 jul 2009, 7:27:09 p.m.27/7/09
para ruF...@googlegroups.com
> Кстати, а чего такой холи-вар-то устроили ? ^_^

Ну а как же революция и без гражданской войны? :)

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

no leída,
28 jul 2009, 1:45:56 p.m.28/7/09
para ruFlash
> 2. Не очень удобно редактировать ячеистую программу. Писать с нуля -
> да легко. Но редактировать неудобно. Особенно напрягает выделение - не
> всегда получается выделить нужный блок, то выделяется слишком много,
> то слишком мало. И не всегда работает удаление с помощью кнопок
> Backspase и Delete.

Про выделение. Как я понимаю напрягает в конструкциях 1+2+3.
Хотим выделить 2+3. Ставим курсор на 2, shift+left, а выделяетя весь
блок (1+2+3)
тут проблема в BinaryOperation.
На самом деле конструкция выглядит <<1+2>+3> - два вложенных
BinaryOperation (PlusOperation) с левой и правой частью.
Видим плоский набор циферек и плюсиков, а на самом деле это дерево.
Я решил эту проблему в AS перехватом клавиатурных команд выделения и
перестройкой дерева в соответствии с логикой выделения враво-влево.
У меня какое бы дерево не было, выделяться оно будет как текст.

Про удаление. Я тоже тут немного помудрил (в AS). У меня на маке не
работает комбинация shift+DEL которая по логике должна удалять ноду
как ты ожидаешь. Поэтому сделал комбинацию shift+ctrl+BACKSPACE и нода
удаляется где бы не находился курсор и перестраивается BinaryOparation
дерево.

Еще скажу что проблемы решаемы, и ячеестое представление дает не
только минусы но и плюсы. Я лично уже злюсь когда в Idea не могу
передвинуть нод влево или выделить сразу логический блок как в MPS. К
комфорту привыкаешь.

Daniil Tutubalin

no leída,
28 jul 2009, 2:33:56 p.m.28/7/09
para ruF...@googlegroups.com
Я когда делал редактор к одному из концептов, там получилась табличка
(вертикальные и горизонтальные коллекции).
Я долго мучался, прежде чем у меня вышло выделить именно эту табличку.
Почему-то MPS упорно хотел выделить весь код редактора.
Могу сделать скринкаст, но не знаю, куда его выложить.

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

no leída,
28 jul 2009, 2:40:23 p.m.28/7/09
para ruF...@googlegroups.com
хм, в эдитор lang там както совсем все просто с выделением... может я
просто уже привык и делаю все на автомате...
а какими комбинациями клавиш выделял?
если бы на скринкасте еще увидеть комбинации клавиш...

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

Daniil Tutubalin

no leída,
28 jul 2009, 2:46:02 p.m.28/7/09
para ruF...@googlegroups.com
Вот такой редактор:

editor for concept Kernel
node cell layout:
[/
[> <languageVersion : { version } ;> <]
<constant>
[> kernel { name } <]
[/
<constant>
[> void evaluatePixel() { <]
[> ---> % body % <]
}
/]
/]

inspected cell layout:
<choose cell model>

Я ставлю курсор на первую [/
Нажимаю Ctrl+Вниз - выделяется весь текст. А ожидалось, что только от [/ до /]

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

no leída,
28 jul 2009, 3:10:36 p.m.28/7/09
para ruF...@googlegroups.com
нужно shift+вниз

ctl+UP - это выделить родителя,
а про ctl+DOWN я вообще не в курсе.

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


28.07.2009, в 20:46, Daniil Tutubalin написал(а):

Daniil Tutubalin

no leída,
28 jul 2009, 3:23:07 p.m.28/7/09
para ruF...@googlegroups.com
Увы, Shift+вниз - результат тот же самый. Выделилось всё.
И если попытаться выделять участки кода через shift+вправо,
shift+влево, то курсор прыгает малопредсказуемым образом.
Точнее, внутри ячейки всё нормально. Но стоит выйти за пределы ячейки,
как начинаются чудеса.
Зажми Shift и понажимай влево-вправо.

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

no leída,
28 jul 2009, 3:37:01 p.m.28/7/09
para ruF...@googlegroups.com
да ячейка вернего уровня ведет себя так, както никогда меня это не
смущало...

а ячейки что внутри рутовой выделяются уже по другому.
я выделяю больше ctrl+UP всегда хорош когда ты хочешь выделить один
элемент.
shift+up/down - это для детей коллекции - выделить метод(ы), statement-
ы, параметры метода.
тут логика такая - выделить элемент коллекции если он не выделен и
выдялять дальше элементы коллекции - вниз/вверх


Евгений Потапенко
eugene.joh...@gmail.com



28.07.2009, в 21:23, Daniil Tutubalin написал(а):

Valentin Simonov

no leída,
28 jul 2009, 3:49:33 p.m.28/7/09
para ruF...@googlegroups.com
надо сделать группу по MPS
все же ruFlash не совсем подходит
Responder a todos
Responder al autor
Reenviar
0 mensajes nuevos