LINUX.ORG.RU

[tcl] Литература

 


0

0

Уважаемый брутальный ЛОР, подскажи годный ботник по tcl, пожалуйста. А то все никак не получается подступиться к этому язычку. Заранее спасибо!

P.S. Кричащих "tcl -- УГ" или "тикль мертв" прошу не беспокоиться.

★★★

Я учил по Б.Уэлшу "Практическое программирование на Tcl/Tk". Там все о версии 8.4. Особенности 8.5/8.6 можно узнать по вики.

anonymous
()

Зачем он нужен, если полно других, более современных и употребимых языков? Это как сейчас учить древнегреческий, чесслово.

anonymous
()
Ответ на: комментарий от anonymous

> Это как сейчас учить древнегреческий, чесслово.

Вообще-то я знаю несколько людей, которые учили древнегреческий. Догадайся, с какой целью они это делали.

balodja ★★★
() автор топика
Ответ на: комментарий от balodja

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

anonymous
()

Взял Уэлша в нескольких вариантах на русском и английском. Попробуем-с влиться еще разок.

balodja ★★★
() автор топика
Ответ на: комментарий от balodja

Вообще-то я знаю несколько людей, которые учили древнегреческий. Догадайся, с какой целью они это делали.

Может, автор захотел почитать исходники ]project-open[ в оригинале? :)

PS: Хотя конечно да, желание... своеобразное :)

bibi
()
Ответ на: комментарий от anonymous

> Зачем он нужен, если полно других, более современных и употребимых языков?

Всё просто. Чтобы экономить своё время на разработке софта и повышать code reuse, а не идти вслед за хомячками за модными "употребимыми" языками.

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

/me просит прощения за 4.3

naryl ★★★★★
()
Ответ на: комментарий от naryl

>Всё просто. Чтобы экономить своё время на разработке софта и повышать code reuse, а не идти вслед за хомячками за модными "употребимыми" языками.
И давно "употребимые языки" изначально обеспечивают меньший code reuse? Проводились исследования? Или это от себя на основе желания выделится из числа "хомячков"? И, наконец, "употребимые" не поддерживают Tk?

anonymous
()
Ответ на: комментарий от anonymous

И давно «употребимые языки» изначально обеспечивают меньший code reuse?

всегда

«употребимые» не поддерживают Tk

Windows тоже формально POSIX-совместимая. и что?

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>>И давно "употребимые языки" изначально обеспечивают меньший code reuse?

>всегда


Да неужели. Все равно, что сказать, что мертвые языки всегда лучше "живых". Обосновать можешь, или как всегда?

anonymous
()
Ответ на: комментарий от anonymous

Все равно, что сказать, что мертвые языки всегда лучше «живых»

у тебя с логикой проблемы. у Tcl же, тем временем, скоро выходит очередная версия - под номером 8.6

Обосновать можешь

Tcl - лисп на строках. все техники code reuse из языков с фиксированным набором поддерживаемых парадигм могут быть в нём реализованы - на чистом Tcl или с помощью расширений

если хочешь это опровергнуть - покажи мне аналог Snit (ООП на делегировании, реализован как библиотека на чистом Tcl), написанный на «употребимом языке»

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>у тебя с логикой проблемы. у Tcl же, тем временем, скоро выходит очередная версия - под номером 8.6
Толку-то. Комьюнити все равно становится все меньше и меньше.

>Tcl - лисп на строках. все техники code reuse из языков с фиксированным набором поддерживаемых парадигм могут быть в нём реализованы - на чистом Tcl или с помощью расширений

Тот же C# поддерживает метапрограммирование через T4. Противник Microsoft? Есть Ruby. Да, метапрограммирование - не серебрянная пуля.

>если хочешь это опровергнуть - покажи мне аналог Snit (ООП на делегировании, реализован как библиотека на чистом Tcl), написанный на "употребимом языке"

Стоп. Делегаты сейчас входят во множество языков, в том числе в вышеперечисленные. Зачем делать из них фетиш? А если никто не стал городить на них фреймворк, то только потому, что это нафиг не нужно.

anonymous
()
Ответ на: комментарий от jtootf

> если хочешь это опровергнуть - покажи мне аналог Snit (ООП на делегировании, реализован как библиотека на чистом Tcl), написанный на «употребимом языке»

лучше ты покажи нам тайпклассы хаскеля на Tcl :-)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от anonymous

Комьюнити все равно становится все меньше и меньше.

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

Тот же C# поддерживает метапрограммирование через T4

не гомоиконно, и намного сложней в использовании. краеугольный камень Tcl - простота. это не язык для программирования, это язык для работы: надо сделать - сделал

Есть Ruby

а не было бы Rails, где бы он был? да, Ruby хороший язык, и с метапрограммированием у него всё совсем неплохо, но это всё же не лиспоподобный пластилин :)

метапрограммирование - не серебрянная пуля

в проектировании - да. в смысле code reuse это наиболее мощный механизм из всех возможных

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

входят, но речь не о том - там ООП без наследования, с полиморфизмом посредством делегирования. почитай, забавная штука. однако имею я в виду тот факт, что тот же Snit во-первых, написан на Tcl (добавление ООП средствами языка - вроде того же CLOS); во-вторых, позволяет работать с существующим необъектным кодом объектно. это как взять существующую библиотеку на C, и отнаследоваться от группы функций оттуда, экспортировав их как класс (по определённым правилам). code reuse? и никаких тебе фасадов и декораторов

Зачем делать из них фетиш?

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

А если никто не стал городить на них фреймворк

эта модель преследует те же цели, что и IoC-модели для классического ООП

jtootf ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

лучше ты покажи нам тайпклассы хаскеля на Tcl :-)

при известном желании сделать можно, но будет уродливо и бессмысленно. проверка концептов в Tcl - это variable и catch, статика ему противопоказана идеологически

jtootf ★★★★★
()
Ответ на: комментарий от anonymous

>Зачем он нужен, если полно других, более современных и употребимых языков? Это как сейчас учить древнегреческий, чесслово.

Тем временем в ънэрпрайзном-ънтэрпрайзном Oracle Client для ънтерпрайзной-ънтерпрайзной платформы MS Windows: tcl82.dll и tcl83.dll

Мужики-то не знают)

Sectoid ★★★★★
()
Ответ на: комментарий от jtootf

> во-вторых, позволяет работать с существующим необъектным кодом объектно. это как взять существующую библиотеку на C, и отнаследоваться от группы функций оттуда, экспортировав их как класс (по определённым правилам).

вот это интересно.

можешь привести пример именно в сишной терминологии (библиотеку можно взять выдуманную, или str* семейство)?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от jtootf

> Windows тоже формально POSIX-совместимая. и что?

Во-первых, давно уже нет :) (OpenNT/Interix в расчет не берем) ; во-вторых, это значит, что POSIX состоит из нескольких стандартов, некоторые из которых венда частично поддерживала.

Tcl - лисп на строках.

Брехняааа... %) Всем известно, что «Tcl is Lisp on drugs» (c)

tailgunner ★★★★★
()
Ответ на: комментарий от Sectoid

> Тем временем в ънэрпрайзном-ънтэрпрайзном Oracle Client для ънтерпрайзной-ънтерпрайзной платформы MS Windows: tcl82.dll и tcl83.dll

Знакомься, это legacy. Заметь отсуствие tcl84.dll ;)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Знакомься, это legacy. Заметь отсуствие tcl84.dll ;)

Спасибо, кэп;). Вообще-то это список файлов из клиента версии 10.2 Глядим дату релиза:

# 2003: Oracle version 10g

Релизы соотв. tcl:

Tcl/Tk (8.2.3), released on Dec 16, 1999. Tcl/Tk 8.3.5 (Oct 18, 2002)

Таки да, номер версии — легаси;) Но ведь речь не о версии шла... Качать клиент свежего оракла лениво.

Sectoid ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

это я к тому, чтобы посмотреть, где обломится подход типа template<class R, class A1, class A2, R f(A1,A2)>

а где тут подход-то?

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

>> Tcl - лисп на строках.

Брехняааа... %) Всем известно, что «Tcl is Lisp on drugs» (c)

я выскажусь за оба варианта сразу :-)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от jtootf

> а где тут подход-то?

пиши прототипы функций, что с ними надо сделать в стиле Snit, тогда увидим

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от jtootf

> если хочешь это опровергнуть - покажи мне аналог Snit (ООП на делегировании, реализован как библиотека на чистом Tcl), написанный на «употребимом языке»

Еще можно кстати попробовать написать наследование на «С с шаблонами и неймспейсами»==«С++ без public private protected и наследования»

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Sectoid

Тем временем в ънэрпрайзном-ънтэрпрайзном Oracle Client для ънтерпрайзной-ънтерпрайзной платформы MS Windows: tcl82.dll и tcl83.dll

Надо полагать, что после этого все участники треда должны с придыханием произнести магическое 'Ооо! Оракле!' и удавиться ссаными тряпками.

bibi
()
Ответ на: комментарий от balodja

> Хороша трава у тебя, забористая. Я вообще ничего не понял

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

вполне возможно, результат я запощу в Development

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

TCL, например в cisco isrs встроен. Много voip фич реализуется на нем.

CaptainFarrell
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.