Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 00:46

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Чт ноя 13, 2014 01:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Посмотрел доклады на Еврофорт-2014

http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/

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

А вот "интересная" статья.
http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/bennet-education.pdf

В кавычках - поскольку материалы заставили вспомнить высказывание о разнице между "делать вещи правильно" и "делать правильные вещи" (make things right и make right things). Если посмотреть на слайды и картинки - ну, вроде бы да, робот зашевелился. Так что все собрано и запрограммировано правильно. Но вот "правильная" ли это вещь? Помогает ли собранный робот достичь заявленной в статье цели? А цель, надо сказать, довольно громкая - "Форт в каждую школу и колледж". И вот смотрю я на картинки с покупной платой, макеткой с ПЭВ и деталями от детского конструктора - и как-то слабо верится, что вот ЭТО способно привлечь студентов колледжа к робототехнике, а тем более к разработке софта для роботов на Форте. Тем более что "всего 50 строк кода". Да в 50 строках можно сделать объезд препятствий на Arduino! А тут шевеление двумя моторчиками.

Вывод - увы и увы, синдром белой вороны на марше. Польза от критики видится нулевой - ведь это будет "неконструктивная критика, проистекающая из незнания языка и непонимания Духа Форта".


P.S. В связи с текущей политической ситуацией представил, как европейский комитет внедрял бы American National Standard в России. К черту перья, это нужно видеть.... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 09:19 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
печально все это..... :weep;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 15:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ну, я в целом не имел в виду взять и позлорадствовать. На чужих ошибках вполне можно учиться, и если уж они там занимаются самолюбованием, полезно отследить косвенные признаки стагнации и не допускать их у себя.

Эртл вон в докладе нашел "свежую" мысль :) Оказывается, в Си есть неопределенное поведение! И это заставляет задуматься, стоит ли продолжать писать gforth на Си! Страшно подумать, он же так до ассемблера дойдет :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 17:20 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
да я и не злорадствую....
у меня как раз сейчас пара студентов крутят моторчиками от банкоматов в девайсе, собранном из водопроводного тройника, трех колесиков, используя пресловутые "50 строк на форте" :)

тут ещё такой момент - а как дела обстоят у тех, кто пишет на других "редких" языках - Лиспе, Аде, Эрланге ?...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 18:27 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
diver писал(а):
у меня как раз сейчас пара студентов крутят моторчиками от банкоматов в девайсе, собранном из водопроводного тройника, трех колесиков, используя пресловутые "50 строк на форте"

Вот это-то как раз выглядит уместным. Не на евроконференцию же моторчики тащить...

diver писал(а):
тут ещё такой момент - а как дела обстоят у тех, кто пишет на других "редких" языках - Лиспе, Аде, Эрланге ?...

Да, интересно. Причем в двух аспектах - как у них дела с проектами, и как у них дела с комьюнити. Потому что если "Лисп может все" и "вы не доросли до понимания того, что надо все на Лиспе и писать", то это может рассматриваться как повторяющийся эффект, характерный для малораспространенных языков вообще. У меня есть соображение, что это именно так, и дело не столько в Форте как таковом, сколько в самом факте наличия замкнутой группы, которая предпринимает специальные (возможно, неосознанные) усилия к сохранению замкнутости и игнорированию информации, нарушающей сформированную иллюзию бесконечных возможностей конкретных людей. На Форте-то многое можно сделать, это бесспорно. Но это подменяется тезисом о том, что замкнутая группка, провозгласившая исключительное право формировать мнение о Форте, точно так же обладает некими неординарными способностями, только их никто не понимает. Малая распространенность языка обуславливает то, что, собственно, всем на них наплевать. Но информационный шум создают...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 19:19 
Хищник писал(а):
Потому что если "Лисп может все" и "вы не доросли до понимания того, что надо все на Лиспе и писать", то это может рассматриваться как повторяющийся эффект, характерный для малораспространенных языков вообще.
Опять те же грабли: "на языке FORTH можно все", вместо "FORTH-методом можно решать сложные задачи, независимо от языка, на котором вы пишете".


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 19:20 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
Цитата:
"Это закрытый элитный клуб! А не для всяких там с улицы в строительной каске и очках!"
(с) Элли. м/ф "Вверх"


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Пт ноя 14, 2014 19:28 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Новое на хабрахабр.
Стековое программирование с человеческим лицом
Стековое программирование с человеческим лицом (часть вторая)

P.S. Форт не труден к прочтению, он просто по другому преломляется в мышлении. Были же обсуждения и механизма стексов :)
вместо IF выгдлядит логичнее употребление слово ТОГДА а вместо ELSE ИНАЧЕ и вместо THEN например ДАЛЕЕ
Код:
Условие_истинно? ТОГДА делаем_это ИНАЧЕ делаем_то ДАЛЕЕ остальные_действия

