Tcl
Материал из Lurkmore
A long time ago, in a galaxy far, far away... События и явления, описанные в этой статье, были давно, и помнит о них разве что пара-другая олдфагов. Но Анонимус не забывает! |
Tcl (англ. Тикль — щекотать) — когда-то популярный среди бородатых дядек и тетек программируемый язык метапрограммирования, позволяющий запрограммировать все то, что можно напрограммировать на Си, находясь при этом в дугу пьяным. Из-за данной особенности язык очень любим среди работников всяких НИИ, РАН и прочих CERNов. Кстати, в последнем TCL используется для управления телескопами, так что первым, кто когда-нибудь обнаружит инопланетян, будет приблуда, созданная в пьяном угаре на наркоманском языке. А еще наркоманами, пишущими на TCL настольные приложения, он обычно упоминается в связке с убогим графическим интерфейсом Tk в виде англоязычного мема — Tcl/Tk. Однако следует отметить, что в последнее время сообщество кардинально понизило унылость интерфейса Tk[1] — они выкинули Tk нахер и приделали биндинги к Qt, GTK, FLTK и даже написали NexTk.
Содержание |
[править] История
Язык был создан профессором Остераутом во времена работы в альма-матери LSD и BSD. Фактов применения веществ профессором во время создания Tcl не обнаружено. Ну, кроме самого факта создания Tcl. Позже создатель пытался внедрить язык в компанию Sun Microsystems, но, по причине невозможности осилить синтаксис языка участниками проекта с мозгом меньше слоновьего, был изгнан. Вместо этого Sun Microsystems придумали Яву. Вы не поверите, но потом была сделана реализация тикля уже на самой яве, и притом не одна: [2] [3]. Причем вторая (Jacl) успешно ушла в продакшн в составе жирнющего монстра IBM WebSphere (в последних версиях от Jacl отказались, заменив на Jython). Фон Нейман вращается в гробу до сих пор.
Также одно время тикль успешно применялся для создания погремушек для недоадминов RedHat Linux — на нем был сделан гуй для управления сервером, службами и пакетами.
[править] Синтаксис
По мнению 95 % быдлокодеров, синтаксис Tcl уродлив невообразимо, однако позволяет успешно программировать будучи сильно подшофе, причем программа потом будет работать.
Особо лютую ненависть язык вызывает среди лисперов, ввиду наличия нескольких типов скобок, применяемых для оформления программ. В отличие от Lisp-a в программы на Tcl можно вписывать еще квадратные и фигурные скобки.
Наличие макросов и чуть более чем одной системы объектного ориентирования понижают ЧСВ лисперов в 9 раз.
Самый бородатый лиспер, не осиливший синтаксис Tcl — Столлман. В своей громогласной речи Tcl не нужен Столлман не побрезговал показать свое ЧСВ, упомянув свой текстовый редактор и обозначил трудности восприятия синтаксиса Tcl в сообществе «Мы не быдло юникс». После этого эпик фэйла Столлман люто, бешено возненавидел Остераута и позволил себе прилюдно обозвать его жлобом[2].
Так выглядит Hello World!:
puts "Hello, World!"
[править] Web
Давным давно для веб-сервера Apache было понаделано расширений, позволяющих использовать тикль для создания динамических страниц. Совсем, как этот ваш PHP.
Работают, между прочим, до сих пор, хотя живых доказательств этому в своих интернетах вы не найдете.
http://tcl.apache.org/rivet/ http://tcl.apache.org/websh/
А еще помимо упомянутых выше негритянских балалаек есть разработки и для белых людей:
http://www.aolserver.com/
[править] Интересные факты
- Наиболее известный мем, относящийся к Tcl/Tk — самый продвинутый в интернетах Jabber-клиент — tkabber. Интерфейс ткаббера доставляет массу лулзов пользователям всяких Говно-Квипов своей убогостью. Поэтому пользователи tkabber-а не перестают терзать авторов проекта вопросом «Почему Ткаббер такой страшный?».
- Большой и толстый энтерпрайз также давно и сильно любит тикль. Например, Oracle, встроивший свою реализацию тикля в свою же БД аж по самые помидоры [4].
- GUI-приложения, написанные на Tcl/Tk, под Яблоком тоже ужасны.
- Анонимные аналитики ЛОРа утверждают, что GUI программы на Tcl пишутся в 9 раз быстрее чем на С++[3].
- Количество вакансий для Tcl-программистов в этой стране есть величина постоянная, не превышающая количества букв в названии языка. В отличие от всего остального белого мира, где данная величина иногда может зашкаливать за 9.
- Язык позволяет объявлять переменную с пустым именем. В эту переменную можно записать пустое значение. Хранится все это будет в пустой ячейке памяти. Можно, кстати, и не пустое, и даже целый массив, причём это реально используется.
- Присваивание обозначается не "=" или ":=", а командой set. Классика жанра - "set set set" - создать переменную с именем set и присвоить ей значение - строку "set".
- В Tcl можно запрограммировать деление на ноль.
- Во избежание актов лютой ненависти со стороны быдлокодеров серверы проекта спрятали на секретной базе Dharma Initiative на островах Токелау в Тихом океане [5].
- Во времена царя Гороха на тикле пейсались руками скрипты для эмулятора этого вашего ворлдофваркрафта в неофициальной версии сервера.
- Автоматизация при разработке и тестировании микросхем, понапиханных в эти ваши компьютеры, мобильники и прочие айпэды пишется чуть менее чем полностью именно на тикле, только тссс!
-
Tcl/Tk встроен в Python. - На Tcl пишутся металлические тетки (IVR), живущие на access-серверах Cisco
[править] Ссылки
- tcl.tk — Официальный сайт.
- tcl-tk.ru — русскоязычная wiki
- wiki.tcl.tk — маны, курите их!
- en.w:Tcl — Tcl в англопедии
- en.w:Eggdrop — самый популярный IRC-бот. Понимает скрипты, написанные на $subj
[править] Примечания
- ↑ Кстати, унылость Tk тоже заметно уменьшилась. Также следует заметить, что для телескопов крутой гуй со свистоперделками а-ля Эпл не нужен.
- ↑ Stallman, taking advantage of an audience microphone, disrupted the proceedings with a tirade against panelist John Ousterhout, creator of the Tcl scripting language. Stallman branded Ousterhout a «parasite» on the free software community [1]
- ↑ В современных версиях Tcl/Tk есть Themed Tk (ttk) виджеты. С ними интерфейс под виндой выглядит так же, как у любой другой виндовой программы без скинов, в соответствии выбранной темой для XP/Висты. По быстродействию голый интерфейс (который ничего не делает) так же от других программ не отличается. А тормозит только в случае криво написанного быдлокода. Но Ткаббер до сих пор таки страшный.
[ + ] Любой программист без словаря поймёт, что такое Tcl
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|