Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: IDE для Tcl  (Прочитано 3368 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
IDE для Tcl
« : 26 Ноября 2010, 14:12:39 »
Появилась задача, для решения которой, после не очень долгих размышлений, выбрал Tcl. Возможно что потребуется ещё и R.
Ни первый ни второй ни разу не использовал - сижу вникаю.
Вот только использовать gedit для этого добра не очень удобно. Даже для вникания - минут 15 сидел впиливал как работает upvar...

Есть какая-нибудь IDE для Tcl которая не стоила бы 200 американских денежных долларов?
Хотя бы, чтобы было пошаговое выполнение и контроль переменных.

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6302
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #1 : 26 Ноября 2010, 14:50:34 »

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #2 : 26 Ноября 2010, 14:54:32 »
блин...
Спасибо :)

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6302
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #3 : 26 Ноября 2010, 14:55:10 »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #4 : 26 Ноября 2010, 17:56:21 »
Для R есть rkward.

Может, все сразу на R писать?
Там достаточно развитый объектно-ориентированный язык, пусть и заточенный под статистические вычисления, есть привязки к Tcl, GTK, QT, питону, (D)COM, стиральной машине, кофеварке, чертулысому. :)

Я давно уже R не использовал.
Помню, что 3 года назад там была проблема с выполнением цикла for - очень медленно.
Но тогда это обходилось функцией apply, а потом появился какой-то jit-компилятор.
Так что, вероятно, все намного улучшилось.
« Последнее редактирование: 26 Ноября 2010, 17:59:17 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #5 : 26 Ноября 2010, 21:42:03 »
Там задача в создании экспертной системы (ну может тут слишком громко сказано) оценивающей состояние механических конструкций.
Из математики решение СЛАУ и статистические расчёты.
Требования - высокая надёжность, открытость.
Требования по скорости в основном никакие - счёт на минуты.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #6 : 29 Ноября 2010, 18:53:31 »
Ну дыкть, и нет проблем!
Не надо никаких Tcl! Вы же его для GUI предполагаете использовать? Если да, то не надо, все делается на R, например, с помощью RGtk.

Примеры есть:
http://tolstoy.newcastle.edu.au/R/e4/help/08/02/3333.html

Еще к их списку рассылки есть удобный www-интерфейс с архивом: http://r.789695.n4.nabble.com/

СЛАУ  решаются функцией solve, статистика - море всяких модулей и функций.
http://cran.at.r-project.org/web/views/ - небольшой путеводитель по разделам.
« Последнее редактирование: 29 Ноября 2010, 18:59:42 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #7 : 29 Ноября 2010, 21:48:33 »
Не надо никаких Tcl! Вы же его для GUI предполагаете использовать?
Не совсем. То-есть и для гуя тоже, но во основном для системной логики и реакции на события, как то получение новых данных от датчиков.
Идея предпологалась такая - скрипт на текле ждёт событий (в основном получение данных от датчиков, драйвера которых сохраниют данные в файле), реагирует на них и если надо вызывает скрипты R и получив результаты принимает решения. Гуя там толком небудет - при нештатных ситуациях или по требованию человека показываются графики с помощью R или выгружаются отчёты в таблицах Calc (сами отчёты формируются макросами ООо вызываемыми из тикля.)
При этом есть ещё тиклевские скрипты которые переодически проверяют нормальность функционирования комплекса.

Пользователь решил продолжить мысль 29 Ноября 2010, 22:08:48:
Есть ещё нюанс - по тиклю больше русских док, а по R я их в таком количестве не нашёл. Буржуйские доки сильно утомляют.
Я например так и не понял, как же писать скрипты на R. Хотя почти полдня его мурыжил. В консоли? С ума можно сойти.

С операциями в R всё более-менее ясно. А после вашей второй ссылки, так вообще - доки - пушка.
А как там с циклами, условными переходами и прочей обвеской управления, я так и не понял.

Спасибо за ссылки.

Пользователь решил продолжить мысль 29 Ноября 2010, 23:07:43:
Кстати RGtk не подойдёт так это не будет работать в win, а вот r-cran-rcmdr Tcl/Tk'ашный. (Я сразу заподозрил что R и Tcl созданы друг для друга, хотя бы по обоюдно идиотскому синтаксису, такому прикольному...)
Кстати в комплекте с R идёт биндинг к Tcl 8.5, только как подключить R к тиклю я так и не вкурил.

Пока юзаю тиклевский math из tcllib, но он конечно послабже.
« Последнее редактирование: 29 Ноября 2010, 23:09:21 от dr.Faust »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #8 : 30 Ноября 2010, 11:58:44 »
Что касается русских док, то, кажется, да, только А.Б. Шипунов постался.
http://herba.msu.ru/shipunov/software/r/r-en.htm

Скрипты пишутся в любом текстовом редакторе, дальше либо в R выполняем source("путь к скрипту"), либо в командной строке пишем  R < script.R или R CMD BATCH [options] infile [outfile]
Есть еще littler.
Если под виндой, можно использовать RDCom.

Что касается циклов и управления, то в R очень развитый С-подобный объектно-ориентированный язык. Там тоже есть и if, и for, и while.

Биндинги к тиклю вызываются прямо из R, там есть GUI-шные функции, типа рисования окон, списков и менюшек.

help.search("tcl")покажет, что по этому поводу есть.
rcmdr (R Commander) на них написан.
Он, кстати, поможет быстрее побороть среду. :)
rkward - аналогичного свойства, но на QT.

RGTk2 будет работать под виндой. Сам ставил и пользовался rattle, который на нем написан.
Также можно пользоваться как помощником-надстройкой над командной строкой.
Другие GUI, в основном, для интерактивной работы: http://sciviews.org/_rgui/
Я, когда работал на R под виндой, остановился на Tinn-R. Это текстовый редактор, понимающий синтаксис R и позволяющий простым кликом мышкой отправлять команды в R прямо из редактора.

Биндинги из R к GTK или QT работают точно так же, как и для tcl, и любые другие. Функцией dyn.load в R подгружается динамическая библиотека, дальше можно вызывать ее функции. Либо функцией library в R загружается модуль, включающий в себя вызов dyn.load и определение R-функций для удобной обвязки функций из библиотеки.

В вложении - моя коллекция ссылок на материалы по R. От сердца, можно сказать, отрываю. :)

Да, а для системной логики и реакций на события я бы порекомендовал не TCL, а Python.
Есть вот такая штука: http://rpy.sourceforge.net/
Правда, я лично ни разу не пользовался.
« Последнее редактирование: 30 Ноября 2010, 12:29:11 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #9 : 30 Ноября 2010, 12:19:07 »
Ну спасибо!
Ну помог!
Кармы тут нет, а то б неделю плюсовал!

Пользователь решил продолжить мысль 30 Ноября 2010, 12:25:17:
Вот чем вам только Tcl не угодил?
Почему Python? Чем он лучше?
« Последнее редактирование: 30 Ноября 2010, 12:25:17 от dr.Faust »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #10 : 30 Ноября 2010, 12:32:29 »
А я питон лучше знаю. :)

По поводу циклов for в R.
Цикл типа
for(i in 1:10000){
fun(i)
}
лучше заменить функцией
sapply(1:10000,fun)быстрее будет выполняться.

Это, типа, feature. С ней за 10 лет так ничего и не сделали - не очень надо.

Погуглив немного на обеде по поводу "Python vs TCL" я укрепился в своем мнении.
Python, и никаких гвоздей!
Быстрее, синтаксис приятнее и понятнее, объекты - часть языка, а не одна из сторонних библиотек.
А если надо графический интерфейс, так по умолчанию тот же Tk.
Но это только мое мнение :)
А уж по питону сколько разнообразных док!

Пользователь решил продолжить мысль 30 Ноября 2010, 17:24:19:
Кстати, с использованием rpy не понадобится запускать отдельный процесс R, питон подгрузит нужные библиотеки и позволит получить результаты вычислений прямо внутрь интерпретатора.

Кроме того, есть модуль RHTML, а в питоне - уже готовый класс для www-сервера, прямо из коробки.
Это к вопросу про выгрузку таблиц :)
« Последнее редактирование: 30 Ноября 2010, 17:24:19 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #11 : 30 Ноября 2010, 20:36:18 »
Ну так как я низнаю ничего, мне что птон, что тикль - один чёрт.
Тикль мне понравился тем, что в нём ничего нет (как в анекдоте про британских учёных которые доказали, что ничего нет) - что данные, что команды, что имена переменных - всё один хрен - давно такого хотел :)

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #12 : 30 Ноября 2010, 21:56:24 »
корень писал все в техе и гнал в Р
(сам в этом я нулёвый)
Я конечно далек от мысли...(с)

Оффлайн dr.Faust

  • Автор темы
  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #13 : 30 Ноября 2010, 22:22:17 »
корень?

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: IDE для Tcl
« Ответ #14 : 02 Декабря 2010, 11:01:53 »
корень писал все в техе и гнал в Р
(сам в этом я нулёвый)
Это не о том.
Ваш "корень" оформлял какой-то текст и вставлял туда результаты рассчетов и графики, сделанные в R.
Такое тоже можно автоматизировать, ключевое слово sweave.
« Последнее редактирование: 02 Декабря 2010, 11:03:42 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

 

Страница сгенерирована за 0.033 секунд. Запросов: 25.