Глупый вопрос. У меня проблема: надо написать платформенно-независимое приложение которое могло бы работать с винчестером и сетью (на уровне сокетов) и не знаю на каком языке писать. Tcl/Tk, Java, C (с wxWindows library). Подскажите pls. Естественно она должна иметь графический интерфейс и уметь работать с XML.
Пиши на Java одзнозначно! Единственное что придется вынести работу
с винчестером(интересно что бы это могло быть?) в native библиотеки...
про XML читай здесь http://java.sun.com/xml
2 anonymous (*) (2001-03-02 13:43:03.0)
Это должно быть клиентская программа по дистанционному обучению.
Ты сказал вынести в native библиотеки, но тогда теряется межплатформенная совместимость. Так? Или я чего не понимаю.
Думал писать на Tcl/Tk. Язык понравился. Средства построения интерфейса просто прелесть (Java далеко до этого, но это мое личное мнение). Но встретил одну неприятность. У меня в Линуксе Tcl/Tk не позволяет вводить текст в русской кодировке. Выводить может, а вводить не позволяет. Вот и ищу варианты.
Все алгоритмы проработаны и проверены осталось только за малым за клиентом.
Извини если я как то ущемил <b>межплатформенную совместимость</b> :))
но все таки непонятно что ты имеешь в виду под работой с винчестером?! Прямая запись в сектора чтоли? Но по моему клиентской проге по дистанционному обучению это просто не нужно...тем более в мультиплатформенном варианте :))
А что касается нормальной работы с файловой системой то в Java с этим все Ok (просто многие забывают что Java это не только апплеты :)
P.S По моему сугубо личному мнению прелесть Tcl/Tk совсем даже и не прелесть, а просто таки _ГАДОСТЬ_ сорри....
2 anonymous (*) (2001-03-02 14:38:53.0): здря ты так про Tcl/Tk... этот язык здОрово заточен под задачи, у которых на первом плане интерфейс с пользователем. а также есть многие элементы стандартной библиотеки C в своей реализации... как альтернативный вариант (2Korwin) мона попробовать связку C + Tcl/Tk (такое уже делалось - и классно работает)
2hoopoe - А как на самом деле обстоят дела с работой с русским языком? У меня ничего не получилось. Вернее на Виндах, Маке все Ок, а на Линуксе не пошло. Конечно, хотелось бы использовать Tcl/Tk. Т.к. под _мои_ задачи он подходит идеально.
2Korwin: только что попробовал - все ok... русские буквы вводятся... (во всяком случае "привет" написался). у меня Slackware 7.1 + WindowMaker 0.64.0 + kernel 2.4.2... русифицировал стандартно, как написано на http://www.linuxrsp.ru/docs/slackware7.html. вот... а приложение которое делаю - интерпретатор Си (с типа визуальной средой)
2Korwin:
В последних Tcl/Tk проблемы с многоязыковой поддержкой.
Например, мне не удалось подружить русский с немецким
Англ+local8bit -- без проблем, давайте мыло, пришлю примеры.
А, вообще, мой Вам совет: НЕ СВЯЗЫВАЙТЕСЬ с этой штукой!
Она, конечно, очень хорошо продумана/написана,
но каждые полгода выходят новые версии, не совместимые
с предыдущими.
Вот мой почтовый ящик: dederer-a@mail.ru
Извините, если не так объяснил. Проблема не в том, что русский не выводит, а в том что по русски в Tcl/Tk приложениях нельзя набирать.
У Tcl/Tk есть "компиляторы" которые делают приложение независимым от установленных/неустановленных библиотек. Именно использованием этих фич я и хотел избежать несовместимости с разными версиями.
Или это не получится?
2 последний анонимус - но ведь, кажется, для win32 QT платная, а речь идет о написании free программы. Так что QT скорее всего не подходит. Хотя это хорошо, что можно C программу сделать межплатформенную да еще и с графическим интерфейсом.
> Извините, если не так объяснил. Проблема не в том, что русский не
> выводит, а в том что по русски в Tcl/Tk приложениях нельзя набирать.
Тогда извините -- я не понял.
У меня проблем с вбиванием русского в wish не было после того,
как я сказал
catch { encoding system koi8-r }
а кроме wish я никогда ничем не пользовался. Насколько
я знаком с документацией, на уровне API все должно работать
аналогично (используются те же функции).
> У Tcl/Tk есть "компиляторы" которые
> делают приложение независимым от установленных/неустановленных
> библиотек. Именно использованием этих
> фич я и хотел избежать несовместимости с разными версиями.
> Или это не получится?
Это получится, если статически линковать. Но потеряется
переносимость. Если же Вы собираетесь добиваться переносимости
на уровне исходников, то проблемы с весиями останутся: компилятор-то
тоже к версии привязан...
К тому же -- не знаю, как сейчас, но в старых версиях статически
слинкованный код оказывался просто чудовищного размера -- куда там
Qt!
Больше программ на Java! Сожрем всю память! Усилим потребление KDE памяти и процессора! А то, гадость, маловато жрет, не по-нашему!
Зато будет КРУТО! и МОДНО!
>А про kernel, ты о JavaOS почитай.
Ну так я щас Lisp-машины вспомню. И Луговского позову вспоминать. :)
И где они теперь?
P.S. Небольшой оффтопик. У кого под Debian 2.2 нормально работает INN
со storage API? Вопросы есть.
Тому челу, что клиента мультиплатформенного пишет...
Давай, бери wxWindows и mingw32 gcc (native windows компилятор, не имеет posix библиотеки, но все вызовы нормальные, т.е. gcc как gcc).
С wxWindows и вполне приличная рисовалка интерфейсов есть.
Под юниксы лучше wxgtk - мотифовый IMHO весьма убог (Ну, там комбобоксы и прочие всем известные недостатки мотифа)
2Shadow. То что ты говоришь верно. Мне тоже очень понравилась эта библиотека (wxWindows). Спасибо всем.
Сейчас правда немного :-) навалилось работы, но как только расскидаю буду писать этого клиента. Решил делать два разных. Один на Tcl/Tk, а другой на C с либой wxWindows.
Если кому интересно результаты и прочее можете писать на емаил dederer-a@mail.ru
Ну а у кого есть какие нибудь сырцы с мультиплатформенным кодом на C с либой wxWindows, то буду очееееень признателен.
Всем спасибо, за помощь. Вы мне действительно помогли сделать выбор.
2omerm . Никогда с Питоном не сталкивался. И насколько он хорош для моих задачь.
1. Удобные средства построения интерфейса (в т.ч. и динамического из xml-файла).
2. Работа с сетью на уровне сокетов и FTP, HTTP.
3. Возможности мультиплатформенной разработки.
4. Размер компилированного кода.
2Korwin:
Python obladayet na redkost' priveredlivym sintaksisom,
(chto, po idee ego sodatelej privodit k bolee krepkomu kodu),
i razmer komiliruemogo koda na nem ogromen nepomerno.
S drugoj storony, u Pythona ogromnaya biblioteka i on perenosim.
Спасибо объективные рассуждения по теме. Возвращаясь к своим кроликам. Введу еще одно требование - быстрота работы. Вот теперь Jave делать нечего :-(
Значит С + wxWindows && Tcl/Tk 8.3
Интересно что получится из этого проекта. Это аспирантская работа на кандидата (если кому интересно).
С другой стороны Java все-же стандарт, а значит на него опираться было бы разумнее. Теже аплеты для лабораторных установок...
Вот что делает свобода выбора с человеком :-) Разрываешься.