LINUX.ORG.RU

Tcl/Tk 8.5a5 is released.


0

0

Выпущена очередная промежуточная версия этого известного мультиплатформенного интерпретатора.

Скачать Tcl/Tk 8.5a5: http://www.tcl.tk/software/tcltk/down...

Напомним, что в отличии от большинства других языков программирования, Tcl/Tk имеет на всех поддерживаемых платформах привязку к нативным библиотекам и не имеет зависимостей от библиотек Gtk+/GNOME и Qt/KDE. Это позволяет достичь высокого быстродействия оконных приложений в XWindow, созданных с использованием библиотек Tcl/Tk. Долгое время в Tk были довольно ограниченные средства интеграции с нативной платформой, особенно под Unix. В версии 8.5 сделан упор на расширение взаимодействия с оконными системами, в частности с XWindow. Скриншот приложения, использующего Tcl/Tk 8.5, позволяет частично оценить возможности этой версии библиотеки.

http://sk1.sf.net/screenshots/sk1_cmy...

Если верить "Tcl/Tk 8.5 Roadmap" финальная версия не за горами.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

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

>>На Tcl кстати вполне можно писать в функциональном стиле, не все возможности ФП конечно пока реализованы.

Мысль очень спорная. Как можно писать в функциональном стиле на языке, где даже анонимных функций нет? Главная заповедь функциональшиков ("переменные суть зло") не выполняется!

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

> тебе стоит еще попробовать Rebol.

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

У него есть сейчас какая-то ниша? Или борется за место под солнцем с другими скриптовыми языками.

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

> На собственном опыте могут сказать, что писать на нем просто и приятно. Для тех же, кто считает, что большая программа может быть написанно только с использованием ООП могу посоветовать изучить xotcl, snit и itcl (все три), они изменять ваше представление об ООП.

О, попался знающий человек :). Так, а что использовать? Не все же три? И что будет стандартом?

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

> под 5 федорой половина манов на Х-либовские функции хрен знает куда пропала, rgb-файл куда-то делся

А зачем забивать на диске место никому не нужным? Лучше еще одну темочку гткшную положить;)

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

> Где?

Они неявные :). В Тикле основная функция eval. Блоки кода строятся за счет строк. {} - является аналогом "", который не интерпретируется в момент исполнения. Тоесть конструкция:

if {$x > 0} {

...

} else {

...

}

представляет собой вызов функции if, которой передаются четыре текстовых аргумента: условие, блок if, else, блок else. Если вам нужно достучаться до нужных значений в месте исполнения кода(сделать аналог closure) - есть функция upvar и global.

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

>Для тех же, кто считает, что большая программа может быть написанно только с использованием ООП могу посоветовать изучить xotcl, snit и itcl (все три), они изменять ваше представление об ООП.

Для "полноты ощущений" ООП ещё бы Forth не мешало бы изучить. Правда в Forth это не называют ООП, потому как ООП - лишь подмножество его возможностей:)

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

> Так, а что использовать? Не все же три? И что будет стандартом?

по вкусу. или оставим только один "самый правильный язык"?

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

Да х з какая ниша. Но возможности впечатляют. Имхо, ИМХО, это просто Лисп, который лишили скобок, как впрочем чем то и Тикль.

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

>Для "полноты ощущений" ООП ещё бы Forth не мешало бы изучить

Cмелое утверждение! Даже очень. Назвать язык, в котором один на все про все тип, ООП - это круто. Я бы додумался только до того что он скорее функциональный, по сути кастрированный и потому сверх компактный и быстрый... Лисп.

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

>Назвать язык, в котором один на все про все тип, ООП - это круто.

Круто - это лезть обсуждать язык, совершенно его не зная. ООП на Форте делается в несколько килобайт исходников. Хочешь с динамической типизацией, хочешь со статической.

А, вот, мой JBForth - он вообще тупо работает исключительно с нативными Java-классами. И от этого не перестаёт быть Фортом.

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

>>сути кастрированный и потому сверх компактный и быстрый... Лисп.

