У Tcl нет недостатков. Но это уже как вино дцатилетней выдержки. И юникод давно есть и всё остальное. И книг нет, потому, что все книги вышли 10-15 лет тому назад. Теперь по-существу. Про "поддержку объектов" -- чушь. Наиболее полно отвечает на вопрос, как это не смешно,
статья в lurkmore . Аж десяток объектных систем, причём их можно использовать, часто, одновременно... Самая вменяемая, IMHO, xotcl. Что касается программирования. Программировать на Tcl большие программы тяжело, из-за отсутстия компилятора и жёсткой типизации. C++ лучше -- это моё мнение. Или Python. Без объектной системы тоже тяжело. Для маленьких же программ (единицы тысяч строк) описанное недостатками не является. Про GUI опять же чушь. "Выглядит некрасиво" -- это да, аргумент... с такими аргументами идите куда-нибудь отсюда по-дальше. Зато работает, в отличии от. Все встроенные виджеты достаточно разумно сделаны. Со стороны тащить приходится только combo box. Альтернативы стандартным виджетам напротив же обычно имеют массу недостатков и являются сырыми студенческими поделками. Красиво но без понимания, почему старое сделано именно так. Да, оно умеет X-ресурсы, в отличии от поделок на Gtk с железобетонно-приколоченным в исходниках look and feel. Что до удобства и т.п. Нужно понимать, что Tcl (как и Python) отнюдь не вся вселенная, а лишь некий ЯВУ. В случае Tcl также нужно понимать, что он не предназначен собственно для программирования (только если для небольших программ, хотя можно, но сложно, писать и большие), сколько как "клей" для связи разных компонентов ПО. Легко интегрируется в C/C++, например. Как C в Tcl, так и наоборот. Действительно легко, в отличии от прочих. Tk -- совершенно отдельная штука. Практически как Gtk или Qt. В чём-то победней, в чём-то побогаче. И важно понимать, Tcl или Tk не заменяют программирование на C, если это необходимо, равно как и не позволяют программировать "как на C" -- результат будет плачевный и потом нытьё на все интернеты какой Tcl плохой. Нет, это программист плохой. Какие "фишки" есть? Достаточно широкий набор библиотек на все случаи жизни (почти как CPAN). Возможность интерактивного режима работы (shell). Последнее есть в perl и python, но в такой форме, что практически пользоваться невозможно. Tcl почти способен заменить bash. На база Tcl можно строить domain specific languages легко. Ну собственно сам язык, повторюсь, не для большого программирования, с другой стороны умеет три вида скобок (C) lurkmore и всё такое прочее что вызывает зависть у других.