Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: програманье << со вет   Aleksey Cheusov   17 Sep 2002 15:24:34 
 Re: програманье << со вет   Serguei Khvatov   17 Sep 2002 17:00:35 
 Re: програманье << со вет   Aleksey Cheusov   17 Sep 2002 17:33:57 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   17 Sep 2002 19:15:19 
 Re: програманье << со вет   Victor Wagner   17 Sep 2002 19:01:35 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   17 Sep 2002 21:10:12 
 Re: програманье << со вет   Aleksey Cheusov   17 Sep 2002 19:34:21 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   17 Sep 2002 21:19:20 
 Re: програманье << со вет   Aleksey Cheusov   17 Sep 2002 22:54:05 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   18 Sep 2002 18:34:01 
 Re: програманье << со вет   Aleksey Cheusov   18 Sep 2002 20:04:50 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   18 Sep 2002 21:59:24 
 Re: програманье << со вет   Aleksey Cheusov   18 Sep 2002 21:42:43 
 Re: програманье << со вет   Moderator   22 Sep 2002 12:31:16 
 Re: програманье << со вет   Mihail Maksimov   18 Sep 2002 19:13:49 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   18 Sep 2002 20:49:00 
 Re: програманье << со вет   Vladimir Bormotov   18 Sep 2002 01:55:28 
 Re: пpогpаманье << со вет   Roman Doroshenko   18 Sep 2002 11:47:59 
 Re: пpогpаманье << со вет   Valery Shishkov   19 Sep 2002 00:54:23 
 Re: програманье << со вет   Vitaly.Lugovsky@ontil.ihep.su   17 Sep 2002 19:13:06 
Архивное /ru.linux/17283353386dc.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional