Forth http://fforum.winglion.ru/ |
|
О естественности FORTH-решений http://fforum.winglion.ru/viewtopic.php?f=2&t=3155 |
Страница 1 из 8 |
Автор: | gudleifr [ Сб янв 27, 2018 02:31 ] |
Заголовок сообщения: | О естественности FORTH-решений |
<Т.к. Hishnik дословно повторил мой пост чуть ниже, первый экземпляр стал избыточным. Правда, в этой теме обсуждения так и не последовало, т.к. заслушивалиь, как обычно, хотелки микрофортеров и недостатки моей скромной персоны, так что, имеет смысл сразу идти на FORTH-форум: ТЕМА #25, АБЗАЦ #812> |
Автор: | KPG [ Сб янв 27, 2018 03:04 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
@"Форт - это язык программирования и философия. Он предоставляет программисту контроль над аппаратным обеспечением, а также способность абстрагироваться вверх, ограничиваясь только навыками и воображением программиста. Таким образом, это идеальный способ программирования компьютера на любом уровне с самых низких уровней ядра и драйвера устройства до самых высоких уровней пакетов прикладных программ. Другие языки программирования также носят универсальный характер, но Forth сильно отличается от них тем, что это язык без синтаксиса! (Уникальная концепция, к которой привыкают, но как только программист привык к ней, сила работы без синтаксиса становится очевидной)" P.S. Ещё интересные суждения о Форт языке и его месте в создании программного обеспечения Ting_Laws_of_Computing_v4.pdf |
Автор: | gudleifr [ Сб янв 27, 2018 11:09 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
KPG писал(а): Уникальная концепция Об том и спич, никакой FORTH-уникальности в природе не существует. Начните писать простой интерпретатор, и ничего кроме FORTH не получится в принципе.
|
Автор: | Hishnik [ Сб янв 27, 2018 13:32 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
Чтобы не пропало... gudleifr писал(а): Многие фортеры считают, что краеугольные FORTH-камни, навроде стека или шитого кода, являются чем-то глубоко продуманным и чуть ли не специально для FORTH выдуманными. Идея того, что эти решения - суть естественные последствия писания самого тупого из возможных интерпретаторов, кажется им чуть ли не кощунством.
А как обстоит дело ИРЛ? Понадобился мне тут распознаватель html-текстов с моего форума. Ну перекодировщик с юникода в 1251 написал быстро. А дальше? Нужная мне информация оказалась размазанной по всему файлу, разделенная тоннами тегов. Хоть перцептрон паяй. Решил пойти FORTH-путем: постепенного накопления слов, отвечающих за распознавание каждый своего куска. Сам "FORTH" (на Perl занял всего десяток строк): $l = <>; while ($l) { # ЭТО QUIT $r = 0; foreach $i (sort keys %voc) { # FIND if ($voc{$i}[0]) { if ($l =~ /$voc{$i}->[1]/) { # WORD $l = $2; $r = 1; $voc{$i}->[2]($1); # EXECUTE last } } } $l = <> unless ($r) # ЭТО ACCEPT } А СЛОВАРЬ выглядит примерно так: %voc = ( forum => [ 0, "<a class=\"forumlink\" href=\"http:\/\/gudleifr\.forum2x2\.ru/f(.*?)<\/a>(.*)", sub { $t = shift; $t =~ /([0-9]*)-forum\">(.*)/; print "ПОДФОРУМ: $1 $2 \n"; $voc{path}[0] = 0 } ], topic => [ 0, "<a class=\"topictitle\" href=\"http:\/\/gudleifr\.forum2x2\.ru/t(.*?)<\/a>(.*)", sub { $t = shift; $t =~ /([0-9]*)-topic\">(.*)/; print "ТЕМА: $1 $2 \n"; $voc{forum}[0] = 0; $voc{path}[0] = 0 } ], .... Первое поле флаг CONTEXT, страшное регулярное выражение, позволяющее выбрать из ПОТОКА слово, третье - его код. И что мы видим? Необходимость CONTEXT, т.к. в разных местах html имеет смысл искать разные слова. (В примере можно рассмотреть, что за словом topic не может следовать слово forum, и тем более - path). Очевидно, вместо неуклюжего флага имеет смысл сделать CONTEXT списком, более того, списком упорядоченным (я обошелся тупым выбором имен в алфавитном порядке). Что еще ""очевидно"? Еще кусочек СЛОВАРЯ: txt_end => [ 0, "(.*)(.*)", sub { $t = shift; print "$t\n"; $r = 0 } ], Здесь можно видеть, что некоторые слова хотят раньше времени завершить цикл QUIT, сожрав строчку до конца (заведомо пустая подстрока "(.*)" в шаблоне, обнуление $r). Сразу возникает идея засунуть в СЛОВАРЬ дополнительную информацию: например, флаг остатка строки и/или списки управления CONTEXT... И есть, ведь, структурные фортеры, вводящие в свои словари множество пропертей и эвентов. Так что, все эти фичи, которые бывалыми фортерами втюхиваются молодежи как обязательные "ката", родятся сами, как только человек решит пойти FORTH-путем. P.S. Т.о. методом тыка я построил СЛОВАРЬ, который вырезал из html то, что мне нужно... P.P.S. Теперь мне нужна машина, которая объединит эти тексты в БД, связанную гиперссылками. Т.к. слова будут не только печататься, но и делать что-то более интеллектуальное, то видимо, попутно изобретется и СТЕК... |
Автор: | Victor__v [ Сб янв 27, 2018 14:27 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
Hishnik писал(а): Чтобы не пропало... Кстати, заметили что gudleifr не чистит свои сообщения, если появляется mOleg С чего бы? |
Автор: | Hishnik [ Сб янв 27, 2018 16:29 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
Victor__v писал(а): Кстати, заметили что gudleifr не чистит свои сообщения, если появляется mOleg С чего бы? Ну а зря он что ли помещен в индивидуальную группу пользователей? Человек занят установкой своих правил везде, куда только сможет дотянуться. Игнорируя окружающих, ругаясь на грани фола, придумывая "акции устрашения" - сообщения почистить, этого человека не люблю, к этому спиной повернусь, этого обзову. Смотрим, думаем, делаем выводы. Шутов на то и заводили, чтобы они своими глупостями обозначали для остальных нижнюю планку поведения. |
Автор: | _KROL [ Сб янв 27, 2018 20:05 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
Victor__v писал(а): Hishnik писал(а): Чтобы не пропало... Кстати, заметили что gudleifr не чистит свои сообщения, если появляется mOleg С чего бы? gudleifr писал(а): Об том и спич, никакой FORTH-уникальности в природе не существует. Почему? Но ведь именно благодаря этой "форт"-философии и получаются другие системы, точнее форт для того и создан, чтобы создавать другие приложение, и зачастую не важно мало или много там останется от ядра системы (главное правильно реализовать). Может я чуть и ошибаюсь, но для меня это выглядит так.
|
Автор: | gudleifr [ Сб янв 27, 2018 20:53 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
_KROL писал(а): Почему? Видимо, потому, что никто этим не занимался, в отличие, например, от LISP или Perl._KROL писал(а): Но ведь именно благодаря этой "форт"-философии и получаются другие системы Вся "философия" сводится к: "Раз FORTH - для тупого программиста и умного пользователя, то я, будучи не самым тупым программистом, вполне способен его написать. И если достаточно умных пользователей не сыщется, то я буду надувать щеки и ругать общее падение нравов..."
|
Автор: | _KROL [ Сб янв 27, 2018 21:19 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
Не, я переосмыслил и пришёл к другому выводу. Уникальность форта лишь в одном - это язык без синтаксиса (как писал KPG). Это действительно универсально, т.к. позволяет кое-что писать так, как на других языках не получается. Но кроме плюсов есть один большущий минус: можно писать как угодно и что угодно, поэтому единого стандарта или полной точной договорённости никогда не будет. Именно поэтому некоторые люди и считают его бессмысленным. Иным же он приумножает фантазию и позволяет добиваться своих целей. Форт разнит мнения людей ещё и потому, что когда мы пишем форт-систему, то создаём свою мини-архитектуру ВФМ. Но если вспомнить сколько было придумано архитектур людьми... Короче, ругаться не надо! Если вам так не седится, то надо просто потихоньку опять взять самое лучшие из вышедших стандартов и сделать всем вместе новый стандарт, но с примерами (или, хотя бы с примером написания части форт-системы). Да и вообще, сразу же в новый стандарт можно внести и свои предложения, как это я вроде как наблюдал в F79-83. А ещё, хотелось бы что-то типа учебника по SP-FORTH) P.s. Идеального Форта не сделаешь - Форт сам по себе идеален. (c) P.p.s. Глеб (gudleifr), ты хоть и хочешь обсуждения, но сам порой же и мешаешь своим мироввозрением, т.к. не хочешь чтоб наступали на твои "ошибки" (порой действительно делаешь даже верные замечания, порой ...(<Потерто по справедливому замечанию Victor__v>)). Эх, а Hishnik на пеньке сидит и активно не так принимает попытки модераторства, как это делал WingLion. Про остальных я умолчу - и так всё понятно (в хорошем смысле). Может я и ошибаюсь в кое-чём, как обычно, но без движухи RUFIG потихоньку может умереть (не весь конечно). |
Автор: | gudleifr [ Сб янв 27, 2018 21:33 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
_KROL писал(а): Уникальность форта лишь в одном - это язык без синтаксиса Любой простой интерпретатор на начальном этапе написания не имеет синтаксиса... И к возможности написания чего-то особого это не имеет никакого отношения. (Просто потому, что отсутствие синтаксиса не означает прорыва в семантике). Надо говорить так: отсутствие синтаксиса позволяет не писать требуемых им длинных правильных фраз. Однако, программисты любят длинные фразы, и с успехом пишут на FORTH в формате плохого C._KROL писал(а): можно писать как угодно и что угодно, поэтому единого стандарта или полной точной договорённости никогда не будет. Вечно все путают ненужность стандартизации с ее сложностью. FORTH-программы прекрасно стандартизируются на уровнях концепций и на уровне решений. Стандарт языка был бы лишним костылем.
|
Автор: | _KROL [ Сб янв 27, 2018 21:51 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
gudleifr писал(а): _KROL писал(а): Уникальность форта лишь в одном - это язык без синтаксиса Любой простой интерпретатор на начальном этапе написания не имеет синтаксиса...Стоп! Тогда может и Форта как отдельного языка нету?) А он есть, правда держится лишь на договорённостях. (если следовать твоим мыслям) P.s. Глеб не клоун, а своеобразный философ. Только философия не всегда помогает. |
Автор: | gudleifr [ Сб янв 27, 2018 22:27 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
_KROL писал(а): Тогда может и Форта как отдельного языка нету? Мур 1970: PROGRAMMING A PROBLEM-ORIENTED-LANGUAGE - т.е. программирование проблемно-ориентированного языка. FORTH - лишь средство/способ/метод этого программирования, а не какой-то обособленный язык. |
Автор: | _KROL [ Сб янв 27, 2018 22:43 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
gudleifr писал(а): _KROL писал(а): Тогда может и Форта как отдельного языка нету? Мур 1970: PROGRAMMING A PROBLEM-ORIENTED-LANGUAGE - т.е. программирование проблемно-ориентированного языка. FORTH - лишь средство/способ/метод этого программирования, а не какой-то обособленный язык. Хорошо, вы меня убедили. Форт - не язык программирования, а метод (инструмент) для решения задач. Но и задачи бывают разные. Тогда каждый стандарт - набор инструментов, где каждый по своему подписан. И ничего плохого в стандартах нету. Кому это "костыль", а кому-то быстрое решение проблем. |
Автор: | gudleifr [ Сб янв 27, 2018 22:48 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
_KROL писал(а): Но и задачи бывают разные. Тогда каждый стандарт - набор инструментов... Ага. Откройте стандарт ANSI 94. Вы можете представить реальную задачу, которую можно решить таким "инструментом"? Я - нет.P.S. Любят фортеры красивые слова: философия, безграничные возможности, совершенные стандарты... Но в FORTH нет ничего, что оправдывало бы использование столь "энергичных" слов. В нем нет ничего, что выходило бы за пределы "обычного набора программиста", и было изобретено "специально для него". |
Автор: | Hishnik [ Вс янв 28, 2018 01:14 ] |
Заголовок сообщения: | Re: О естественности FORTH-решений |
_KROL писал(а): Стоп! Тогда может и Форта как отдельного языка нету?) А он есть, правда держится лишь на договорённостях. Сложение можно представить как +, а можно как ADD. В Форте действительно договорились о наборе базовых слов, так что язык Форт вполне существует. Другое дело, что при простейшем синтаксисе грань между ядром языка и определяемыми в нем словами практически стирается, и именно на это в Форте делается упор. Это не означает, что на Форте надо обязательно писать каким-то "высоким стилем", потому что обычный инструмент в стиле Си тоже имеет право на существование, если уж нужно. |
Страница 1 из 8 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |