Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2014-01-10 09:40:23 ЛС | профиль | цитата
Лично я уже много (мягко говоря) лет слушаю, про то, чего надо сделать сначала, а чего в конце.
Все аргументы наизусть знаю.

И знаю, что тут существует "гордиев узел", разрубить который можно только волевым усилием.

Выглядит это примерно так: ввести некие графические примитивы конечно можно же, чтобы программист на HiAsm стал конкурентоспособен в сравнении со скриптокодером.
Но это еще больше ухудшит эффективность кодов, и без того не самую высокую.
Произносится магическая фраза (почти Ваша) сделай сначала эффективную кодогенерацию, а потом добавим. Может быть.
Типа сначала сделай компилятор, а потом мы возьмем - и изменим язык. Под который этот компилятор написан.
Лично я так не умею. Тем более, что реально эффективная кодогенерация - реально сложная задача.
В процессе ее реализации придется решать примерно такие задачи: среда, а не программист должны принимать решения об инлайнинге методов; среда, а не программист должны специализировать универсальные коды элементов; среда, а не программист должна удалять неиспользуемые поля элементов; среда, а не программист должны заниматься т.н. "мемоизацией".
Это так - для начала.
Что совершенно не означает, что это невыполнимо. Просто - надо работать. И будет результат.
Причем, обращаю внимание, что ни один из известных мне компиляторов о вышеперечисленных задачах - даже думать не хочет. А нафига - программисты же есть. У них голова большая - пусть думают.

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

Из этого замкнутого круга лично я вижу только один выход. Плюнуть полностью на компилятор и кодогенератор на первом этапе. На основании самоочевидного факта, что не боги горшки обжигают. Типа: для кого - боги, просьба не беспокоиться.
Разработать графический язык. Не состряпать наспех, а именно разработать. И не приспосабливать графический язык к нашему умению стряпать коды (как сегодня, собственно говоря), а делать язык для Пользователя. И только для Пользователя.
Чтобы появились реальные основания надеяться, что его не придется дорабатывать в ближайшее десятилетие.
И, имея в виду все особенности графического языка (сегодня на него есть лишь наметки, которые я обещал изложить коллегам) плотно заняться кодогенерацией.
И никаких обратных совместимостей.
И это вовсе не месяц работы. Кодогенерацию в стиле сегодняшнего Windows - можно и быстрее месяца. Но будет ожидаемо тормузнутее сегодняшнего варианта.


Короче, я не верю в быстрые варианты. Настаивать, не буду - но вот не верю, что пройдет нечто похожее на Чапаевский наскок.
Не пройдет. Плавали - знаем...
Тут нужна грамотная осада по всем правилам стратегии и тактики.
А вовсе не:
сначала выбрать хотя бы 2 поддерживаемых кросспакетных языка, провести голосование.
кодо-генератор переписать на более простой язык.
и только потом думать о создании среды

карма: 9

0