• Авторизация


Tcl - 2. 21-10-2007 21:40 к комментариям - к полной версии - понравилось!


В прошлом сообщении о языке программирования Tcl я, как это у меня принято, допустил ошибку.
Мне показалось, будто-бы освоенный недавно мною язык Tcl по сути своей то же самое, что и язык MUMPS.

Хотя val_2001 и усомнился в целесообразности публикации моих перед ним оправдательных объяснений здесь, я все же это делаю.

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

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

Мне, прежде, чем заявлять о померещившейся родственности систем MUMPS и Tcl, следовало бы посмотреть соответствующие сайты в интернете.
Их много. Даже Википедия дает очень неплохое описание того и другого.

Почему я решил, что Tcl - это то же самое, что MSM?

Когда я впервые раскрыл программу постпроцессор, а все программы на Tcl - это простые текстовые файлы, которые свободно редактируются в Notepad или лучше в WordPad, то увидел следующий текст.

Привожу маленький кусочек из середины реальной программы-постпроцессор. Вся-то она размером около тысячи строк.

#=============================================================
proc MOM_start_of_program { } {
#=============================================================
global mom_logname mom_date is_from
global mom_coolant_status mom_cutcom_status
global mom_wire_cutcom_status

set pb_start_of_program_flag 0
set mom_coolant_status UNDEFINED
set mom_wire_cutcom_status UNDEFINED

catch {unset mom_cutcom_adjust_register}
catch {unset mom_tool_adjust_register}
catch {unset mom_wire_cutcom_adjust_register}

set is_from ""

catch { OPEN_files } ; #open warning and listing files
LIST_FILE_HEADER ; #list header in commentary listing

global mom_sys_post_initialized
if { $mom_sys_post_initialized > 1 } { return }

}

#=============================================================
proc MOM_sync {} {
#=============================================================
if [llength [info commands PB_CMD_kin_handle_sync_event] ] {
PB_CMD_kin_handle_sync_event
}
}


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

Ну я-то не сильно испугался потому, что давно пуганный.

Сразу обратил внимание на эти МОМ - совершенно не обязательные приставки к именам, зачем-то используемые в программе-постпроцессор. "МОМ" - "МUМPS" не зря, думаю, наверно.
Отсутствуют типы переменных - любой переменной можно присваивать и пере-присваивать все, что угодно.
Никаких деклараций переменных не требуется.
Там и там так же.

Все переменные доступны только внутри процедуры, если не объявлены, как глобальные. В MUMPS, кажется, наоборот, но я об этом забыл.

К тому же, все присвоения там и там делаются командой SET. Программы в MUMPS - текстовые и он является интерпретатором, подобно Tcl.

Интерпретаторы Tcl, как некогда MUMPS, можно загрузить совершенно бесплатно.

Мне, почему-то, померещилось, будто много лет назад, разбираясь в многочисленных инструкциях по MSM, я неоднократно встречался с аббревиатурой Tcl.

Одним из провоцирующих факторов явилось то, что следующим языком, который мне довелось освоить после MUMPSа оказался Lisp.

Я был влюблен в Lisp лет пять, и сейчас считаю, что более лаконичного, логичного и красивого языка нет.
А Lisp, уж точно, является родным дядей Tcl.

В общем, все смешалось в бедной головушке и решил ваш бедолага от программирования, что Tcl, напавший на меня из UGS, есть тот же самый MUMPS, только "вид сбоку".

На самом деле MUMPS и Tcl - это животные разной породы.

MUMPS появился гораздо раньше Tcl и предназначался для работы с базой данных, тогда, как последний был сочинен для манипуляций текстовыми строками.


Как там у Маяковского:

Лошадь сказала, взглянув на верблюда:
- Какая ужасная лошадь-ублюдок!
Верблюд же воскликнул:
- Да лошадь разве ты?
Ты - просто-напросто верблюд недоразвитый!
И знал лишь Бог седобородый,
Что это животные разной породы.


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

Вот ссылка на хорошее русское сообщение языка Tcl в Википедии: http://ru.wikipedia.org/wiki/Tcl
Вот ссылка на английский рассказ о MUMPS: http://en.wikipedia.org/wiki/MUMPS

val_2001 и те, кому вдруг показалось интересным!
Хотя Tcl, на котором я в пятницу наконец закончил первую версию постпроцессора, по многим причинам не стал моим любимым, я был бы рад поделиться любыми, добытыми мною сведениями о нем.

Как обычно после разрушения языковых барьеров и отшелушивания излишеств, все оказывается весьма просто.

Только этот пост надобно уже закончить.
вверх^ к полной версии понравилось! в evernote
Комментарии (20):
ГАЛкаЯ 21-10-2007-21:43 удалить
Ой, скока букафффффффф.. тока про лошадь-ублюдок и поняла...
Ржевский 21-10-2007-21:52 удалить
Во как! Пойду друзьям расскажу-с.
val_2001 21-10-2007-22:35 удалить
Им нас не понять!!!!
И все-таки MSM это прелесть! лаконичность, простота и о чудо такие прекрасные получаются штучки!!
val_2001 21-10-2007-22:59 удалить
Очень и нтересная ссылка на сайт спасибо!
Исходное сообщение ГАДкаЯ
Ой, скока букафффффффф.. тока про лошадь-ублюдок и поняла...


На буковки не обращай внимания.
Это военный, маскировочный прием, чтобы никто не догадался и все думали, что афффффтор очень умный.

А вот с Маяковским ты меня устыдила, и я наковырял по памяти все стихотворение.
ГАЛкаЯ 21-10-2007-23:27 удалить
Окря_Ниров, вот и славно, верблюд недоразвитый гораздо симпатичнее предыдущей лошади
Исходное сообщение Ржевский
Во как! Пойду друзьям расскажу-с.


Не забудь им сказать, что эта хреновина - язык Tcl была придумана неким Джоном Остераутом в начале 80-х годов.
Что этот профессор Джон Остераут - старый кокет, ибо скрывает свой возраст и сам сделал себе неразборчивый портрет на биографическом сайте, на котором у него голливудская внешность.
Однако официально изветно, что у отца так полюбившегося вам с друзьями языка Tcl, болезнь защемления кистевого нерва под названием "тоннельный синдром", что мешает ему быстро нажимать на мышку.
Поэтому, уважаемый Поручик, я настоятельно рекомендую вам'с с друзьями на некоторое время оторваться от этого паскудного Tcl и рвануть по пабам.
Пиво киснет'с.
Исходное сообщение ГАДкаЯ
Окря_Ниров, вот и славно, верблюд недоразвитый гораздо симпатичнее предыдущей лошади


Галя!
Ну как же можно спорить?
Верблюд, конечно же, симпатичнее лошади.
ГАЛкаЯ 22-10-2007-00:04 удалить
...только верблюд НЕДОРАЗВИТЫЙ
Исходное сообщение val_2001
Им нас не понять!!!!
И все-таки MSM это прелесть! лаконичность, простота и о чудо такие прекрасные получаются штучки!!


Ах, Валя! Даже жене-программистке не дано понять запрограммировавшегося мужа.
Что же говорить о других?

Да, MSM хорош и удобен. Но он все таки очень сильно ориентирован сам на себя. На свою собственную базу данных. И поэтому не-универсален.
А вот этот Tcl, претендующий на универсальность,( чего только на нем уже не по-наделано, включая сетевые серверы) все же не слишком человечен.

Сейчас уже, я бы предпочел сделать ту же программу на Visual Basik. И не только потому, что это последний, глубоко освоенный мной язык. Он, кстати, самим автором Tcl-я тоже отнесен к скриптовым языкам. Сам-то Visual Basik, как язык не слишком лаконичен и органичен.
А потому, что поддержка и помощь программисту в Visual Basik выше всяких похвал. Можно всегда, все видеть, менять, останавливать, копировать, запускать и проверять с любого места. При этом он-лайновая помощь, разного уровня, четкая, прозрачная с примерами и расширениями, работает постоянно.
Эту же программу-постпроцессор на Visual Basik я бы сделал, вместо трех недель, за два дня, сохранив пару литров своей крови.
ГАДкаЯ, это лошадь - верблюд недоразвитый. А верблюд, даже перезрелый, вроде меня, - ну чистая прелесть.
ГАЛкаЯ 22-10-2007-00:33 удалить
Окря_Ниров, не, лошадь тоже бывает прелестной...
ГАЛкаЯ 22-10-2007-00:35 удалить
жаль, картинка не получилась
Исходное сообщение ГАДкаЯ
Окря_Ниров, не, лошадь тоже бывает прелестной...


Бывает. Если рядом нет какого-нибудь верблюда.

Как же это картинка может не получиться?
Это фокус может не получиться. А картинка?
Fani_Jovik 26-10-2007-21:13 удалить
Окря, не принимайте мой пост, за грубую лесть....
Ценю в мужчинах нетривиальный ум, способность логически мыслить и абсолютно технический склад мозгов.
Я в низком реверансе....:-)
Jovik, никаких реверансов.
Дай поцелую?
По отношению к кому-нибудь другому - это, конечно, была бы лесть, а в отношении меня - это чистая правда.
И вот находятся люди, которые мне во всем этом отказывают.
Fani_Jovik 27-10-2007-10:18 удалить
Окря, никаких возражений, целуйте, мне будет очень и очень приятно!
Буду жить с ощущением, что где-то за океаном есть (таки) мужчина, сразивший меня наповал (в хорошем смысле), всеми вышеперечисленными качествами, ну и ещё парочкой (душевных).
Jovik, зачем согласилась? Теперь весьма сомнительно, что меня еще есть.
Fani_Jovik 27-10-2007-22:54 удалить
Сомнения в сторону! АднАзначно!
Jovik, казнить нельзя помиловать.


Комментарии (20): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Tcl - 2. | Окря_Ниров - Творчество Окри_Нирова | Лента друзей Окря_Ниров / Полная версия Добавить в друзья Страницы: раньше»