Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 20:19

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 109 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Автор Сообщение
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 14:51 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
Ethereal писал(а):
Откуда скорее берется идея ? Она в процессе умствования абстрактная берется с потолка или вернее порождается в процессе конкретного решения конкретной задачи ?


Ссылка от forther прекрасно работает. Вы догадались откатить сообщение назад по первой из моих ссылок?

На мой взгляд, разделение на теоретиков и практиков в нашем деле (информатика) довольно умозрительное. "Откуда скорее берется идея"? Чаще всего она берется из практических задач, как показывает изучение биографий выдающихся информатиков. Возьмем, для примера, того же Дейкстру. Я, кстати, подозреваю, что этот нидерландский ученый так понравился gudleifr за свое известное высокомерие. Но высокомерие это сглаживалось отличным чувством юмора и реальными достижениями. Приведу несколько примеров появления идей у Дейкстры.

1. Алгоритм сортировочной станции. Создан в процессе работы над компилятором Алгол-60, для задачи разбора выражений с приоритетами.

2. Различные алгоритмы синхронизации процессов (семафоры, алгоритм банкира). Созданы в процессе работы над операционной системой THE для компьютера Electrologica X8.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 15:24 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Ну так это не первый год. Если человек предпочитает нахамить, создается впечатление, что кроме хамства ему представить нечего.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 16:24 
Не в сети
Administrator
Administrator
Аватара пользователя

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

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

Современная методология добавляет элемент прагматизма. У Маркса критерий истины - это "общественно-историческая практика". Тут интересны все три слова. Например, будет ли "истинной" конструкция на радиолампах? На уровне общества радиолампы были актуальны, поскольку другого не было. В исторической перспективе радиолампы оказались заменены на транзисторы и далее на микросхемы. Кроме того, интересно понятие "практика". Оно совершенно не равнозначно "эксперименту" или "примеру". Утверждение, что "язык хороший, потому что я же пользуюсь, да и троим приятелям нравится" дает примеры использования, но не образует практики. Практика появится, когда этим языком начнут регулярно пользоваться самые разные программисты, попадающие в определенные условия.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 18:35 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
true-grue писал(а):
Если бы в информатике существовали одни практики, то мы бы до сих пор спорили о достоинствах того или иного автокода по сравнению с программированием в машинном коде, а Алгол с Лиспом в нашей истории бы не случились.
Ни хрена подобного. Алгол, как был создан теоретиками, так и помер. А созданный практиками (при решении практической задачи по написанию ОС Unix) Си живее всех живых.
Первый алголоподобный Паскаль образовался когда Вирт ушел из комитета по стандартизации Алгол-68 хлопнув дверью, будучи не согласен с чистыми теоретиками.
Так-что про автокод это явное преувеличение. Нет ничего практичнее перейти от автокода к ассемблеру, а потом к ЯВУ. ЯВУ КОБОЛ создала чистая баба-практик. Ей бухучет программировать чего-то не захотелось в автокоде.
По поводу Лиспа пишут он занимался работами по искусственному интеллекту, в связи с чем и возникла потребность в создании языка программирования, адекватного задачам, решаемым в этой области. Родился как инструмент решения практических задач, которыми занимался автор, а не как абстрактная идея в вакууме.


Последний раз редактировалось Ethereal Чт мар 08, 2018 19:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:00 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
Без Алгола не было бы ни Паскаля, ни Си. Я думаю, Вы недооцениваете влияние этого древнего языка. Алгол в качестве идеи, набора важнейших принципов построения ЯП, переживет тот же Си.

Обращаю внимание на Вашу фразу: "Родился как инструмент решения практических задач, которыми занимался автор, а не как абстрактная идея в вакууме.". Смотрите, Вы тут со мной, как бы, спорите, но если вчитаться в мое предыдущее сообщение, то там как раз речь идет о том, что важнейшие теоретические результаты определяются практическими задачами. Как часто споры на форумах превращаются в полную бессмыслицу, когда каждый из участников слышит только самого себя!

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

Я сейчас уже начинаю повторять моменты из известной книги Хэмминга The Art of Doing Science and Engineering. Между прочим, ее в настоящее время переводят, см. здесь: https://habrahabr.ru/post/346566/

Несколько цитат из 4 главы в контексте обсуждения.

"Наконец, была разработана более полная и более полезная программа Symbolic Assembly Program (SAP) — спустя большее количество лет, чем вы думаете, в течение которых большинство программистов продолжали свое героический путь в программировании на бинарном языке. В то время, когда SAP впервые появилась, я бы предположил, что около 1% зрелых программистов были заинтересованы в ней — использование SAP было «для неженок», и настоящий программист не стал бы тратить мощность машины на сборку программы с помощью SAP."

"FORTRAN, означающий FORmula TRANslation, был предложен Бэкусом и друзьями, и ему снова противостояли почти все программисты. Во-первых, говорили, что создать подобный язык невозможно. Во-вторых, если его можно было бы сделать, это было бы слишком расточительно для машинного времени и мощности. В-третьих, даже если бы идея подобной системы сработала, ни один уважаемый программист не использовал бы ее — ведь с подобными вещами могут работать только неженки!

Использование FORTRAN, как и более раннее символическое программирование, было очень сложно воспринять профессионалам. И подобное поведение характерно почти для всех профессиональных групп. Врачи совершенно не следуют советам, которые они дают другим, и даже среди них наблюдается высокая доля наркоманов. Адвокаты часто не оставляют порядочных завещаний, когда они умирают. Практически все профессионалы медленно используют собственный опыт в своей работе. Эта ситуация хорошо описывается старой поговоркой: «Сапожник без сапог». Подумайте, как вы в будущем будете избегать подобной типичной ошибки, когда вы станете серьезным специалистом!"

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:11 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
true-grue писал(а):
Смотрите, Вы тут со мной, как бы, спорите, но если вчитаться в мое предыдущее сообщение, то там как раз речь идет о том, что важнейшие теоретические результаты определяются практическими задачами. Как часто споры на форумах превращаются в полную бессмыслицу, когда каждый из участников слышит только самого себя!
Ну так я в своем вопросе под понятием практика понимал
Ethereal писал(а):
Откуда скорее берется идея ? Она в процессе умствования абстрактная берется с потолка или вернее порождается в процессе конкретного решения конкретной задачи ?
того, кто рождает идею в процессе решения конкретной задачи. А Вы про какого практика начали говорить ? Про того, кто всю жизнь будет лабать на автокоде потому, что порождать идей органически не способен.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:23 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
>"FORTRAN, означающий FORmula TRANslation, был предложен Бэкусом и друзьями, и ему снова противостояли почти все программисты.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:27 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
Мне просто кажется, что сугубый теоретик, болтун и бездельник, не заслуживает какого-то серьезного обсуждения. Реальная проблема сегодня, на мой взгляд, возникает, когда разработчики увлеченно что-то там "шуруют", но от их деятельности не остается ничего. Ни статей, ни инструментов. К сожалению, такой подход часто встречается в российских условиях и ситуацию хорошо бы изменить. На какое-то время практик должен становиться теоретиком. Иначе, действительно, есть шанс отправиться на свалку истории вслед за любимым инструментом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:57 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Вообще говоря, с приходом Си увеличилось количество людей, работающих с МК. Чистый ассемблер имел довольно высокий порог вхождения, поэтому и попасть на интересного собеседника с ассемблером было реальнее. С приходом Си увеличилось число проектов... ну что поделать, за счет того, что в embedded понизилась сложность, и стало возможным программировать не только на Си, но и с помощью визуальных инструментов.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 19:58 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
>Алгол в качестве идеи, набора важнейших принципов построения ЯП, переживет тот же Си.

Да уж, сознание программистов Алгол будет отравлять долго.
А := B ;
вот что делает эта конструкция. Можно сколько угодно таращиться на нее глазами, но ответить на вопрос усекает ли она число или может расширяет его, а если да, то знаком или нулем , невозможно. Потому-что это определяется типом переменных. А типы описаны в совсем другом конце программы. А может даже и в ином модуле. А отсюда можно долго есть глазами эту строчку, но ошибки не увидеть. В упор ... и не увидеть. А неувидевши - ну вот и ебанулась ракета Ариан.
А все почему ? А потому-что в этой строчке абстрактное присвоение, а каким именно конкретным присвоением оно выльется зависит от контекста, а контекст разбросан по программе. Ну ввели такую абстракцию, а затем пришлось создавать механизмы, чтобы эту абстракцию обуздать. В виде строгой типизации. От которой тут-же пришлось отступать создавая правила приведения целочисленных типов. Такие метания из стороны в сторону. Но главное, простое требование - глядя на строчку исходника программист должен однозначно понимать, что она делает, было похерено раз и навсегда. Да только ради чего ? Ради никому не нужных абстрактных обобщений того, что всегда сугубо конкретно ? Ради какого-то абстрактного присвоения вообще ?
Разве Форт, в котором типов данных нет, вместо этого есть типы у операций, и всегда ясно в каждой точке исходника, что здесь делается конкретно, не показывает наглядно, что Алгол - это был поворот куда-то не туда и можно было как-то по другому ?


Последний раз редактировалось Ethereal Чт мар 08, 2018 20:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 20:08 
Не в сети
Moderator
Moderator
Аватара пользователя

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 20:18 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
>На какое-то время практик должен становиться теоретиком.

Золотые слова. Подпишусь под ними руками и ногами. :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 20:25 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ethereal писал(а):
А := B ; ...
Напомнило о том, что я недавно узнал о Си, а точнее о современных автоматических преобразованиях типов (во Free Pascal уже можно делать p:=p+1; ).
В Turbo Pascal чтобы увеличить указатель на 1 я писал так: p:=pointer(integer(p)+1); - иначе он отказывался меня понимать, т.к. считал 1 типа integer! Зато всё было понятно, где какого типа переменная (если ошибался - компилятор возмущался). Вот за точность я до сих пор и люблю Pascal, хотя, пример приведённый выше является небольшим перебором :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 20:53 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
Ethereal писал(а):
А := B ;


С Ariane 5 ситуация была не так проста (https://www.viva64.com/ru/b/0426/ ). В Ada, как и в Modula-2/Oberon, преобразования типов явные. Другое дело, что сама по себе Ada -- монстуозная вещь, в отличие от компактных и весьма практичных виртовских системных языков.

С явным преобразованием типов присваивание выглядит вполне в духе Форта.

Код:
a := FLT(b); { Оберон }
b @ >FLOAT a F! \ Форт


Вообще же польза от абстрактной, математической записи выражений есть. Это открывает возможности для повторного использования кода, упрощает модификации и чтение программы. Мы меняем тип аргумента функции, но ее тело менять уже не требуется, нужные преобразования и операции сформирует компилятор. В последнее время пришло понимание, что обилие абстрактно определенных типов целых в языке Си со сложными неявными правилами преобразований это плохой путь. В том числе и для создания переносимых программ, поскольку лучше задавать явно u16, чем unsigned short с неизвестными последствиями.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О естественности FORTH-решений
СообщениеДобавлено: Чт мар 08, 2018 21:04 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Исключение, "выброшенное" одной из программ IRS, явилось следствием выполнения преобразования данных из 64-разрядного формата с плавающей точкой в 16-разрядное целое со знаком, что привело к "Operand Error".

Ну а преобразование-то это что производило ? А абстрактное присвоение и производило.
Грубо говоря абстрактное А := B ;
А какого типа A и какого типа B было раскидано по разным модулям программы.
И программист, просматривая исходник никакого криминала в этом месте не видел.
Потому-что абстрактное присвоение выглядело зашибись.

Это открывает возможности для повторного использования кода

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


Последний раз редактировалось Ethereal Чт мар 08, 2018 21:10, всего редактировалось 2 раз(а).

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

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


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

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


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

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