А так -- просто названия созвучны. Forth изначально должен был называться Fourth, т.е. язык 4-го поколения. Но в операционной системе, которой тогда пользовался Мур можно было использовать только 5 букв в имени файла. Так появился Forth.
Как кроссплатформенный ассемблер он незаменим, так что нужен. То есть нужен он для системного программирования: написание ядра/микроядра операционки + написание утилит вроде cat, tee, rm + написание виртуальных машин и прочего подобного.
Значит так:
white list:
Assembly
C
Forth
Lisp(Common Lisp, Scheme)
SQL
кандидаты в white list:
ML(SML, Caml, OCaml, F#)
Haskell
Prolog(Erlang)
black list:
C++
Java
BASIC
PHP
ALGOL(Pascal, Object Pascal, Delphi)
Кто что может сказать насчет Ada, Perl(Python, Ruby) и Fortran?
Да и на C++ кстати много написано, но это не мешает ему быть не нужным. На C и сейчас много интересного пишется, а на C++ только поддерживается legacy и пишется всякая прикладная ерунда.
А все-таки луговский был прав на все 100% про абсолютную ненужность С++ и абсолютное превосходство Лиспа в интегральных характеристиках.
Простой курс в историю: как известно, лучший софт был написан в 50-60х годах, когда писали люди с докторскими степенями, когда куски кода пересылали друг другу по почте и месяцами проверяли и оптимизировали. Какие языки тогда были? Правильно Фортран и Лисп (ну и асм с машинными кодами естесно, которые потом были заменены на Си), а потом пришло всякое быдло и придумали всякие быдлоязыки.
>Как кроссплатформенный ассемблер он незаменим, так что нужен.
в принципе в Си есть зачаточные фичи метанопрограммирования, правда синтаксиса много. Атомы, символы, функции/формы, списки благодаря прозрачному ABI отображаются на типы/переменные, указатели, указатели на функции ( почему например, (*func)() и func() -- одно и то же?) и функции с переменным числом параметров (список -- в стеке).
Другое дело, что типизация статическая, и если кому нужна динамическая -- все изобретают свой рантайм, как в Objective C. Сахару мало, функций-макросов, вызываемых во время компиляции (типа #line, emit()..) -- толком нет, так что метанопрограммирование зачаточное, нерасширяемо в рамках самого языка и все тащат свой препроцессор.
C - это С. Нормальная, человеческая замена ассемблеру. На нем делают то что должно работать быстро и переносимо. Были, конечно уроды делавшие ООП ассемблер. Скажите - нафига оно надо. Языков может быть много, очень много. Но если у них есть возможность легко и просто подключать С-либы - у них будет будущее.
> Про Forth не слышал, как и, думаю, многие. Так что новость не нужна.
А как тебе ML, Haskell, OCaml, Erlang? Тоже не слышал?
Если сам не захочешь услышать, никогда и не услышишь, это твои проблемы. Можно всю жизнь писать на PHP и сидеть на мега форуме про него и никогда не услышать про Python/Ruby.
ЗЫ. Метаязыки - это круто, но почему-то про метапрограммирование обычно принято больше говорить, нежели использовать.
В детстве у меня была книжка по программирования для детей, (там черепашкой рисовать, вылетело как язык называется) и был экскурс в другие языки программирования, так автор писал, что 9 летниму ребенку за пол часа мог объяснить принципы программирования на Forth и ребенок на своем уровне решать задачки и простенкие програмки вполне мог сразу писать.
интересный перевод на народе
оказывается , форт появился уже после того , как появился недоязык фортран
форт используется между прочим на спутнике , который щас вращается вокруг кассини
про ColorForth не понял - динамическая компиляция , что ли ?