И вот что хочу сказать.
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) ООП - это стандартизиованный подход, применяемый во всем мире. Нужно только лишь один раз все изучить, и эти знания вам пригодятся во всех основых языках программирования.
Мало того - это знания с вас потребуют. Вавилонские башни никому не нужны. Если каждый в школе, вместо того чтобы учить русский/японский/французский язык - будет придумывать свой велосипед - последствия очевидны.
--
Евгений Н.
Читал какие-то пространные рассуждения, что из редактора будет конвертироваться в AS-код.
Зачем все это нужно, кроме того, чтобы добавить enum и еще каких-то пары вещей-эмуляции.
Кардинально это ничего не решает, а при десятках таких фич - может здорово замусорить AS-код непонятными включениями с автоматической автонумераций (что автоматически будет подставляться).
Похоже спутали моделирование предметной области, с глюками и недоделками AS. Костылей и так хватает, а что если какие-то баги или недоделки исправят, при апдейтах - что тогда?
У многих есть свои методики и способы как сделать Singleton и т.д. и т.п. - зачем включения чужых реализаций этого?
Это нужно на уровне фреймворков делать, если уж хочется, и этот подход применялся еще во времена AS2.
Велосипеды, костыли, и абсолютно не спасает от необхлдимости учить.
Для сторонников функционального программирования - есть другие языки.
--
Евгений Н.
Во-первых жаль своего времени, да и нет его особо.
Во-вторых я вовсе не заменю лучшие умы в этой области, лучше изучать оригиналы и первоисточники, тем более что хватает книг на русском.
--
Евгений Н.
Если говорить о настоящих проблемах MPS, то я, на правах нуба, но хотя
бы попробывавшего в действии, выделил бы следующие:
1. Недостаток документации и примеров на данный момент. Руководство
пользователя недостаточно подробное и до сих пор содержит TODO.
Но думаю со временем это исправиться.
2. Не очень удобно редактировать ячеистую программу. Писать с нуля -
да легко. Но редактировать неудобно. Особенно напрягает выделение - не
всегда получается выделить нужный блок, то выделяется слишком много,
то слишком мало. И не всегда работает удаление с помощью кнопок
Backspase и Delete.
3. Может быть я чего-то не знаю, но насколько я понял при написании
нового языка приходится заново писать стандартные концепты типа
Expression + кучу потомков.
Причём для каждого оператора нужно создавать отдельный концепт. Из-за
этого создание языка с нуля получается довольно трудоёмким.
> Читал какие-то пространные рассуждения, что из редактора будет конвертироваться в AS-код.
> Зачем все это нужно, кроме того, чтобы добавить enum и еще каких-то пары вещей-эмуляции.
> Костылей и так хватает, а что если какие-то баги или недоделки исправят, при апдейтах - что тогда?
Затем, что можно не дожидаться, пока исправят, а исправлять самостоятельно.
Или вовсе сделать собственный язык, который опять же будет
транслироваться в AS. Или не в AS.
Если баги исправят, то можно будет исправить и язык в MPS.
Появится "родной" enum в AS - можно будет внести исправления в
генератор, при этом исходники самого Flash-приложения менять не
придётся.
> Вот честное пенсионерское - мало что понял из этой тирады.
> Понятно только одно: "MPS не видел, но осуждаю".
А я всё понял, и более того, частично согласен.
Похоже одновременно на старческие предостережения и трезвое рассуждение.
Только не понял, к чему хелп по UML на доске.
> Зачем все это нужно, кроме того, чтобы добавить enum и еще каких-то пары вещей-эмуляции.
Мне было бы приятно использовать, к примеру, перегрузку операторов в AS коде.
--
Oleg Galaburda
http://blog.actualwave.com/
Знаешь, некоторое время назад я проникся тем, что у нас БУДЕТ СВОЙ
РЕДАКТОР AS. Не поделка, как ты выразился, а редактор.
Я не знаю, как быстро он станет полноценным, ибо, разумеется, мы его
выложим еще при отсутствии всех планируемых возможностей. Но уже в
этом состоянии он будет не хуже, чем Flex, например. Хотя, конечно,
полностью его не сможет заменить на первом этапе. Но этого и не
добиваемся. Пока.
Нам для проекта требуется несколько вещей, которые мы с легкостью
сможем реализовать создав соответствующие языки или расширения AS.
С помошью редактора мы с легкостью решаем проблемы, которые иначе
решить совершенно _никак_ нельзя. И таких проблем в программировании,
как в бизнес-процессе, длиннющий список.
Если тебе вдруг показалось, что целый редактор делался для того, чтобы
в AS появилось несколько вкусностей, то ты сейчас только ухватился за
кончик хвоста слона и по нему пытаешься определить как выглядит
остальная часть.
А остальная часть куда больше чем тебе может показаться. И есть такие
фичи, только за одну из которых стоит бросить всё и перейти на эту
систему. А таких фич десятки. И ты смог ни одной не увидеть.
Поздравляю.
Расскажи мне, как ActionScript программеру c помощью OOP, UML и бубна:
- однажды написав программу на AS выгнать её в разные языки под разные
платформы?
- дать возможность человеку, знающему AS, написать билд проекта на AS,
а не мучиться с ANT-ом?
- и т.п.
вопросов могу назадавать много, но быссмысленно - ты вроде как
отвечать отказался заранее.
MPS решает задачи другого ПОРЯДКА, нежели архитектура или
планирование. Как следствие, принципиально изменяется система
отношений в процессе программирования. И продукт становится в итоге
более дешевым в разработке. А это главный ответ и главный показатель
эффективности системы.
Альтернатива - постоянное изучение разных языков и технологий. На
работу времени не оставется. Или на отдых.
А всё должно быть не так. Знаешь AS - тебе не надо учить ANT, Java,
серверные языки и еще массу всего. Это должна делать железяка.
И это только одна грать вопроса. А граней таких масса.
Недостатки? Они есть и их достаточно. Но это нормально. Система из
теоретической становится практической и это процесс не на один день.
Не понимать этого, по меньшей мере - странно.
Да, на MPS тяжело писать весь язык и редактор с нуля. Но трудозатраты
несопоставимы с разработкой редактора под Eclipse, поверь. А получив
это, дальше двигаться гораздо проще и эффективнее.
Ну и, в конце-концов, будет первый русский редактор AS, что само по
себе хорошая новость :)
> Затем, что можно не дожидаться, пока исправят, а исправлять самостоятельно.
> Или вовсе сделать собственный язык, который опять же будет
> транслироваться в AS. Или не в AS.
Во времена AS2 на некоторых фирмах использовался AS-фреймворк, который давал возможность программировать
полностью в Java-стиле, со многими коллекциями, исключениями и т.д. и т.п.
Не то 'as2lib' назывался, не то как-то еще.
"Внутренняя начинка" в нем была сделана на AS1, а "внешне" ты мог использовать многие возможности из Java.
Списков с возможностью сортировки не было, это точно помню. ArrayList, HashMap, UnsupportedOperationException -
были, часто использовались товарищами вроде меня (многие возможности тогда и не понадобились).
Под GUI это долго писать и интегрировать, это факт. То, что за 2 часа бета-версию обертки слелали, с замусорированием
получающегося AS3-кода - гораздо удобнее использовать инкапсуляцию.
Пускай будет класс Enum в таком-то пакете. Сколько нужно минут, чтобы написать его? И это гораздо-гораздо гибче (сравним возможность
сделать рефакторинг наименований в таком фреймворке, вынести, "поднять" метод и т.п. - IDE это сделает за секунду, а сколько в дереве
MPS нужно будет по времени изменять и поддерживать интеграцию взаимную правил?)
--
Евгений Н.
> а сколько в дереве MPS нужно будет по времени изменять и поддерживать интеграцию взаимную правил?)
- вот тут я вижу некоторый корень непонимания.
MPS ровный. С увеличением количества правил программа не усложняется
так, как если бы она была написана в Eclipse.
Даже сей
так вот, даже сейчас редактор разрабатывается модульно - AS разбит на
несколько языков - так проще компилить и тестировать.
В начале дискуссии Flash&Silverlight я поинтересовался - что можно ждать от AS4.
И не перейдет ли рынок MMORPG на Silverlight?
Лично для себя - я выучу SL, а потом, если будет прок от этого - и AS4, т.к. лично мою позицию
отсееиваем, как мало относяющуюся к вопросу.
А вот тебе, и еще некоторым людям - есть что терять. Не хочу тебе говорить, какими эпитетами описывают
флеш-платформу и кодинг на ней - во "внешнем" мире, в мире программистов C++, C#, Java.
Не утянешь ли ты на "дно" за собой - часть русскоязычных флеш-программистов, призрачными надеждами?
И тем, что статусы ведущих флеш-программистов - во "внешнем" мире - не упадут сразу до практически нулевой отметки?
Все эти блоги, сайты, безье - мало что там значат.
Рушится целый мир, мир отечественных флеш-разработчиков. Сколько лет ведет свой сайт Рост? Лет 8, а то и 10, верно?
Кому это будет нужно, "в постапокалиптическом мире серебряного света"? Никому.
Никто не скажет ни Росту, ни тебе - "О, уважуха". Нет, ну правда же?
Приходим, путем рассуждений, к выводу - мое мнение мало ангажированное, твое - в основном да.
Вопрос - будет ли флеш - пока не совсем понятно. Но технологически если брать - больше шансов у серебряного света.
А как получится - не известно.
В MPS лично я - мало верю, его создатели наверное поймут мои доводы. Вся эта "мета-информация" - нашла достойное применение -
в других элементах программирования.
Если бы лично я знал больше о 3D, знал планы и реальные возможности MS и Adobe - может быть сказал бы точно, по всему этому.
Заверения о "будущем", "широких возможностях" - ой-ой-ой. Полон скептицизма. Все возможности "мета" - давно известны. И активно
применяются.
Нет конечных выводов, у меня не хватает знаний и информации для оценки. Но вопрос стоит в плоскости - ТОЧНО ИЛИ НЕТ флеш проиграет.
На уровне грамотных фреймворков, реализующих многие вещи, ПОЗВОЛЯБЩИЕ НЕ ДЕЛАТЬ МНОГОЕ С НУЛЯ - он уже на пару лет отстает.
Если бы Red Hat купил технологию Flash - это бы, теоретически, дало бы больше шансов на развитие, чем редактор.
Но тут еще не понятно, как Oracle воспользуется JavaFX, во всяком случае, если что, это будет лишним поводом для MS стараться так же и дальше.
The End. :)
--
Евгений Н.
--
Евгений Н.
Оптимизации разработки с использованием UML, не все могут знать. Шло ответом на доводы на счет ООП,
в период "промоушена AS-редактора - "Учить ничего не нужно. Работа в офисе. Возраст значения не имеет".
Daniil Tutubalin> Понятно только одно: "MPS не видел, но осуждаю".
Повторюсь. По MPS смотрел видео-подкасты, читал обсуждения, смотрел примеры М. Фаулера на счет MPS, где он
наглядно показывает идею, с использованием скриншотов и описанием что зачем и почему. Писал он в 2005 г.,
говорит что живет недалеко от офиса JetBrains, поэтому и в курсе.
Тем более что направление интересное, этим многие интересуются.
Не скачивал, т.к. получил наглядное представление и так, вкупе с обсуждениями на хабре - вполне хватило.
Перед этим скачивал произведение другой, если можно так сказать, "секты".
И так много времени потеряно, буду я еще на ноды сам кликать.
--
Евгений Н.
я просто в очередной раз убедился в том, что на конкретно заданные
вопросы ты не реагируешь, и в ответ почему-то пускаешься в пространные
рассуждения про судьбы мира. Боюсь, что ничем, кроде судеб мира ты не
владеешь, поэтому и не отвечаешь.
Вкратце - наличие mercedes не убило audi и т.п. Мир конкурентен и это
прекрасно - это заставляет шевелиться и адобе и майкрософт. И уж
беспокоиться о том, что флэшеры останутся без работы - абсурд.
Практика доказывает обратное - спрос на Flash разработчиков только
растет. Посмотри на динамику зарплат AS и C-шных кодеров.
И майкрософт шаг за шагом отдает позиции на главном фронте - OS, не
говоря уж об остальном. Это умирающая, бюрократизировавшаяся богатая
старушка. Она еще в состоянии за дорого купить процветающий бизнес, но
сама уже ничего родить не может. И что бы там у нее не было в руках,
какими бы богатствами не хвасталась, она старушка и всё тут. Она
привыкла обустраивать СОБСТВЕННУЮ квартирку - вечные проблемы с
другими платформами. И как это выглядит на фоне того, что квартирку
она уже понемногу теряет?
Я не скажу, что Адобе очень уж молодо и бодро выглядит - тоже девица
потрепана изрядно, но, в отличие от Майкрософт она не так расслаблена
и не привыкла почивать на лаврах. Читай - каждый доллар зарабатывает
сама, а не живет на проценты с давно сделанного монопольного бизнеса.
И для нас это хорошо.
То, что делаем мы - полезно Flash технологии в целом, хотя Адобе,
может и не будут рады новому редактору. Ну что-ж, пошевелят еще раз
мозгами и подумают что делать и куда двигаться.
А своим редактором мы поможем Flash-разработчикам еще и в SilverLight
проекты выгонять по необходимости. И не только в него в планах стоит.
А это - удешевление разработки в РАЗЫ. Не на 2.5% за счет грамотного
планирования проекта, не на 1.8% за счет применения UML диаграмм, а в
РАЗЫ. Да услышь.
А веришь ли ты, что когда-нибудь Майкрософт сделает выгон из
SilverLight во Flash? ха-ха-ха.
Я уж не говорю о таких вопросах, как мобильные платформы, поддержка
Flash на железном уровне и т.п.
Так вот, видишь, я тоже порассуждал о судьбах мира. Но знать их никому
не дано, поэтому всё, что ты написал - пустой треп. Всё, что я написал
- тоже пустой треп.
Но есть конкрентые вопросы технологии. Я их задал, ты не ответил.
Поэтому все твои предыдущие рассуждения о технологии в сумме дают
ноль. В то время как мы уже пол года в MPS с утра до вечера. А за два
года до этого Женя делал реальные проекты на MPS. И слегка
представляем себе, что это за зверь. Хотя понимаем, что знаем еще мало
- уж очень тема обширна, надо руками многое пощупать, прежде чем
рассуждать. Ну, чтобы рассуждения хоть копеечку стоили.
По всем принципиальным вопросам я написал. По которым не написал - значит оценил,
что ты не совсем понимаешь о чем говоришь и что пишешь.
У тебя уже несколько человек спрашивало, по действительно важным вопросам.
И в ответ какие-то пространные рассуждения или что-то вроде "потом что-нить придумаем".
--
Евгений Н.
> Или в этом случае предлагается писать
> на АS, но под конкретную платформу?
- думаю, что по ситуации. Мы пока не пробовали :)
Как пощупаем, скажем.
> Или в этом случае предлагается писать на АS, но под конкретную платформу?
- согласись, что на этот вопрос однозначного ответа нет.
Всё зависит от особенностей платформы, в которую будет выгоняться проект.
В худшем случае - это прототипирование проекта, с последуюшим выгоном
в родной код платформы и дальнейшим допиливанием руками.
В лучшем случае - это нажатие одной кнопки в нашем редакторе.
Третий вариант - написание на ~AS под конкретную не Flash платформу.
Что тоже может быть востребовано: мне проще будет разобраться в
AS-подобном коде, чем в каком-то другом.
> И смысл тогда так извращаться, отказавшись от готовых решений и фреймворков?
- а почему отказываться? Они могут быть портированы и довольно быстро,
часть даже включена в язык. Или использоваться как либы.
Разумеется, старая и обжитая среда обитания всегда имеет преимущество
в виде массы готовых решений, но все с чего-то начинали.
Начнем мы с, надеюсь, хорошего редактора - это уже немало. Будем
обживаться. Не наскоком брать собрались тему. Знаем, что впереди много
работы.
Вообще, на первом этапе редактор делается для нас самих, для нашего
проекта. С особенностями, которые мы не можем реализовать иначе.
Часть проекта - редактор мы сможем выложить в бесплатный доступ. Это
хорошо? Хорошо. Ну максимум, сделаем кнопку donate. Дальше посмотрим
как дела пойдут - может будет смысл развить его дальше, а может и
оставить как есть. А может сделать опенсорсным и дать сообществу
развить его до небывалых высот.
Фиг его знает пока.
>> Или в этом случае предлагается писать на АS, но под конкретную платформу?
> - согласись, что на этот вопрос однозначного ответа нет.
Есть. CLR от Microsoft - решает в бОльшей части этот вопрос, а DLR только дополняет эту картину.
Уже все готовое, отлаженное, встроенное в среду разработки. Без всяких "может быть", "потом", "6 лет".
И не такие большие деньги, если разобраться, за возможности. Тем более не такие маленькие у нас зарплаты,
чтобы раз не купить их IDE.
Есть и вообще бесплатный вариант MS Visual Studio 2008. А так же по студенческой лицензии, есть.
Это "максимальный" ваш вариант. Уже реализован.
Для "минимального" - с одной стороны уже есть FDT, с другой стороны - писать никто не запрещает,
это ваше желание, сейчас много всего open source.
--
Евгений Н.
> По всем принципиальным вопросам я написал. По которым не написал - значит оценил,
> что ты не совсем понимаешь о чем говоришь и что пишешь.
- ты крут. Ты телепат. Хотя нет, ты хам. Ты огульно, походя
оскорбляешь меня, даже не пытаясь вникнуть или обеспокоить себя
уточняющим вопросом, чтобы действительно удостовериться в моем
_непонимании_ вопроса, но запросто расставляешь ярлыки. Получи
алаверды:
Так вот, Евгений, я не знаю, мне неизвестна ни одна твоя работа.
Я не знаю, мне неизвестен ни один твой опенсорсный проект.
При этом, готов спорить, что за последние 5 лет ты сменил не менее
5-ти рабочих мест. Это по очень оптимистичным оценкам. Скорее всего
цифра раза в 2 больше. И да, готов спорить, что ты сам уходил, потому,
что тебя работодатели и коллеги не понимали. Они плохие все и ужасные.
Они все непрофессионалы.
Думаю, что ты не в состоянии представить положительную рекомендацию ни
от одного работодателя или коллег.
Не удивлюсь, если ты сейчас сидишь без работы. При таком-то дефиците
разработчиков.
При этом, в этой рассылке небыло ни одного ответа от тебя, который бы
КОНКРЕТНО помог людям.
Могу ошибаться, но НИ ОДНОЙ конкретной строчки кода, которую можно
скопировать и вставить в проект, от тебя в этой рассылке небыло.
Разочаруй меня - архивы группы все на месте.
Я сталкивался с такими людьми. Много общих познаний в тысяче разных
областей, но добиться одной рабочей строчки кода невозможно. А
готового проекта, который бы ты сделал от начала и до конца, сам или в
команде, тем более не найти.
Но вот покритиковать чужое, порассуждать - хлебом не корми. Ведь
порассуждать - не ящики ворочать. А не ошибается только тот, кто
ничего не делает. И ты это знаешь. И ты пытаешься поднять свою
значимость простым поведением: Что-то сделал? - Получи!
Всё это в комплексе заставляет меня думать, что ты непрофессионал.
Сорри.
> У тебя уже несколько человек спрашивало, по действительно важным вопросам.
> И в ответ какие-то пространные рассуждения или что-то вроде "потом что-нить придумаем".
- в этой ветке? Еще где-то? Ткни меня носом плз.
Если я знаю ответ - я отвечу, если не знаю - то не знаю пока ответ и всё тут.
Зачем столько эмоций вкупе с кратким курсом UML?
Вроде бы никто и не нарекал его "убийцей UML"?
Если MPS никому не пригодится, то он естественным образом загнётся.
Ну а коль не загнётся, то значит имеет право на жизнь.
ЕН> Саму разработку не качал (качал в чем-то аналоги других,
ЕН> объединенных в аналогичные секты, причем в отдельных случаях, в
ЕН> других - речь идет про академические умы), но посмотрел несколько
ЕН> видео-подкастов, вскользь просмотрел 2 статьи М. Фаулера на счет
ЕН> MPS и аналогичного, прочел комментарии, ответы на вопросе здесь,
ЕН> на хабре и на лоре.
Кучу всего прочли и просмотрели, но так и не удосужились скачать сам
предмет обсуждения? Вспоминается пословица "Лучше один раз увидить, чем
сто раз услышать" ;)
ЕН> 3) ООП - это стандартизиованный подход, применяемый во всем мире.
ЕН> Нужно только лишь один раз все изучить, и эти знания вам
ЕН> пригодятся во всех основых языках программирования.
ЕН> Мало того - это знания с вас потребуют. Вавилонские башни
ЕН> никому не нужны. Если каждый в школе, вместо того чтобы учить
ЕН> русский/японский/французский язык - будет придумывать свой
ЕН> велосипед - последствия очевидны.
Можно подумать, что на реальном производстве не разрабатывают свои и
не адаптируют общепринятые методики, рекоммендации и фреймворки с тулкитами.
ЕН> --
ЕН> Евгений Н.
--
Best regards,
Maxim mailto:md...@mail.ru
> - ты крут. Ты телепат. Хотя нет, ты хам.
Ты первый начал, прочти свои слова. На твои бредовые обвинения - поругайся с зеркалом.
--
Евгений Н.
Знаете, я вот не элита и не ведущий ни разу, но пара-тройка
предложений пописать на Сишарпе мне уже поступала. Не смотря на то,
что там думает небыдло во внешнем мире.
> Ты первый начал, прочти свои слова. На твои бредовые обвинения - поругайся с зеркалом.
- ну хотябы показал строчку кода в рассылке в подтверждение своих
слов. Это же элементарно сделать - 2 минуты. Эххх.
**ушел ругаться с зеркалом**
> а вот тут не согласен. херня этот CLR,
> виртуальная машина и перегонка в
> нэйтив ну никак не тоже самое. ngen не
> предлагать, тоже не то
Почему? Не на 100% то, да.
Есть много языков программирования. Практически на любой вкус (включая
Python).
Программа, написанная на одной из языков под CLR - должна обеспечить
совместимость например с классом, написанным на другом языке под CLR - только
в их "общей части", в проекте.
Да, под айфон не напишешь. Но языков программирования действительно много.
Да, оно не совсем то. Но никто больше и близко не подошел к подобному.
--
Евгений Н.
Почему? Каждый язык - может задействовать только одному ему характерные возможности.
И стили программирования (вспомнить F#, это полностью функциональный язык программирования,
он будет включен в следующую версию студии, но уже можно использовать и в текущей, правда не в
экспресс-редакции студии, но в студенчесской редакции можно).
> а мы говорили о упрощении
> портирования под разные платформы.
> вообще никак не связанные вещи
Учитывая, что можно запускать на линуксе - я бы так не сказал, на счет платформ...
Со всеми "натяжками" и если посмотреть на цели, зачем оно все, и то
что для для проф. программирования под .NET - нужно знать саму
платформу - все же не так уж я и неправ...
> и по
> моему уже никак не относящиеся к теме
> редактора :)
Да...
--
Евгений Н.
> получившуюся программу нужно еще отлаживать и профилировать. Как
> обстоит эта сторона дела в вашем редакторе?
- Никак. Редактора еще нет.
А будет или нет в день релиза зависит от того, решим мы ждать пока доделаем
или решим выпустить без этого.
А так - всё только планы. Может этого и не понадобится вовсе.
> Мне интересно как впринципе можно отлаживать код, который был написан
> на одном языке, а затем протранслирован в целевой язык.
- в целевом языке, очевидно.
Чтобы дебажить программа должна быть запущена.
> Или в этом случае предлагается писать
> на АS, но под конкретную платформу?
- думаю, что по ситуации. Мы пока не пробовали :)
Как пощупаем, скажем.
--
Denis Sheremetov
Думаю, ответ очевиден - отлаживать в одном языке )
Всегда можно транслировать, скажем, в as3 и использовать
MonsterDebugger (или свой LocalConnection)
для отладки. Если, я все правильно понял
Насчет отладки тоже интересно, тут я не в курсе. Но ведь Николас и сотоварищи как-то отлаживают свои проекты :)
Вот кстати у нас (http://chernovik-online.ru) сервер написан на OCaml
(надеюсь меня не треснут по башке за разглашение). Для него тоже не
особо много отладчиков (то, что есть не используется) и профайлеров. И
IDE нормальной нет. И работает неплохо. Это я к тому, что инструмент
не всегда выглядит солидно, но тем не менее годится для серьезных
задач. На счет клиента (которым занимаюсь я) могу сказать, что на haXe
он получился бы лучше. Мне так кажется. Во всяком случае наш DSL
описания моделей лучше перегонять в haXe нежели чем в as. Правда не
понятно, что делать с GUI.
У меня на последнем проекте применялся (с небольшой натяжкой это говорю) AI при дебагинге.
Идея была интересной и простой, скажем, за пол рабочего дня удалось убедить и обоих директоров и
непосредственного начальника, что в этом всем есть смысл (при практически deadline) и что нужно сделать.
Так, намеком, что в принципе можно придумать. :)
На сколько оно, то, здесь применимо, и каким образом - может и не применимо. А может применимо.
--
Евгений Н.
Насколько я понимаю, почти все игры конторы Motion Tween сделаны на HaXe.
Конечно, они не сверх-крупные, но некоторые - достаточно сложные.
"Мелкий flash-проект" - это тоже своебразный Domain.
Так что можно сделать DSL для мелких проектов, позволяющий превращать
мелкие проекты в нанопроекты.
Hello ruFlash,
я тут отваливался на некоторое время, возвращаюсь обратно и, о ужас!
Избыточное цитирование и робоссылки!!
Напоминаю:
вот такое вот: 2009/7/27 Foo Boo <foo...@gmail.com> написал:
у нас запрещено.
И запрещено увлекаться цитированием предыдущих писем.
Обратите внимание плз.
Кстати, а чего такой холи-вар-то устроили ? ^_^
Ну а как же революция и без гражданской войны? :)
Про выделение. Как я понимаю напрягает в конструкциях 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. К
комфорту привыкаешь.
editor for concept Kernel
node cell layout:
[/
[> <languageVersion : { version } ;> <]
<constant>
[> kernel { name } <]
[/
<constant>
[> void evaluatePixel() { <]
[> ---> % body % <]
}
/]
/]
inspected cell layout:
<choose cell model>
Я ставлю курсор на первую [/
Нажимаю Ctrl+Вниз - выделяется весь текст. А ожидалось, что только от [/ до /]