Ну всё - хана топику...
Щас лисперы набегут и начнут рассказывать, что в лиспе в отличии от других языков все можно реализовать в 15 строчек. И так на 2000 каментов :( ...

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

вы не возбуждайтесь так. я таки не сколько не против форту. за форт положил лет пять жизни. и броуди мне открыл глаза. однако форт ни разу ни ООП. все что на нем ООП - это то же ООП что и в GTK... вот и еще скажу что фообще говоря Форт на системе с выше чем 16-битной адресацией и не подшитым словарем - это вобщем палиатив. и все таки подуайте на тему что Форт - это обрезаный Лисп. я сам до этого не сразу дошел.

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

> Вот бы еще любимые тетки имели ресурсы настраиваемые, подкрутил resources и она седня под памелу, а завтра под кемпбелл, так нед ведьж не настраиваюца...

В отличии от тёток компутер я настоить могу. Хочу у буду. Вот у меня раскладка клавиатурная -- ЯВЕРТЫ (в противовес ЙЦУКЕНГ). И переучиваться я тоже НЕ БУДУ. Просто потому, что мне под силу перенастроить компутер и здесь.

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

>> Мне наплевать на то что там большинство. > Это называется "лидер непримиримой оппозиции". Таких людей, обычно, не воспринимают всерьез потому что они несут всякие бредни. Судя по всему Вы от них ничем не отличаетесь

НЕ знаю как на счёт бредней, но вы, "из большинства", не способны нести вообще ничего осмысленного.

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

> Добавлю. Вообще правильно Мейер назвал функциональщину вредом в числе первых. Не тратте время на функциональщину. Для "клея" самый удобный ныне это Руби.

Не тратьте времени на ООПщину. Результат будет такой же прескверный. О чём esr, кстати пишет.

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

>> Я -- один > Хорошо, что Вы это осознаете. Главное, чтобы Вы поняли, что раз Вы один - Ваши интересы могу спокойно игнорироваться теми, кого интересуют кошельки и десктопы ширнармасс;)

Идиот!

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

> Морал такой: все мы умеем хотеть странного, но не все должно исполняться "здесь и сейчас", а кое-что, возможно, совсем не должно.

Разница знаешь в чём? Что должно или не должно определяю тоже я сам.

>> Систему X-ресурсов я кое-как освоил > На основании чего позвольте вынести Вас из списков "простых пользователей";)

Но я то к XFree подхожу именно как пользователь. Не как девелопер.

>> Как сделать собственную тему для Gtk или QT не осилю тем более > И не надо. Вы же простой пользователь. Довольствуйтесь art.gnome.org

Я может и простой пользователь, но я не пользователь-идиот, как это принято считать. У меня вот даже бумажка где-то была, что я пользователь... И мне не art нужен, А НАСТРОЙКИ КОТОРЫЕ Я ХОЧУ. art мне нафиг не нужен. Я его на скриншотах посмотрю.

>> система конфигурации GTK и QT представляется идиотской и не работающей > Они делают то, для чего предназначено (набор юз-кейзов прилагается).

У меня оно просто не работает. GTK-шное. НЕ работает и всё тут. QT-шное работает, но весьма ограниченно. А GTKшное НЕ РАБОТАЕТ. Я не знаю, для чего оно предназначено, но хрен ли толку, если не работает?

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

Благородный дон, я смотрю, любит громкие заявления. Так что там с SVG, а? :)

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

> Щас лисперы набегут и начнут рассказывать, что в лиспе в отличии от других языков все можно реализовать в 15 строчек. И так на 2000 каментов :(

Неа, не набегут... А я что тут делаю?! Уже ушёл! :)

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

>да ради бога. просто ООП -- это именно СМ ;)

Вы не в теме:) Просто с ST его стали так называть - ООП:)

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

>Forth страше SmallTalk. Forth - "ровесник" С и Pascal.

