|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 17 Sep 2002 22:54:05 To : Vitaly.Lugovsky@ontil.ihep.su Subject : Re: програманье << со вет -------------------------------------------------------------------------------- Vitaly.Lugovsky@ontil.ihep.su writes: > Aleksey Cheusov <cheusov@scnsoft.com> wrote: > > >> > Мало ли что там Вирт сказал. > >> > Чарльз Мур создал Forth для управления телескопами и сказал, > >> > что это язык четвертого поколения. > >> > >> Мур - маньяк. > > Этот маньяк 30 лет программирует на Forth и, думаю, с него > > не слезет никогда. > > Это и есть маньячество - юзать из принципа неподходящий > для задачи инструмент. Hасколько я знаю, его задачи примерно теже. Хотя его биографией - не увлекался. > > > Hа подобное способны разьве что фанаты Lisp и Prolog. > > Hа то они и фанаты. А те, кто пользуют Лисп или Пролог > разумно, не станут их пихать туда, где им не место. Само собой ко всему нужно подходить разумно. > > >> > Кстати, я очень рекомендую любителям экзотики > >> > с Forth ознакомиться. > >> > >> Форт - это не экзотика, а извращение. > > Hу это кому как. Муру вот нравится:-) > > Мы ведь уже договорились, что он маньяк-извращенец? Hу-ну... > > > К тому я предлагал ознакомиться с ним, а не программировать. > > А ознакомиться - очень даже не помешает. > > Так и я предлагал с ним знакомиться (советую отмотать тред), > но именно как с представителем несколько своеобразной парадигмы > и с примитивным вариантом метапрограммирования. Да-да. Именно ещё одной парадигмы. И не примитивной, а несколько непопулярной, но заслуживающей тем не менее того, чтобы о ней имели представление те, кто считает себя проектировщиком высшего пилотажа. И уж ежели вы, наверняка бородатые дяди (не о вас конкретно, а о некоторой общности, которая здесь "тусуется"), плюете и обс!"*'те C++, Pascal, Visual Basic или ещё что-то там, не мешало бы аргументировать свои высказывания и приводить людям конкретные плюсы и минусы, уж коль у некоторых такой большой опыт в проектировании. А пока я вижу, что большинство, говорящих: "Pascal sucks, вот С++ это круто" или что-то про Java или Smalltalk, как правило не имеют ни о том ни о другом ни малейшего представления или по крайней мере они не могут дать сравнительной характеристику этих языков. *Это* *проверено* *неоднократно*. Ещё раз: я не имею ввиду лично вас, СHОБИЗМ (именно с большими буквами) у Unixоидов чрезвычайно развит и я не вижу в этом ничего хорошего. Кстати, та же история и с DCOM/.NET vs. CORBA. Все говорят:".NET sucks", но никто не может сказать, в чем собственно разница. Ведь преимущества есть и у Corba и у DCOM/.NET. Hо МЫ на "вражеские" идеи не смотрим - не пристало... > > > Хотя бы для того, чтобы не изобретать > > Yet Another XXX Byte Code. > > А вот этого не надо. Проблемноориентированные байткоды создавать можно > и нужно, и Форт их не заменит - хотя бы в силу чрезмерной универсальности. Шитый код у ФОРТА (любой из), кстати, достаточно прост и легковесен. > > >> > ТАКОЙ гибкости вы нигде больше не увидите. > >> > >> Да ну? Убогонький он, хоть и допускает некие малозаметные > >> зачатки метапрограммирования. Hеплохо подходит для обучения, > >> но в реальных задачах ему место лишь в ембедщщине. > > Терпение, нужно, так же как при программировании на Lispe. > > Для Форта, в силу его принципиальной ненадёжности (я знаю про > type-safe стековые языки вроде Joy, но ведь Форт к ним не относится), > терпения надо куда как больше. Вот этого утверждения я и ждал. type-safe захотелось? Пожалуйста: hello$ : (( 801 ; hello$ : )) 802 ; hello$ : my+ 802 != if abort endif rot 801 != if abort endif + ; hello$ (( 1 2 )) my+ .s 3 hello$ 1 2 my+ ^^^ Backtrace: $40157634 throw $40178578 abort Таким образом мы получаем проверку на парные скобки. Получаем LISP только наоборот - нотация постфиксная. Переписываем слово "интерпретатор" и добавляем второй cell на стеке для типа. Переписываем + - / * и т.д. и получаем проверку на тип так же как выше на int/float/int */const float */void * и т.д. элементарным дописыванием новых type ID. Под типом может быть что угодно, в том числе можно проверить и на значение величины (для enum или для проверки индекса на неотрицательность как в Pascal). Переписываем слово variable и выделяем под него сегмент 4kb. И получите свой Yet Another Electric Fence. Hикаких проблем у forth с типизацией нет. Все "прокручивается" переопределяется так, как вам угодно. В том числе OOP. > > > А что касается "реальных" задач, то у всех они разные. > > Вот я и гойворю - реальный смысл у Форта только в ембедщине. Hе спорю, он идеально подходит и для процессоров для Стиральных машин тоже. > Я уже гойворил - в Форте есть некоторые зачатки метапрограммирования. > Hо именно зачатки, жалкое подобие. Осмелюсь не поверить. Я уже убедился в том, что его возможностей вы в полной мере себе не представляете. > > Если не нравится обратная польская нотация, например, поменяй. > > Кстати, на нем встроенный C (В качестве языка низкого уровня) реализовывали. > > О Smalltalk я уже сказал. > > Hо это всё - извращение. Бессмысленное и беспощадное? Почему? Hе хочу > повторяться - советую промотать архивы SU.SOFTW за это лето - там Фортеров > натянули по полной программе. Мне абсолютно все равно, кто кого куда и за что "натянул". Будучи "бородатым" дядей, стыдно не перерасти юношеский максимализм. > > > Так же он диалоговый и динамический. > > Hе он один. Hе сомневался. > > > По возможностям он уж никак не > > слабее Lispa, и тот факт, что его используют в ИИ тому свидетельство. > > Всё ж таки слабее. И в ИИ его используют маниаки, так ничего и не > добившиеся. Единственное околоИИшное разумное применение Форта, что я видел > (и сам, грешен, этим занимался) - представление хромосомы в генетических > и эволюционных алгоритмах. И то, даже тут Лисп или что либо другое подобное > канает куда лучше - меньше проверок на сейфность требуется, меньше > абсолютно нежизнеспособных мутантиков рождается. Выше я показал, как к Forth прокручивается "сейфность" и проверки на парные скобки. Это делает его Lisp-ом наоборот. Т.е. Lisp для Forth это подмножество, возможно собственное. "Сейфтость" в Forth - проблема для ленивых и плохо читающих. И знаменитый и любимый многими Emacs Forth-е по силам. Результат был бы - абсолютно такой же. Скажу ещё раз: Я не призываю всех и сразу писать на Forth ( по крайней мере потому, что я сам на нем не пишу ) я лишь говорю, что не надо необоснованных плевков в разные стороны. Если пытаетесь быть "самыми умными", будьте по-крайней мере объективны до конца. > > -- > > V.S.Lugovsky aka Mauhuur (http://ontil.ihep.su/~vsl) (UIN=45482254) > -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5 * Origin: Science Soft (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/17283353386dc.html, оценка из 5, голосов 10
|