Здравствуйте, MaxRos, Вы писали:
MR>По-моему очень интересно
А по-моему это лекция совсем даже не про тулзы.
А про то, как люди меняют мир.
И я собираюсь сделать то же самое.
И вот мой принцип: Языки программирования общего назначения должны умереть.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, MaxRos, Вы писали:
MR>По-моему очень интересно
На 5:10 он изменяет параметр цикла и делает наблюдение, что рисунок изменяется, как будто цветение обдувается ветром. Из чего он делает вывод, что это потому что он может интерактивно менять параметры. Ламер, блин! Это потому что цикл отрисовки цветения выполняется много раз, а в нем стоит рандомизация. Он даже не может посмотреть на код, чтобы это заметить!
Здравствуйте, MaxRos, Вы писали:
MR>По-моему очень интересно
Все это одно большое очковтирательство. То что он показал, это скорее системы моделирования (интерфейса, анимации, аналоговых цепей, и т.п.), где все происходит по четким законам. Эти законы можно формализовать, разбить на составные части, определить изменяющиеся параметры. А потом он уже комбинирует компоненты, регулирует параметры, чтобы получить нужный ему результат.
В программировании такая схема не работает. Здесь нет четких законов, количество параметров слишком большое. Поэтому все попытки визуализации/моделирования программирования или программирование без программирования провалились. Пример, который показал Брет Виктор с бинарным поиском, очень хорошая тому иллюстрация. Он написал всего 10 строк кода и возможное пространство значений из трех переменных уже с трудом поместилось в экран. В программе из 20 строк с таким представлением уже не возможно будет продуктивно работать.
Кстати, можно посмотреть на его код и с другой стороны. Magic numbers, которые задают поведение программы, разбросаны по коду в совершенно произвольных местах. Не удивительно, что он не может понять, как изменение того или иного параметра влияет на поведение кода. В реальности, так код никто не пишет (кроме индусов и "дизайнеров"). Именно поэтому у дизайнеров в почете Flash. Там с программистской точки зрения все через пень колоду, а с дизайнерской — лучше не придумаешь.
Здравствуйте, uncommon, Вы писали:
U>Все это одно большое очковтирательство. То что он показал, это скорее системы моделирования (интерфейса, анимации, аналоговых цепей, и т.п.), где все происходит по четким законам.
Не соглашусь. Всё-таки он больше говорил про арт, и возможность экспериментировать, моментально проверять идеи при наличии соответствующих инструментов. Например, в математике, где тоже строгие законы, используются средства визуализации функций, которые поволяют лучше понять суть проблемы.
Здравствуйте, WolfHound, Вы писали:
WH>И вот мой принцип: Языки программирования общего назначения должны умереть.
Где-то я уже такое слышал... А, вспомнил! Был такой персонаж Луговский в фидо. Он любил очень эмоционально объяснять почему под каждую задачу нужно выбирать язык, а иногда неплохо и свой собственный разработать.
Здравствуйте, MaxRos, Вы писали:
MR>Где-то я уже такое слышал... А, вспомнил! Был такой персонаж Луговский в фидо. Он любил очень эмоционально объяснять почему под каждую задачу нужно выбирать язык, а иногда неплохо и свой собственный разработать.
Похоже ты ничего не понял ни из того что говорил Луговский ни из того что говорил Bret Victor.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, uncommon, Вы писали:
U>В программировании такая схема не работает. Здесь нет четких законов, количество параметров слишком большое. Поэтому все попытки визуализации/моделирования программирования или программирование без программирования провалились. Пример, который показал Брет Виктор с бинарным поиском, очень хорошая тому иллюстрация. Он написал всего 10 строк кода и возможное пространство значений из трех переменных уже с трудом поместилось в экран. В программе из 20 строк с таким представлением уже не возможно будет продуктивно работать.
Точно не сработает. Изменения в программах куда сложнее чем изменение значений параметров. Изменения затрагивающие функциональность приводят к резкому скачку значений переменных, это явно принципиально отличается от постепенного изменения значения одного параметра.
Хотя тема хорошая. Похоже именно в программировании интервал времени между выдумыванием некоторой абстракции и претворением ее в жизнь с получением практических результатов проходить меньше времени чем в любой другой дисциплине. Поэтому критичным становится понимание механизмов мышления и связи между образом в голове и текстом программы. НАпример, с ростом размеров программы перестает работать принцип — один листинг и результат его работы. Когда я концентрируюсь то все мое внимание сосредоточено на небольшом участке кода, а все остальное я как бы не воспринимаю. Потому нужно разбивать одни листинг на кучу листингов мелкого размера и тогда может быть их можно сопоставить чему-то типа результатов работы. Хотя я бы ввел промежуточный уровень, который бы наглядно демонстрировал содержание внутреннх переменный, а только потом — результаты работы. Хотя маловероятно что значение паременных и даже динамика изменений их значений тут будет достаточно. Кроме того примеры взяты из области, где изменения в программе вызывают наглядные изменения в результате работы. А что делать если нам нужно изменить сервер но изменения будут видны только на клиенте да и то только при некоторых определенных условиях?
Ответ на вопрос что держит программист в своей голове когда программирует не так прост
Здравствуйте, VoidEx, Вы писали:
WH>>И вот мой принцип: Языки программирования общего назначения должны умереть. VE>Конструктивненько,
Ты лекцию смотрел? Похоже, что нет.
Ибо тогда бы ты заметил, что принцип Ларри звучит очень похоже. И Ларри победил.
Режимы редактирования умерли.
Про vim не надо. Его, по сравнению с безрежимными редакторами, и в микроскоп не видно.
VE>и как ты их собрался убивать?
Сделать так чтобы цена создания и поддержки ДСЛ была не больше чем у обычной библиотеки.
Тогда только мазохисты будут писать на ЯПОН.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, VoidEx, Вы писали:
WH>>>И вот мой принцип: Языки программирования общего назначения должны умереть. VE>>и как ты их собрался убивать? WH>Сделать так чтобы цена создания и поддержки ДСЛ была не больше чем у обычной библиотеки. WH>Тогда только мазохисты будут писать на ЯПОН.
V>Потому нужно разбивать одни листинг на кучу листингов мелкого размера и тогда может быть их можно сопоставить чему-то типа результатов работы.
Поэтому языки программирования с глобальными переменными или чем-либо подобным — обречены. На свалку истории их.
Лично мне будущее видится так: пул переменных, отказ от указателей, сборка мусора и хранение ссылок в стеке.
А синтаксис у таких языков может быть любым: кому что нравится, по желанию.