но и то как условные операторы в Форте оформлены не так уж и принципиально :) Понимание Форта на этом же не ограничивается.


Последний раз редактировалось KPG Сб ноя 15, 2014 05:45, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Сб ноя 15, 2014 01:48 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
diver писал(а):
тут ещё такой момент - а как дела обстоят у тех, кто пишет на других "редких" языках - Лиспе, Аде, Эрланге ?...

Я, один из представителей, которые пишут проекты на «редких» языках. Сейчас активно развиваю проект «Оценка знаний специалистов неразрушающего контроля», а просто говоря, система приёма экзаменов. Одно из требований Linux - как независимость от лицензионного ПО, но с возможностью работы и в Windows (народ же к ней привык). Не в даваясь в детали, есть заказчики, есть задание – надо делать.
Так как выбор ПО за мной, а одно из негласных требований – желательно на свободном ПО, то встал вопрос, на чем писать … То что Qt – у меня не было сомнений, смотрится он великолепно и в Linux и в Windows, ну и я его немного знаю, что немаловажно. Ну а дальше выбор:
1 – C++. Всё отлично, но не лежит у меня к нему душа. Очень громоздкий, большой и неповоротливый. Развернуть всю среду для работы – надо отдельный компьютер. Ни чего нового и интересного, быдлокодерство - как говорит gudleifr.
2 – Java + Qt – Очень мне мой друг советует Java. Он на Java много лет пишет, но не с Qt, а с DWT. Посмотрел… круто! Но – графика DWT не красивая, язык сложен, с учетом того, что я его не знаю, постоянные скачки с версиями Java… бррр. Развернул среду, потыкался – тяжело ….
3 – Python + Qt - Интересно, есть литература, почти все работает. По идеологии Python сильно на Forth смахивает, все понятно по крайней мере. Накидал на нем несколько примеров … но какое то всё неустойчивое и большое. Опять же несколько версий. Вроде и хочется, но все закрытое (исходники). Может они и открыты, но очень большие и объёмные. А если где ошибка в PyQt и вообще как в случае чего её найти ….
4 - SPF-4.20 + Qt – Очень заманчиво. Есть наработки. Есть желание развить. Всё компактное (на флешке принес, сунул в любой комп, кое что подправил и все работает). Вот тут то и вскрылись недостатки. Большой проект на форте сделать тяжело. Сделай окружение, сделай обработку строк, сделай то, сделай сё. Везде только наброски библиотек, вернее «мысли» и пару примеров. Между собой всё не связано, а за частую просто противоречит.
5 – D + Qt – Сейчас всё делаю на этой связке. Очень похоже на форт. Компактный, очень быстрый, очень интеллектуальный. Версия и Linux и Windows как в 32 так и в 64 разрядном варианте. Всё на флешке. Но самое главное – это библиотека окружения. Все модули взаимосвязаны, встроенная система документирования и самодиагностики. Почти идеал! Среди недостатков – отсутствие нормальной IDE, но по мне она особо и не нужна.

Теперь поддержка. Англоговорящее сообщество не очень большое, но очень активное. Всегда готовы подсказать. Плачут, что такой замечательный язык, а мало известен и мало используем (напоминает фортовцев), но! Постоянно и кропотливо улучшают, тестируют, и полируют как язык, так и библиотеку окружения. Они вообще не разделяют язык и библиотеку, для них это едино. Первоначальное название Марс (сам язык) + Фобос (спутник Марса, а именно библиотека окружения).
Как выяснилось, есть и программисты на D и в русском сообществе. Есть сайт, есть форум. Нет больших проектов, но это понятно. Что бы писать большой проект, нужна документация по языку, документация по библиотекам, просто литература, примеры и т.д. и т.п. А это появляется с запаздыванием, а то и не появляется вовсе. На мой взгляд, Форт упустил момент, когда это все надо было развить и оформить в качестве единого комплекса.

Касательно самого проекта. Делаю на собственной связке оформившейся в виде библиотеки QtE. Изначальная идея взята с Фортовской связки с Qt (вы наверное все в курсе ? ). На начальном этапе я двигал как фортовскую версию, так и D-шную параллельно. Но силы не безграничны, и постепенно фортовский вариант QtE далеко (очень далеко) остался позади. Если найдутся заинтересованные лица для подтягивания QtE версии для Форта, то я готов предоставить консультации.

Сейчас QtE – это более 3 тыс строк кода, 350 функций Qt и около 30 классов. Главное – это методика, как подключится к новому классу или к новой функции. В самой программе контроля экзаменов, около 2 тыс строк.

