Какой язык стоит использовать для разработки комплекса десктопных приложений? Т.е. Достаточно простая логика, БД, гуй. С++ по всей видимости не рулит, как и С, ибо сильно низкоуровневы. Qt приплетать тоже не охота. Что тогда? Ruby? Python? Или что-то ещё?
Какой тулкит будет оптимальным выбором для написания гуя. Важно лёгкость сопряжения с вышевыбранным языком.
Для данной задачи он вроде подходит, писать на нём мне нравится. Достаточно развит. Так почему нет? :)
Можно и не Ruby. Но насчет Tcl я не уверен, что он достаточно универсален для этого. Но я с ним знаком слабо. Если ошибаюсь - с удовольствием пересмотрю своё мнение :)
Спасибо за рекомендацию, не знал... Но бегло прочитав офф. сайт как-то не понял, чем он лучше того же Tk? Плюс смущает весьма заметный уклон в сторону Win.
Ну если будет какое нибудь узкое место, можно его без проблем переписать на C, c которым python прекрасно интегрируется.
> и в чем преимущество этой связки перед Ruby.
Перед раби не знаю в чем преимущество. Просто imo, пайтон быстрее развивается, обширней пользовательская база, синтаксис получше, ну и все что из этого вытекает.
ps Кстати, почему не lisp? Пример: sawfish. mb стоит на него обратить внимание, не делать велосипед, а попробовать реализовать нужную тебе функциональность на его базе?
> Ну если будет какое нибудь узкое место, можно его без проблем переписать на C, c которым python прекрасно интегрируется.
То есть я правильно понял? Всё на Pythonе, а если возникнут критические участки, то С. А если не возникнут, то везде Python?
> Просто imo, пайтон быстрее развивается, обширней пользовательская база
Тоже так кажется. Но:
> синтаксис получше
Это на любителя ;)
> Кстати, почему не lisp
Ммм... Если честно, с этим языком я практически не знаком. :( Оно конечно, хороший повод познакомиться, но, боюсь, тогда результат затянется на абсолютно неопределённый срок...
> не делать велосипед, а попробовать реализовать нужную тебе функциональность на его базе
Мысль, безусловно, здравая и велосипедов мы попытаемся всячески избегать :)
Это я о чем то задумался и о чем то другом подумал наверно не стоит принимать во внимание, учитывая то что ты собираешься не только wm писать, но еще и кучу приложений (как я понял).
> Мысль, безусловно, здравая и велосипедов мы попытаемся всячески избегать :)
С другой стороны, новая модель велика -- разве это плохо? :)
> Доводы в стиле "рулит/не рулит" в сочетаниии с, видимо, какими-то религиозными предпочтениями - опасное сочетание
Не совсем так. Просто я писал С++ и по-моему это не самое удачное решение для GUI-приложения с достаточно простой логикой. Qt здесь, конечно, сильно помогает, но имхо он хорош только в сочетании с тем же С++, т.е. выступает в роли костыля для него. По-моему это будет излишним нагромаждением.
>Кстати, какая IDE для Python предпочтительна и насколько плох в этом качестве KDevelop?
KDevelop IMHO недотягивает. Посмотри на vim/emacs + модули (если хочется свободного) или на ActiveState Komodo (http://www.activestate.com/Products/komodo_ide/) - если хочеться именно IDE (она платная, но можно взять Trial).
>Смущает только вялость в его развитии в сравнении с тем же Pythonом...
Ну вот недавно вышла первая бета нового интерпретатора. Много вкусеностей (кстати в т.ч. втянули Tile в Tk, так что внешним видом теперь всё в порядке). А так, в принципе в силу гомоиконности языка ("всё есть строка") любое расширение языка можно реализовать с помощью самого языка, что есть очень приятно. Ну а там где нужна скорость - есть расширения на C (или на чём угодно, главное чтобы C-ный интерфейс приделать).
Кстати здесь - http://wiki.tcl.tk/ - есть ОГРОМНОЕ количество интересной информации.
>...и относительно небольшая его распространённость.
Ну это спорный вопрос. То, что Tcl не очень распространён (хотя смотря в каких задачах!) говорит только о том, что он не очень распространён, а не о том, что язык плох=)... Да и он очень выразителен и не сложен для изучения (ну, это уже субъективно)...
> То, что Tcl не очень распространён (хотя смотря в каких задачах!) говорит только о том, что он не очень распространён, а не о том, что язык плох=)... Да и он очень выразителен и не сложен для изучения (ну, это уже субъективно)...
А я ниразу и не говорю, что он плох. Наоборот, язык очень понравился. Только вот, если там всё так хорошо, почему на нём не написана каждая вторая прога? Видимо есть что-то, что нивелирует его плюсы. Вот это и смущает.
> Кстати здесь - http://wiki.tcl.tk/ - есть ОГРОМНОЕ количество интересной информации.
Я вчера полночи про него гуглил, чего только не начитался :)
> Не хочу спорить, но имхо emacs в дефолтовом состоянии мало для чего пригоден...
очень большое заблуждение. он пригодин практически для всего. А уж если поставить несколько нужных мод... Раз уж поверх емакса можно сделать полноценныей DE:)
tcl+gnocl неплох. c+gtk вполне годится, несмотря на низкоуровневость. Построить гуй - задача слишком незамысловатая, чтобы это на что-то влияло. Всё собираюсь попробовать ecl+gtk, должно вроде хорошо получаться.
У нас коммерческий проект на C++ & Qt ( достаточно тонкий клиент ) + DB( MSSQL 2005 ). Связка работает очень даже хорошо и стабильно. Конечно в Qt достаточно много багов, но троли их достаточно быстро закрывают {отдельно спасибо tech support}. Еще в Qt слабенько ( надеюсь пока ) реализована работа с БД. Поэтому пришлось дописывать много чего самим включая mssql driver, т.к. sybase driver слабоват. Хочу посоветовать именно Qt & ( с++ || пайтон )