и что. если вы считаете по возрасту то опять же ... старше Лиспа найдется совсем чуть. ;) Форт отличная штука для встраиваемых систем с 16-битной адресаций. Когда компактный шитый словарь умещается в килобайты. когда от процессора требуется экономичность и дешевизна, потому что для форта в минимуме нужен вообще один-единственный регистр (кстати именно поэтому выбрали для ява машины фортоподобность, чтобы можно было ее запустить вообще на любом процессоре, не упираясь в те же регистры).

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

Считайте, что эту дискуссию Вы выиграли.

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

нет в мой мозг ООП вошло прекрасно, даже после долгой любви к примеру Форта. ООП - очень практично. везде совать конечно не стоит, но вообще так проще: иметь одну методологию для максимума задач. мой выбор стал Руби. остальное по мере необходимости, даже функциональщина, ей просто не надо давать поглощать вас полностью, держать на жестком поводке.

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

>если вы считаете по возрасту то опять же ... старше Лиспа найдется совсем чуть.

1) Я про Лисп не говорил и ничего против Лиспа не имею:)

2) При чём тут "древний" Лисп в контексте ООП?

>Когда компактный шитый словарь умещается в килобайты.

Вы просто не умеете его готовить:)

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

Его выбрали не столько из-за этого, а из-за простоты реализации на ЛЮБОЙ платформе (проще, чем транслятор ассемблера написать)

А вообще, про 16bit-only (в смысле практичности) - очень смешно:)

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

>2) При чём тут "древний" Лисп в контексте ООП?

При чём тут "древний" Форт в контексте ООП?

>Его выбрали не столько из-за этого, а из-за простоты реализации на ЛЮБОЙ платформе (проще, чем транслятор ассемблера написать)

именно в отсутствии типов кроме стека эта простота и заключается но VM реализовывали не изза простоты а именно изза портабельности

>А вообще, про 16bit-only (в смысле практичности) - очень смешно:)

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

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

>>2) При чём тут "древний" Лисп в контексте ООП?

>При чём тут "древний" Форт в контексте ООП?

При том, что ООП фактически там присутсвовал, хотя так ине назывался.

>но VM реализовывали не изза простоты а именно изза портабельности

ИМХО простота реализации == портабельность.

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

>>>2) При чём тут "древний" Лисп в контексте ООП?

>>При чём тут "древний" Форт в контексте ООП?

>При том, что ООП фактически там присутсвовал, хотя так ине назывался.

ООП можно найти и в Лиспе и как видите и на Си можно писать квазиООП. Вы конкретно скажите без общих слов про что вы? что именно вы считаете ООП в ФОрте?

>ИМХО простота реализации == портабельность.

офигенная логика! :)) не найдесь! я и спорить не стану! только суть в треде была о причинах фортоподобности ява-машины. и не смотря что вы в чем то и правы в этой мегалогике, а выходит простое передергивание фактов. кстати такой знак, что вы нарисовали означает эквивалентность, ну так как наоборот будет верно? :)

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

>> На собственном опыте могут сказать, что писать на нем просто и приятно. Для тех же, кто считает, что большая программа может быть написанно только с использованием ООП могу посоветовать изучить xotcl, snit и itcl (все три), они изменять ваше представление об ООП.

> О, попался знающий человек :). Так, а что использовать? Не все же три? И что будет стандартом?

snit имеет ограниченное применение при кодировании виджетов и не более того.

itcl уже мёртв.

xotcl скорей тоже мёртв. В 9-й версии будет урезанная версия xotcl, предположительно, как штатная объектная система.

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

В итоге ООП в тикле нет. Может оно и правильно. Для скриптов достаточно naming conventions и namespace. И вычисления имен переменных.

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

>НЕ знаю как на счёт бредней, но вы, "из большинства", не способны нести вообще ничего осмысленного.

Ну уж явно побольше вашего. :\

Судя по всему, у нас появился очередной Irsi....

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

>>Ну уж явно побольше вашего. :\

Голословное утверждение... И при чем тут Ириска?

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

>только суть в треде была о причинах фортоподобности ява-машины.

Суть в треде была о том, что неплохо бы посмотреть на ООП-подобный подход в Forth'е, по крайней мере Forth впервые AFAIR в этом топике был упомянут в этом контексте

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

>В итоге ООП в тикле нет.

В С++ тоже нет, если компилятор C++ написан на C (в котором ООП нет). И вобще - реализаций ООП на не-ООП-процессорах тоже нет:)

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

>>И вобще - реализаций ООП на не-ООП-процессорах тоже нет:)
Ну и что? Я только за. Кому оно нужно это ООП.

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

> В отличии от тёток компутер я настоить могу. Хочу у буду. Вот у меня раскладка клавиатурная -- ЯВЕРТЫ (в противовес ЙЦУКЕНГ). И переучиваться я тоже НЕ БУДУ. Просто потому, что мне под силу перенастроить компутер и здесь.

Спрашивается нафига специально созданную для скорости набора раскладку заменять на непонятно что? Уж лучше эту идиотскую QWERTY на Двораковскую переделать.

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

>>Спрашивается нафига специально созданную для скорости набора раскладку заменять на непонятно что?
М.б. товарищ вырос на транслите (?)

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

>Суть в треде была о том, что неплохо бы посмотреть на ООП-подобный подход в Forth'е

Ну так покажите же его!?

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

>snit имеет ограниченное применение при кодировании виджетов и не более того.

>xotcl скорей тоже мёртв. В 9-й версии будет урезанная версия xotcl, предположительно, как штатная объектная система.

Так а зачем урезать xotcl? Я так кинул одним глазом, все гламурные приколы CLOS-а сделали. Зачем же резать функциональность? И тогда не понятно почему он мертв(xotcl)?

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

> Так а зачем урезать xotcl? Я так кинул одним глазом, все гламурные приколы CLOS-а сделали. Зачем же резать функциональность? И тогда не понятно почему он мертв(xotcl)?

wiki.tcl.tk

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

> Спрашивается нафига специально созданную для скорости набора раскладку заменять на непонятно что? Уж лучше эту идиотскую QWERTY на Двораковскую переделать.

Спрашивается, зачем мучаться, когда ЯВЕРТЫ я и так умею?

И скорость набора меня вполне устраивает. 1000 знаков в минуту (как из того анекдота) мне не нужно.

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

> Спрашивается, зачем мучаться, когда ЯВЕРТЫ я и так умею?

Не, ну если охота пальцы качать - то ради бога, только не нужно ставить свою глупую лень как заслугу.

IMHO глянь пару материалов на эту тему - удивишься.

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

Нет, меня очевидно решение вида "чтоб как у всех" не устраивает.

"А если вы, гражданские, такие умные, чего ж вы раскладку дворака отвергаете?"

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

> На собственном опыте могут сказать, что писать на нем просто и приятно. Для тех же, кто считает, что большая программа может быть написанно только с использованием ООП могу посоветовать изучить xotcl, snit и itcl (все три), они изменять ваше представление об ООП.

Snit практически пригоден исключительно как средство построения megawidgets.

itcl на фоне xotl смысла не имеет (имеется эмулятор itcl на xotcl). Сам xotcl, как ни странно, тоже склонен к порождения описанных проблем. Я не просто так пишу -- давно посмотрел и попробовал.

> Ошибки времени исполнения могут быть перехвачены, а вот в C++ и Java они могут иметь более фатальные последствия.

Для юзера результат один -- программа не рабоает. Поэтому таких ошибок быть не должно, a tcl их очень сильно провоцирует. Хотя я в другом соглашусь -- лучше такие ошибки, чем сразу выпадение в корку. Иногда это весьма критично.

> Интересно, а что же тогда делают команды global, variable ?

Связывают переменную с другим пространством имён. При чём вполне могут это проделывать и для несуществующих переменных. C[++] в этом случае выдаёт ошибку.

> для этого существуют средства типа frink http://wiki.tcl.tk/2611

Ну и хрен ли толку, если он вообще не работает толком (ибо с ним надо писать в стиле C), как, кстати и tcl-компилятор.

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