Цитата(Chrono Syndrome @ 29 Jan 2006, 00:19)
Цитата
Главное, что мне нравится в грамматике C - отсутствие кретинских begin'ов, end'ов и ENDOF'ов, а также хорошие циклы и еще 1-2 полезных конструкции. В остальном, конечно, есть излишества (по началу трудно не попутать i++ и ++i, усложненные case'ы), но это гораздо лучше, чем Basic, Paskal и, по всей видимости, Forth.
Кретинские BEGIN'ы и ENDOF'ы там просто заменены не менее кретинскими { и } . А насчет конструций... по-моему в VB .NET есть ВСЕ мало-мальски нужные конструкции... Ну вот скажи мне, плиз, чем твой C/C++ лучше VB .NET'а ??? А насчет FORTH'а ты особо не рассуждай, пока его не видел, он КАРДИНАЛЬНО отличаеться от ВСЕГО остального и потому его очень трудно сравнимать с другими языками...
Ну, C - далеко не мой. Я на Delphi программирую, летом собираюсь частично пересесть на C#. А { и } лучше begin-end'ов по 2 причинам: проще писать и проще читать код - нет ненужных нагромождений букв.
VB .NET я не смотрел, как и C. Я только мельком глянул обычный VB и C++, по этому сравнивать их или сравнивать VB с Delphi не могу.
Цитата(Chrono Syndrome @ 29 Jan 2006, 00:19)
Цитата
В Delphi тоже все просто. Почему же Basic, а не Delphi?
Ни черта там не просто

! Delphi - это тот же Паскаль, а Паскаль по определению сложнее BASIC'а. И хуже, ибо дальше от "разговорного стиля" (в BASIC'е названия большинства команд говорят, что называеться, "сами за себя").
ИМХО, разговорность - самая дурацкая мера хорошести. Представляю, как выглядила бы програма на самом "хорошем" языке: "Заведем переменную V и запихнем в нее значение 5, ..." Кстати, в Delphi тоже все названия осмысленные. Это только в C и С++ у половины функций невразумительные аббревиатуры в качестве названий. Но к этому тоже, наверняка, не сложно привыкнуть.
Цитата(Chrono Syndrome @ 29 Jan 2006, 00:19)
Цитата
Вообще-то, никакой таблицы адресов переменых в программах не существует. И от необходимости переменных никуда не убежишь, независимо от синтаксиса.
??? Как не существует ? А как же тогда, по-твоему, программа распределяет переменные в памяти ??? А обойтись без них вполне можно, если программа не очень сложная, ибо в Forth'е они оттеснены на второй план (По большому счету там вообще нет переменных в обычном понимании этого поняти... Форт способен напрямую работать с памятью, а его "переменные" - просто адреса зарезервмрованных мест в кодовом сегмента... там нельзя присвоить переменной A значение 1, там можно получить адрес места в КС, на которое ссылаеться слово A, после чего командой ! записать по этому адресу верхнее число со стека... Впрочем это только в "классическом", сейчас современные Форт-системы уже поддерживают "стандартные" преременные).
Переменные распределяет компилятор (или линкер). У программ уже все изначально зарезервировано и обращение к переменной - это обычное обращение к памяти по определенному адресу. Поэтому, не вижу разницы между Фортовыми "переменными" и обычными переменными.
Цитата(Chrono Syndrome @ 30 Jan 2006, 19:01)
Цитата
Пример, если можно.
Ты знаешь много языков, в которых допустимо динамическое создание, изменеиние, запуск и удаление процедур ? А языков, где компилятор (вернее диалогогвую систему) можно переделать и сохранить ? Языков, где можно определять собственные управляющие структуры ? А главное языков, где прогамма ОДНОВРЕМЕННО компилируеться и интерпретируться ? Ни в одном другом языке (кроме, разве что, некоторых версий Lisp'а, но его с Forth'ом даже близко не сравнить по функциональности) нет аналогов коммандам REF, SEE, WORDS и т.д. Достаточно ?
А вот это уже интересно. На счет "Ни в одном другом" ты, наверное, неправа. Возможности создания, изменения функций и другие приемущества интерпретируемых языков достаточно мощно реализованы в TeX'е. Но одновременная компилляция и интерпритация со всеми вытекающими - это весьма занятно.