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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 15:48 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
Что-же поделать если Си мейнстрим? Не стоит спешить с табу.
Си в Форте может привлечь сишников к форт-технологиям.
На Си много наработок. А главное, на Си написано масса языков.
С помощью Си в Форте можно всех их затащить в Форт.

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 16:01 
Mihail писал(а):
С помощью Си в Форте можно всех их затащить в Форт.
.


Предположу, что это решение одной "частной" задачи средствами
Форт, а дальше по шаблону.
Например, глядя на уроки "компилятостроения" от Креншоу
в переложении на Форт:)

P.S. И что тогда в осадке?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 16:13 
chess писал(а):
Вот по какой причине сишники пойдут в форт-технологии?
Мне это непонятно.


Пойти, это вряд ли, но призадуматься смогут:) Но голову
пеплом посыпать не будут. Форт подобен Лиспу и сравнивать
его тоже можно с точки зрения популярности

chess писал(а):
Уровня комфорта, который они имеют в системах, поддерживающих Си
не достичь, это нереально.


Уровень комфорта у Форт выше. т.к. работать с ним проще.
Остальное дело наживное, при наличии насущной потребности.

chess писал(а):
Тогда что они получат? Возможность менять
транслятор? Тогда как быть с совместимостью?


Возможность выбора из двух или больше "зол" .


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 16:24 
Mihail писал(а):
.
С помощью Си в Форте можно всех их затащить в Форт.

Форт только может попробовать ускорить целевой код других
языков, но это тоже под вопросом. т.к. нет доступного 100% решения или около того, эффективной компиляции промежуточного Форт кода сделанного, например, тем же LCC Си компилятором.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 16:46 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
Уровня комфорта, который они имеют в системах, поддерживающих Си
не достичь, это нереально.

Все реально. Систем разработок в исходниках - навалом.
Можно их представить в ассемблерном виде с скармить форт-ассемблеру.
Можно форт встроить в систему разработки.

chess писал(а):
Тогда что они получат?

Тело форт-системы (включая все программы, которые в нее загружены)
в качестве библиотеки подпрограмм. Т.е. принцип такой: все на что способна система, все относительно легко предоставляется для построения прикладной программы. Еще отдельный вызов каждой процедуры с заданными параметрами
из командной строки.


chess писал(а):
Возможность менятьтранслятор? Тогда как быть с совместимостью?

Трансляторы могут быть представлены в виде библиотек для Форта
и поставляться вместе с программами, которые они должны воспринять
(или предоставляется ссылка на транслятор для Форта).
Еще вариант: единый формат представления исходных текстов - польская запись.
При этом, все трансляторы должны быть еще и конвертерами в польскую запись.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 18:41 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Mihail писал(а):
Можно форт встроить в систему разработки.

Код:
.f.o:
        $(4TH) $(4FLAGS) $<

Готово! :mrgreen:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 18:56 
Пока просматривал уже нафлуженное, задался двумя вопросами.
1) Поймал себя на неточности. Написал, что большие Perl/Python программы написаны практически на C++. Но, ведь, все большие программы на C++, которые я видел, написаны практически на C! А все C++ фичи либо носят чисто декоративный характер, либо нужны для интерфейса с визуальными "объектами". (В этом смысле Python, как и Java, более ОО, чем C++). Что же такого заложено в C, что делает его, по сути, единственным языком написания сложных программ? Ведь даже коллеги на полном серьезе обсуждают внедрение C-элементов в Forth.
2) Почему мое утверждение об ориентированности Forth на решение сложных, а не простых, задач вызвало такое возмущение коллег?
Начну со второго вопроса. Ответ прост. Программисты не любят больших задач! Причины понятны, Дейкстра их сформулировал еще 40 лет назад. Быть гениальным творцом чего-то внешне очень заумного, но внутренне очень простого, гораздо почетнее, чем числиться автором чего-то, что еще пяток лет придется доводить до ума. Конечно, есть много начинающих, которые мечтают чем-то большом и светлом (обычно, новой игре), но большинство из них с этой мечтой и остаются. Успешные программисты - жертвы цехового метода обучения, начинавшие с того, что писали свои утилитки и подпрограммки, глядя, как это делает гуру. (Например, по Python я, вообще, не видел серьезных книг). А супер-успешные программисты вообще как начинали с чего-то очень простого и прикладного (например, с FoxBase, позднее - с FoxPro), так с ним и остаются на всю жизнь, обрастая учениками, и втюхивая где-попало свои студенческие наработки на страх окружающим.
С популярностью языка C ситуация схожая. Вернемся к C++, точнее к книге Страуструпа. Тот, обдумывая применение C++ для сложных проектов, как заядлый фортер рассуждал о написании над C++ (на C++) языков, описывающих проблемную область задачи. Но он лукавил. На C++ (а, тем более, на C) невозможно написание чего бы то ни было, отличающегося от них. Синтаксис и логика языка вынужденно остаются теми же. Т.о. наш вывод о нелюбви к сложным задачам усиливается. Программисты еще и не любит создавать (и использовать) новые языки. Даже попадая в новую языковую среду они продолжают пытаться использовать старые парадигмы. Посмотрите, например, как питонисты извращаются, чтобы остаться в рамках, усвоенных при C-программировании. Исключения лишь подтверждают правило, и в каждом "новом" языке от awk до PHP мы видим стремление сохранить С-синтаксис.
Возвращаясь ко второй части флуда, напомню, что программисту свойственно рассуждать о задаче с точки зрения пользователя, а не машины, и поэтому он обычно способен создать язык для рисования окошек, но не покрытия плоскости некоторыми видами мозаик (хотя, это - одно и то же). Поэтому новые языки переполнены атавизмами. Чемпион - Perl, как сборище устаревших решений (хотя и языки ООП не сильно отстают, со своими фантиками, завернутыми в другие фантики, обрезаемыми при компиляции). К таким атавизмам в Forth можно отнести попытки вставить в него элементы C, классы, иероглифы, "стандартные" структуры данных...
Итак, Forth предназначен для работы со сложными задачами путем создания новых языков, но...
1) ... программисты не любят сложных задач;
2) ... программисты боятся новых языков;
3) ... программисты стремятся рассуждать о способе решения (разбиения) задач в терминах пользователя, а не Forth.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 19:31 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Не надо обобщать.
Мне нравятся сложные задачи. Я люблю их решать.
Я постоянно создаю новые языки. Каждый раз при создании новой программы из старых исходников я беру лишь виндовые апи-интерфейсы, старый код стараюсь использовать по минимуму. Так интереснее: можно увидеть разницу в своем подходе к программированию сегодня и например пять лет назад, увидеть положительные и отрицательные стороны, оценить удачные и не очень решения.
Мой способ мышления - Форт. Так задачи решаются эффективнее. А пользователю нужен лишь интерфейс к программе. Он может быть любым.
Может просто этим программистам не хватает квалификации?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc



За это сообщение автора VoidVolker поблагодарил: zehotello
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 19:44 
gudleifr писал(а):
3) ... программисты стремятся рассуждать о способе решения (разбиения) задач в терминах пользователя, а не Forth.


Можно сказать больше. Используя логику банальных выводов:)
и Forth используется банальнейшим образом т.к. можно обдумывать задачу в процессе "немедленного" написания кода.
Хорошее решение может быть получено повторным рассмотрением
созданного кода.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 19:52 
VoidVolker писал(а):
Может просто этим программистам не хватает квалификации?
Скорее, наоборот. Посмотрите внимательно на свои "сложные" задачи. Так ли уж они сложны? Если они допускают "решение", значит нет. Сложные программистские задачи - это задачи, объединяющие много разноплановых решений. (Кстати, сложной считается задача, которую в одиночку практически не потянуть).
`Kopa писал(а):
Хорошее решение может быть получено повторным рассмотрением созданного кода.
Это верно для простых задач. Перефразируя Кнута (под Forth) можно сказать:
1) проход сверху-вниз - разбить на слова;
2) проход снизу-вверх - добавить DUP-ов и SWAP-ов.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:05 
VoidVolker писал(а):
Не надо обобщать.
Я постоянно создаю новые языки.


Ой-ли? Стек не используется? Созданный лексикон слов
используется отлично от способа, чем в Форте?
Про Форт в новом языке далее забываем?
Нет, тогда, что есть новый язык? Расширение новыми
структурами и парадигмами Форт языка (надстройки ООП,
мат выражения, структуры, регулярные выражения,форматный вывод, работа со строками? и т.д. что
пропущено? элементами из других языков по своему и это уже не Форт?)

P.S. Возможно всё не так как представлено:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:13 
gudleifr писал(а):
Это верно для простых задач.

Сложные задачи, обычно, решаются специалистами
в данной преметной области, а программисты лишь
"озвучивают" найденные решения:)

P.S. Программа сложна или нет, если в ней "куча" по
делу и без дела навешенных, вроде простых, фич, требующих n-го и часто немалого времени для реализации?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:14 
Гость писал(а):
Ой-ли?
Вспомнил, что коллега уже выкладывал образцы:
VoidVolker писал(а):
Вот раз и два. Всего лишь пара скромных примеров. Как бы несколько полных переработок, объем тем и их популярность сами за себя говорят.
Надеюсь, он не обидится.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:17 
`Kopa писал(а):
Сложные задачи, обычно, решаются специалистами в данной преметной области, а программисты лишь "озвучивают" найденные решения:)
Пардон, но это бред. Мы все это время говорили о задачах, сложных именно для программирования, а не для объяснения программисту.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:25 
gudleifr писал(а):
Пардон, но это бред. Мы все это время говорили о задачах, сложных именно для программирования, а не для объяснения программисту.


? Что сложно запрограммировать при наличии нужной информации? Можно примеры, если это не решение
"математических" комбинаторных головоломок.

P.S. Сложно - это долго и муторно и решение выглядит коряво?


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

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


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

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


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

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