На мой взгляд, достигнут компромисс, между сложностью, качеством, скоростью и переносимостью в разработке данного проекта, да ещё за него и деньги платят.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Сб ноя 15, 2014 01:58 
mgw писал(а):
D + Qt
Тут, как я понимаю, немного обратный вопрос. Не использование очередного удобного средства писания на коленке (сам бы, наверное, подобную задачу в силу большой лени решал бы на связке Tcl/Tk + Perl)... А, наоборот, использование "эзотерических" языков, требующих "другого подхода". Настолько сложного/непривычного, что вопрос "быстро слепить" не ставится вообще.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Вс ноя 16, 2014 14:15 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Программировать можно на любом языке, не важно, сложный он или простой. Это как автомобили. На легковой быстро и комфортно, но мал груз, на автобусе - груз больше, но скорость мала и т.д. По этому с одной стороны идет подбор языка (машины) к задаче, с другой к водителю (программисту). Кому, что удобнее. По мне - Forth - это автоконструктор, набор колес, моторов и т.д. Можно сделать всё - но ... получаются слабо пригодные для реальной жизни вещи. Не хватает завода и технологий, а так же конструкторских решений, для изготовления стоящих вещей.
В качестве учебного стенда - идеал. Ну а D + Qt - для меня Нива Шеви. И теплая, и проходимая, и не огромный мастодонт, и прицеп тащит и не страшна как атомная война . В общем вещь для жизни, без пальцовости


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Вс ноя 16, 2014 15:11 
mgw писал(а):
Кому, что удобнее.
Тут сложно. Сейчас, например, программирование очень сильно страдает от ориентации программистов на свое удобство: настоящие проблемы замалчиваются, делается только то, что легко сделать, на удобство пользователя вообще наплевать...

Взять хотя бы Ваш "экзаменатор". Выдать вопросы и получить ответы? Т.е. вся проблема только в дизайне диалогового окошка? Большие тексты, схемы, мультимедиа, активные и чувствительные элементы в материале? Да, можно долго и плодотворно смаковать и изобретать.

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

Да, писанный на ДССП "Наставник" не имел графического интерфейса. Весь его "компьютерный" интерфейс - индикатор на пару цифр и десяток кнопок. С тех пор "программирование" шагнуло неизмеримо. Но стало ли лучше? Или только "удобнее"?

Да эзотерические языки/методы неудобны для решения "обычных программистских" задач. Но для таких задач удобно просто то, к чему привык, то, что установлено, настроено и сопровождается там, где Вы работаете.
Например, в большинстве ящиков, где я работал, под Windows писали на C++ Builder. Нет, когда нужно было сделать что-то специфическое-системное-защищенное, в ход шли другие средства, но удобнее что-то слепить было в "Борманде".
А на "заводике" коллеги Хищника удобнее писать на FORTH, там он прикручен ко всему, что можно запрограммировать.
Я даже видел людей так привыкших к писанию на FoxBase+, что они решали на нем вычислительные задачи.

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

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

Как-то так.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Вт ноя 18, 2014 03:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Есть некий баланс между "решением практических задач" и "последовательным развитием инструментов". В этой связи можно обратиться и к более отвлеченным вещам. Например, бывают компании, выпускающие определенную продукцию. Например, Kodak выпускает фотоаппараты, но если раньше они были пленочные, то в определенный момент их выпуск был все же прекращен, и теперь они делают цифровые камеры. Надо полагать, что при появлении какого-то иного способа фиксации изображений Kodak коллективно "пожмет плечами" и продолжит выпускать фотоаппараты, но на новой элементной базе. Аналогично, разработчики, ориентирующиеся на определенные приложения могут последовательно переходить с Фортрана на Паскаль, Дельфи, C# и т.п. по мере того, как в их сфере будут получать преимущественное распространение именно эти языки (это например). Но может быть и "программист на C#", который будет писать в резюме "знаю C#" (а не, скажем, "умею разрабатывать АРМ для банковских работников"). Тут еще надо посмотреть, что сложнее - освоить новый язык программирования или разобраться в новой сфере применения старого языка.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Вт ноя 18, 2014 13:10 
Хищник писал(а):
Тут еще надо посмотреть, что сложнее - освоить новый язык программирования или разобраться в новой сфере применения старого языка.

gudleifr писал(а):
Для того, чтобы "что-то закодировать", программист должен знать три вещи:
1. как решить задачу (математика);
2. как запрограммировать решение (язык программирования);
3. как написать/запустить программу (операционная система).

Т.е. не две а три практически непересекающихся "сферы знаний". И, по мне, место FORTH - в (1)... Поэтому, "Насколько сильно надо его изучать?" - вопрос не технологический, а методологический...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: EuroForth 2014 - делать правильные вещи...
СообщениеДобавлено: Чт ноя 20, 2014 02:13 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Т.е. не две а три практически непересекающихся "сферы знаний".

Разделение на исследуемое направление и инструменты проще для анализа. И Форту место не столько в 1), сколько в 2), но для тех, кто фокусируется на 1).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB