Почему Форт не популярен?

 
GB Nick_Crak #19.10.2002 17:59
+
-
edit
 

Nick_Crak
Wyvern

аксакал

админ. бан
Вопрос заданный в сабже не так и прост. Действительно Форт - один из лучших языков-систем програмирования. Практически у него есть только один недостаток (свойственный, впрочем всем стековым машинам) - некоторая потеря производительности. Но и эта проблема достаточно легко решается, что видно, например, на примере новых Ява-процессоров.
Возникает вопрос - ПОЧЕМУ? Почему язык на котором можно написать ассемблер(!) любого процессора так мало распространен?Почему мы не видим хотя бы распространенных микроконтроллеров на основе Форт-процессора -ведь Форт-машины самые компактные и удобные в програмированнии систем реал-тайм. Единичные разработки (чаще всего это матобеспечение БРЭО некоторых научных проектов)и клоны-разновидности Форта(тот же вездесущий PostScript)можно не считать.

IMHO причина одна - Форт - язык одиночек. Он практически не приспособлен для ГРУППОВОЙ работы в больших проектах.
Нет?
А если ДА - то что делать?

Ник
Объективная реальность - вариант бреда, обычно вызывается низким уровнем концентрации алкоголя в крови.
 
+
-
edit
 

Mishka

модератор
★★★
Сразу оговорюсь, что все сказанное ниже отражает мое мнение. Хотя и являюсь специалистом по языкам программирования и ОС.

Nick_Crak>Вопрос заданный в сабже не так и прост.

Он всегда не прост - популярность языка определяется многими причинами, причем свойствами языка не в первую очередь. К сожалению.

Nick_Crak>Действительно Форт - один из лучших языков-систем програмирования. Практически у него есть только один

Я бы так не говорил. У него своя ниша. Но оригинальный Форт не поддерживал ООП, например. Кроме того у него нет средств, которые предупреждают совершение некоторых ошибок - например строгая типизация. А такой класс ошибок легче не совершать, чем потом их искать и исправлять. Поэтому здесь нужна определенная самодисциплина. Это очень трудно для новичков. Иными словами, чтобы писать на Форте надо быть уже устоявшимся программером. А в этот момент у людей уже разделение произошло. Немногие заинтересованы в том, чтобы просто так изучить непредвзято новый язык.

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

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

Nick_Crak>недостаток (свойственный, впрочем всем стековым машинам) - некоторая потеря производительности. Но и эта проблема достаточно легко решается, что видно, например, на примере новых Ява-процессоров.

Наличие стека - это практически признак всех языков, допускающих рекурсию. Это не только Форт. И это, с точки зрения компиляторщика, одно из самых больных мест по производительности. Простой пример - посчитайте числа Фибоначи или n! (факториал) через цикл и рекунсивно и сравните. Фибоначи значительо хуже.

[ слишком длинный топик - автонарезка ]
 
+
-
edit
 

Mishka

модератор
★★★
Nick_Crak>Возникает вопрос - ПОЧЕМУ? Почему язык на котором можно написать ассемблер(!) любого процессора так мало распространен?Почему мы не видим хотя бы распространенных

Ассемблер можно написать на любом языке и для любого процессора. Современнык языки - они равномощны по теории. Все это восходит в тезису Чорча.

Nick_Crak>микроконтроллеров на основе Форт-процессора -ведь Форт-машины самые компактные и удобные в програмированнии систем реал-тайм. Единичные разработки (чаще всего это

Я сомневаюсь насчет самые компактные - есть много виртульных машин и все зависит от того на что они заточены. Мы когда Самсон делали, то для ребят из лаборарии по ... вообщем не важно какой, то БПФ делали на уровне микрокоманд - для них это была просто команда. Короче быть не может. Да и по быстродействию это было в разы быстрее.

Ну а Форт был придуман астрономами для легкости решения их задач. Они не думали об удобстве вообще или его рекламе.

Кстати, само понятие стека и польской записи не настолько просто. Я здесь (в Штатах) столкнулся с такой проблемой - школы и универы требуют наличия умных калькуляторов. Типа TI-83 и лучше. Так вот, HewlettPackard выпускает очень приличные калькуляторы, но они имеют стековую организацию и польскую запись - количество людей имеющих эту машинку исчезающе мало, а уж те, кто на нее может переложить задачку - просто единицы.

Nick_Crak>матобеспечение БРЭО некоторых научных проектов)и клоны-разновидности Форта(тот же вездесущий PostScript)можно не считать.

PostScript был выбран в качестве языка поддержки принтеров и оттуда ноги торчат, т.е. поддержка и реклама оттуда.

Nick_Crak>IMHO причина одна - Форт - язык одиночек. Он практически не приспособлен для ГРУППОВОЙ работы в больших проектах.

Выходит, что язык одиночек, но по другой причине, на мой взгляд. Какой язык приспособлен для групповой разработки? Какие характеристики Вы себя выделяете? Библиотеки он поддерживает. А вот понимание и самодисциплина приходит только с опытом. Повторюсь, для того, чтобы нормально программировать на Форте, человек должен отдавать себе отчет том, что он делает и как он это делает.

Nick_Crak>Нет?
Nick_Crak>А если ДА - то что делать?

А фиг его знает. Я вон Алгол 68 люблю, особенно в его 74 года стандарте, да и поздние добавки EGG & NEST для модулей - это же песня - понятие многократных инициаций модуля в зависимости от среды. Это почти понятие объекта.

Nick_Crak>Ник
 
+
-
edit
 
Mishka>Кстати, само понятие стека и польской записи не настолько просто.
тоже раньше так думал -но это не так. Во первых Вы(как и любой человек) считает в уме пользуясь польской записью :) Т.е. к ней легко привыкнуть. Во вторых в любом учебнике по Форту есть програмка из десятка строк, дающая возможность работать в инфиксной записи и вводящая локальные переменные.

Mishka>PostScript был выбран в качестве языка поддержки принтеров и оттуда ноги торчат, т.е. поддержка и реклама оттуда.
А почему именно он? А потому, что принтер не компьютер(особенно тогда) и важны были компактность и быстродействие.

Nick_Crak>>IMHO причина одна - Форт - язык одиночек. Он практически не приспособлен для ГРУППОВОЙ работы в больших проектах.

Mishka>Выходит, что язык одиночек, но по другой причине, на мой взгляд. Какой язык приспособлен для групповой разработки?

А Вы сами и ответили :)
Mishka>Но оригинальный Форт не поддерживал ООП, например. Кроме того у него нет средств, которые предупреждают совершение некоторых ошибок - например строгая типизация

Мое мнение:
Если появятся - реализация Форт-системы имеющая, например, такой механизм, как ОБЩИЙ ТЕЗАУРУС ГРУППОВОГО ПРОЕКТА(фактически ООП реализованную через доступ всех участников проекта к единому "словарю") и ПРОВЕРКУ "СЛОВ" ПО ЗАДАННОЙ СПЕЦИФИКАЦИИ+Форт-машина в кремнии, поддерживающая эту реализацию с прибамбасами типа "зацепление команд"в стиле ядра PicoJava - то Форту будет "грозить" большое будущее :) Ведь по сути можно будет ГЕНЕРИРОВАТЬ языки любого уровня - от специализированных ассемблеров до языков обработки ответов по Аське для секретарш :)

Ник
Объективная реальность - вариант бреда, обычно вызывается низким уровнем концентрации алкоголя в крови.
 
+
-
edit
 

Mishka

модератор
★★★
Nick_Crak>тоже раньше так думал -но это не так. Во первых Вы(как и любой человек) считает в уме пользуясь польской

Да боюсь, что не так - помните, как учат сложению в младших классах - возьмем два яблока, а потом еще три, посчитаем. Или возьмем линейку - отложим два сантиметра, потом от конца отрезка - отложим еще три, а потом померим. Т.Е. операция существенно инфиксные. А стек - существенно постфиксный. Да еще с снимает со стека операнды, которые пропадают, а появляется результат. Вообще понятие переменной, как некой абстракции, вызывает наиболее сильные тормоза в начале обучения программированию. Когда был в аспирантуре, то обязаловкой было нести знания школьникам и студентам (лабораторная традиция), плюс отбирали себе людей в течении 3-5 лет. Так вот, просто объяснить что такое переменная было трудно. Да и с точки зрения математики, на которую почти все делают упор в начальном обучении, запись типа
x = x + 1
полный нонсенс, так не понятия оператора присваивания. Недаром Smalltalk использует ->.

Nick_Crak>записью :) Т.е. к ней легко привыкнуть. Во вторых в любом учебнике по Форту есть програмка из десятка строк,

Для того чтобы привыкнуть и использовать, надо понимать. Со второй частью проблемы.

Nick_Crak>дающая возможность работать в инфиксной записи и вводящая локальные переменные.

Да есть, но это не в духе Форта.


Mishka>>PostScript был выбран в качестве языка поддержки принтеров и оттуда ноги торчат, т.е. поддержка и реклама оттуда.
Nick_Crak>А почему именно он? А потому, что принтер не компьютер(особенно тогда) и важны были компактность и быстродействие.

Да тут и патентная чистота играет роль, и, чтобы конкуренты не сразу прошарили. Много чего еще.


Nick_Crak>>>IMHO причина одна - Форт - язык одиночек. Он практически не приспособлен для ГРУППОВОЙ работы в больших проектах.

Mishka>>Выходит, что язык одиночек, но по другой причине, на мой взгляд. Какой язык приспособлен для групповой разработки?

Nick_Crak>А Вы сами и ответили :)
Mishka>>Но оригинальный Форт не поддерживал ООП, например. Кроме того у него нет средств, которые предупреждают совершение некоторых ошибок - например строгая типизация

Это скорее как язык вообще, а не групповой язык. Да и С не является языком со строгой типизацией.

Nick_Crak>Если появятся - реализация Форт-системы имеющая, например, такой механизм, как ОБЩИЙ ТЕЗАУРУС ГРУППОВОГО ПРОЕКТА(фактически ООП реализованную через доступ всех участников проекта к единому "словарю") и ПРОВЕРКУ "СЛОВ" ПО ЗАДАННОЙ СПЕЦИФИКАЦИИ+Форт-машина в кремнии, поддерживающая эту реализацию с прибамбасами типа "зацепление команд"в стиле ядра PicoJava - то Форту будет "грозить" большое будущее :) Ведь по сути можно будет ГЕНЕРИРОВАТЬ языки любого уровня - от специализированных ассемблеров до языков обработки ответов по Аське для секретарш :)

Дык, Крон вроде писал расширения для ООП, а библиотеки уже давно есть. А про генерирование языков - не понял - честно.

Nick_Crak>Ник
 
+
-
edit
 

avmich

координатор

По-моему, языки программирования пишут для людей. Чтобы людям на них было удобно задачи решать. Для компьютеров, например, совсем бы другие языки делали, и с другими проблемами боролись.

Ещё: задачи есть разные, а языки - это инструменты. Для разных задач нужны разные инструменты. Так что и одного языка не получается. Самый лучший... какая женщина самая лучшая? :)

Именно поэтому бывают любимые и нелюбимые языки. И у разных людей, в общем, по-разному - не все думают одинаковым образом.

Почему конкретно Форт непопулярен... Мало рекламы, например :) . А почему Схема непопулярна?..
 
+
-
edit
 

Mishka

модератор
★★★
avmich>По-моему, языки программирования пишут для людей. Чтобы людям на них было удобно задачи решать.

Подпишусь на все 100%. Только люди разные бывают, вот астрономы решили, что этот язык как раз для управления телескопом и хорош.

avmich>Для компьютеров, например, совсем бы другие языки делали, и с другими проблемами боролись.

Ну его нафиг, программировать на таких языках.

avmich>Ещё: задачи есть разные, а языки - это инструменты. Для разных задач нужны разные инструменты. Так что и одного языка не получается. Самый лучший... какая женщина самая лучшая? :)

Так - про инструменты согласен, а лучшая женщина - моя! :)


avmich>Именно поэтому бывают любимые и нелюбимые языки. И у разных людей, в общем, по-разному - не все думают одинаковым образом.

avmich>Почему конкретно Форт непопулярен... Мало рекламы, например :) . А почему Схема непопулярна?..

Гораздо интереснее вопрос - а у нас всего два значения {популярен, не популярен} как логике или же больше? Скажем "не любить" не означает "ненавидеть".
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
Mishka>Т.Е. операция существенно инфиксные. А стек - существенно постфиксный.

Сложно сказать. Скорее операции префиксные, с одним операндом и аккумулятором. Так сказать, живое воплощение ассемблера 8080 :)

Mishka>Вообще понятие переменной, как некой абстракции, вызывает наиболее сильные тормоза в начале обучения программированию.

Дык, прямая дорога в функциональные языки. :)

Mishka>Дык, Крон вроде писал расширения для ООП, а библиотеки уже давно есть. А про генерирование языков - не понял - честно.

Вот в том-то, ИМХО, и беда Форта, что можно быстро и легко реализовать на базовом уровне любую концепцию. Настолько легко, что проще написать свою, чем разбираться в чужой. Отсюда и индивидуализм...

Что до ООП - я как раз расчитываю за это взяться "как следует". Полное вытеснение базовых примитивов (т.е. фактически полная замена словаря), некоторые модификации синтаксического анализа, (опционально строгая) типизация и т.п.

avmich>По-моему, языки программирования пишут для людей. Чтобы людям на них было удобно задачи решать. Для компьютеров, например, совсем бы другие языки делали, и с другими проблемами боролись.

Форт хорош тем, что его базовый синтаксис "безскобочный" и весьма близок к естественным языкам.

avmich>Ещё: задачи есть разные, а языки - это инструменты. Для разных задач нужны разные инструменты. Так что и одного языка не получается. Самый лучший... какая женщина самая лучшая?

Не так давно в SU.SOFTW была УЖАСНО ГРОМКАЯ битва на тему "Форт против всех" :) Пришли к выводу, что Форт уступает в чём-то любому языку (C/C++ в быстродействии, Haskell'у в функциональности, Perl'у в синтексисе и т.д.). Но вот что интересно, он хоть и уступил всем, но после тяжёлого боя. Т.е., никто не возьмётся, скажем, сравнивать по скорости ассемблер и Бэйсик или по удобству синтаксиса Си и Perl, а вот Форт способен соревноваться с любым. Так что выходит это очень универсальный инструмент. Но, понятно, любой универсальный инструмент всегда проигрывает специализированному в области специализации последнего. Но вот если нужен комплекс - то Форт может оказаться очень удобным.

Впрочем, есть область, где Форту нет равных - лёгкость написания компилятора :) Да и в компактности компилятора ему тоже равных практически нет...

avmich>А почему Схема непопулярна?..

А чем Схема лучше, скажем, Haskell'а или O'Caml? :)
 
+
-
edit
 

Mishka

модератор
★★★
Mishka>>А для машинных кодов и компилятора не надо... :D

=KRoN=>Для машинных кодов нужен ассемблер, который, как это ни странно, обычно весит больше :) Имеются в виду средний ассемблер и средний Форт-компилер. Я уже молчу про библиотеки. Тот же SP-Forth, который отнюдь не образец компактности (32-х битный машкод - это ж жуть!), в своих ~80кБ тащит кучу примитивов вплоть до работы с CGI и сокетами :)

Не - я имел ввиду именно машинные коды и программирование в бинарном виде, а не ассемблер.

=KRoN=>>>А чем Схема лучше, скажем, Haskell'а или O'Caml? :)
Mishka>>А чем вышеназванные лучше ... (подставить по желанию)?

=KRoN=>"Чем грузины!" :D

- Гоги, ты памыдоры любыш?
- Кушать - да, а так - нэт!
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
Mishka>Не - я имел ввиду именно машинные коды и программирование в бинарном виде, а не ассемблер.

Эх, DEC/PDP... Ведь "вручную" программили, без таблиц кодов... :)
 
+
-
edit
 

Mishka

модератор
★★★
=KRoN=>А чем Схема лучше, скажем, Haskell'а или O'Caml? :)

А на эти я только собираюсь посмотреть.
;)
 
+
-
edit
 

Mishka

модератор
★★★
=KRoN=>Сложно сказать. Скорее операции префиксные, с одним операндом и аккумулятором. Так сказать, живое воплощение ассемблера 8080 :)

до этого они должны были туда попасть. Но вообщем-то верно.

=KRoN=>Дык, прямая дорога в функциональные языки. :)

Это как? Lisp просто человеку тоже объснить очень трудно.

=KRoN=>Вот в том-то, ИМХО, и беда Форта, что можно быстро и легко реализовать на базовом уровне любую концепцию. Настолько легко, что проще написать свою, чем разбираться в чужой. Отсюда и индивидуализм...


по-моему, это везде так. Просто Форт не шел с библиотекой сначала и народ писал сам. А, скажем, если взять OpenGL - что легче самому реализовать или использовать готовую?


=KRoN=>Что до ООП - я как раз расчитываю за это взяться "как следует". Полное вытеснение базовых примитивов (т.е. фактически полная замена словаря), некоторые модификации синтаксического анализа, (опционально строгая) типизация и т.п.

Интересно.

=KRoN=>Форт хорош тем, что его базовый синтаксис "безскобочный" и весьма близок к естественным языкам.

Ну, скобки на строить и жить помогают. Их математики их заиствуют. А для синтатсических структур - здесь есть сложности. Но тот же цикл на Форте - как быть?

=KRoN=>Не так давно в SU.SOFTW была УЖАСНО ГРОМКАЯ битва на тему "Форт против всех" :) Пришли к выводу, что Форт уступает в чём-то любому языку (C/C++ в быстродействии, Haskell'у в функциональности, Perl'у в синтексисе и т.д.). Но вот что интересно, он хоть и уступил всем, но после тяжёлого боя. Т.е., никто не возьмётся, скажем, сравнивать по скорости ассемблер и Бэйсик или по удобству синтаксиса Си и Perl, а вот Форт способен соревноваться с любым. Так что выходит это очень универсальный инструмент. Но, понятно, любой универсальный инструмент всегда проигрывает специализированному в области специализации последнего. Но вот если нужен комплекс - то Форт может оказаться очень удобным.

Надо будет почитать, но, по-моему, это мерянье пиписьками.

=KRoN=>Впрочем, есть область, где Форту нет равных - лёгкость написания компилятора :) Да и в компактности компилятора ему тоже равных практически нет...

А для машинных кодов и компилятора не надо... :D

avmich>>А почему Схема непопулярна?..

=KRoN=>А чем Схема лучше, скажем, Haskell'а или O'Caml? :)
А чем вышеназванные лучше ... (подставить по желанию)?
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
=KRoN=>>А чем Схема лучше, скажем, Haskell'а или O'Caml? :)

Mishka>А на эти я только собираюсь посмотреть.
Mishka> ;)

Я поглядел вкратце. Оба функциональны. Haskell более академичен, O'Caml - практичен. У Haskell'а мне синтаксис понравился, у O'Caml'а - скорость. А так, куда их на практике применить - не знаю :) Можно будет завести отдельные топики - форум именно для подобных языков и сделан, хоть и называется Forth :)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
Mishka>по-моему, это везде так. Просто Форт не шел с библиотекой сначала и народ писал сам. А, скажем, если взять OpenGL - что легче самому реализовать или использовать готовую?

Конечно, готовую :)

Mishka>Ну, скобки на строить и жить помогают. Их математики их заиствуют. А для синтатсических структур - здесь есть сложности. Но тот же цикл на Форте - как быть?

Ну, там скобки операторные. Паскалистам не привыкать :)
Хотя в этом деле дальше всех ruby продвинулся. Там синтаксис управляющих конструкций по отступу определяется :)

Mishka>Надо будет почитать, но, по-моему, это мерянье пиписьками.

Именно так. Но было забавно :) Главное, много полезного можно узнать, если грызнёй сильно не увлекаться. Правда оно где-то летом ещё было... Найти, наверное, трудновато. Начальные сабжекты типа "Говорили, тут Форт обижают" :)

Mishka>А для машинных кодов и компилятора не надо... :D

Для машинных кодов нужен ассемблер, который, как это ни странно, обычно весит больше :) Имеются в виду средний ассемблер и средний Форт-компилер. Я уже молчу про библиотеки. Тот же SP-Forth, который отнюдь не образец компактности (32-х битный машкод - это ж жуть!), в своих ~80кБ тащит кучу примитивов вплоть до работы с CGI и сокетами :)

=KRoN=>>А чем Схема лучше, скажем, Haskell'а или O'Caml? :)
Mishka>А чем вышеназванные лучше ... (подставить по желанию)?

"Чем грузины!" :D
 
+
-
edit
 

avmich

координатор

А почему Форту-то популярным быть? Разве он может быть эффективен?

:)

Может, объяснит кто, почему - как - язык, удалённый от ассемблера больше, чем Си, может быть таким же эффективным?

А? :)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
avmich>Может, объяснит кто, почему - как - язык, удалённый от ассемблера больше, чем Си, может быть таким же эффективным?

avmich>А? :)

Гм. А при чём тут удалённость от машины? Во-первых, Форт, всё-таки, ближе к машине :D Во-вторых, взять тот же O'Caml, который ГОРАЗДО дальше ушёл от машины, чем даже Си++, тем не менее, в тесте с вычислением 40-го числа Фибоначчи тупой рекурсией он почти в полтора раза обошёл GCC :)

Ну а в-третьих, какий нынче самый популярный язык? :D И как у него с быстродействием? :lol:
 
+
-
edit
 

Mishka

модератор
★★★
=KRoN=> тем не менее, в тесте с вычислением 40-го числа Фибоначчи тупой рекурсией он почти в полтора раза обошёл GCC :)

Боюсь, что не все так просто. Попробуй на функции Аккермана - там невозможно рекурсию через циклы выразить. Оптимизатор и отключиться. Только числа большие не считай.

=KRoN=>Ну а в-третьих, какий нынче самый популярный язык? :D И как у него с быстродействием? :lol:

Да ребята из Гартнера говорят, что все еще С++ самый популярный. А кофейный только догоняет.
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
Mishka>Боюсь, что не все так просто. Попробуй на функции Аккермана - там невозможно рекурсию через циклы выразить. Оптимизатор и отключиться. Только числа большие не считай.

Гм. Сейчас поищу, что это такое :D

Mishka>Да ребята из Гартнера говорят, что все еще С++ самый популярный. А кофейный только догоняет.

Я, вообще-то, VB имел в виду со всеми его детишками :)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
Да... Ну и ресурсоёмкость у функции! И стек пришлось принудительно наращивать...
 
+
-
edit
 

avmich

координатор

Мишка, а вроде теорема есть, что рекурсию можно сводить к циклам?..
 
+
-
edit
 

avmich

координатор

Кстати, Крон, где это Форт ближе к машине? Как можно быть ближе, чем ассемблер - и транслируемый в него один в один Си? Да и пример с O'Caml-ом выглядит подозрительно - там что, ногами писали, или оптимизатор такой плохой?

Короче, не убедили :)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★★
avmich>Кстати, Крон, где это Форт ближе к машине? Как можно быть ближе, чем ассемблер - и транслируемый в него один в один Си?

Ну, Си в ассемблер транслируется СОВСЕМ не один-в-один :D
На самом деле, совсем недавно мне доводилось обратное доказывать - что Форт это несколько больше, чем просто продвинутый макроассемблер :D

avmich>Да и пример с O'Caml-ом выглядит подозрительно - там что, ногами писали, или оптимизатор такой плохой?

Это ты про какой конкретно? Функция Аккермана? Так чей тогда оптимизатор плохой - Си++? Между прочим, MSVC++, начиная с 4-й версии - один из лучших компиляторов C++.

avmich>Короче, не убедили :)

А в чём конкретно-то? :)
 
+
-
edit
 

Mishka

модератор
★★★
=KRoN=>Кстати, что интересно, как раз в той ссылке, что я давал (на трёхпараметрическую) Аккермана раскладывают в нерекурсивный вид :)

Да нет - я внимательно прочитал это. Это только так кажеться - там уходят от рекурсии как конструкции языка. Но стек организуют вручную и память под него отводят динамически и окончания цикла не высчитвают. Это что типа наших упражнения написать рекурсию на Фортране. Все операции по оформлению стека - вручную. Так что рекурсия на лице, только завуалирована немного.
 
+
-
edit
 

avmich

координатор

Не, Крон, я не о каком-то конкретном компиляторе Си, а о том, что Си строился, как более удобный ассемблер - это не совсем так, но до какой-то степени верно. Форт же реализует некоторую более абстрактную, и изящную, идею - но большинство процессоров скорее си-образны, чем заточены под эту форт-идею. Как транслируется Си в ассемблер - это, конечно, от компилятора зависит.

Что касается компилятора MSVC... пусть Мишка скажет. У меня скептическое, скажем так, отношение к нему :) . Особенно в сравнении с интеловским :) .

Короче, чем Форт хорош-то? :)
 
+
-
edit
 

Mishka

модератор
★★★
avmich>Что касается компилятора MSVC... пусть Мишка скажет. У меня скептическое, скажем так, отношение к нему :) . Особенно в сравнении с интеловским :) .

А че Мишка сразу. Тут на форуме Андрей Гниловской обитает - он тоже Тереховец. Даже больше, чем я. Я в аспирантуре был у него только, а Андрей всю школу прошел. А вообще-то, он был одним из самых больших "извращенцев" (писал супер-пупер хитрые программы на Форте). А интеловский, если имеется ввиду оптимизирующий, один из самых-самых - на голову выше мелко-мягкого. Но ребята из Интела распологают на порядок больше информацией по железу. А по-поводу процессорно независимой оптимизации - мне французы нравились - вон O'Caml вышел из той же Inria.

avmich>Короче, чем Форт хорош-то? :)
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru