Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Десктопный девелопмент под никсы


Автор: Любитель 8.2.2010, 00:01
Да-да, тема на 90% создана исключительно ради холивара, но мне действительно интересно мнение винградовцев.

Само собой мы хотим девелопить максимально быстро и в то же время ждём серьёзных возможностей от фреймворков/библиотек. На всякий случай - речь не идёт про системы 3D-моделирования или про написания компиляторов. Речь про "рядовые" дескотпные приложения. Под виндой очевидно лидирует .Net - тут не оч холиварно. А вот с линуксом и подобными - тут сложнее. Реально сейчас лидируют C++ + Qt, ну плюс немного гтк, но.. объективно гтк не тянет на достойный уровень.

Моё мнение недавно склонялось в сторону Python + Qt (PyQt/PySide). Но.. развитие того же QML (честно скажу - я сам не занимался, но на "почитать обзоры и пр." время выделяю), да и объективное превосходство сиплюсплюсных ИДЕ (да даже тот же Qt Creator) над питоновскими заставляет задуматься.

"Альтернативщики" типа явы или моно - тоже принимаются. Главное - побольше красивых аргументов.
Со своей стороны - обещаю активную защиту и наоборот всех сторон в той степени, насколько считаю это верным. Для поддержания беседы. Так как финального мнения у меня нету. Сейчас, по крайней мере.

Автор: nginx 8.2.2010, 00:06
нативная работа с Window X , без всяких Питон с Qt

Автор: Lazin 8.2.2010, 00:10
Цитата(nginx @  8.2.2010,  00:06 Найти цитируемый пост)
нативная работа с Window X , без всяких Питон с Qt

user posted image

Автор: nginx 8.2.2010, 00:12
Модератор: Сообщение скрыто.

Автор: Любитель 8.2.2010, 00:15
Цитата(nginx @  8.2.2010,  00:06 Найти цитируемый пост)
нативная работа с Window X , без всяких Питон с Qt 

Ээ.. ну я ж сказал "мы за быструю разработку", а не за приятные отношения с доками по XLib и "красивый" интерфейс.


 ! 
Любитель
А "плохие" картинки вообще нам не нужны тут!

Автор: nginx 8.2.2010, 00:19
Цитата(Любитель @  8.2.2010,  00:15 Найти цитируемый пост)
"мы за быструю разработку"

т.е. за "программирование мышкой", тогда Mono круче, удобно, быстро
особенно нравиться подход, как с WPF-приложения , связка ( XML ( в случае Моно Glade ) + ЯП )

Автор: Lazin 8.2.2010, 00:20
python + PyQt/PySide
или D + QtD smile 

Автор: nginx 8.2.2010, 00:21
Цитата(Любитель @  8.2.2010,  00:15 Найти цитируемый пост)
А "плохие" картинки вообще нам не нужны тут!

А почему его картинку не скрыл? я , например, обиделся на эту картинку

Автор: Lazin 8.2.2010, 00:22
Mono - тоже интересно выглядит, но что-то как-то сыкотно smile 

Автор: Любитель 8.2.2010, 00:22
Цитата(Lazin @  8.2.2010,  00:20 Найти цитируемый пост)
QtD 

Ох, даж такое есть... О, ужас smile 

Автор: Lazin 8.2.2010, 00:23
Цитата(nginx @  8.2.2010,  00:21 Найти цитируемый пост)
А почему его картинку не скрыл? я , например, обиделся на эту картинку
а я твоему посту три плюсика поставил, что-бы ты не расстраивался smile 

Автор: Tonpres 8.2.2010, 00:25
 smile  smile 

Автор: nginx 8.2.2010, 00:29
Цитата(Lazin @  8.2.2010,  00:23 Найти цитируемый пост)
а я твоему посту три плюсика поставил, что-бы ты не расстраивался  

ну , спасибо, назвал "троллем" , а теперь плюсы ставит, тоже что ли тебе поставлю 3-и плюса в последнем посте твоем

Цитата(Любитель @  8.2.2010,  00:15 Найти цитируемый пост)
А "плохие" картинки вообще нам не нужны тут!

оно и видно, что ты любитель динамично-типизированных ЯПов, и у тебя плохо со статично-типизированными  smile 
сказать почему?

Добавлено через 1 минуту и 43 секунды
Lazin, если такой Питон крутой , покажи мне blob на Питоне  smile 

Автор: Tonpres 8.2.2010, 00:34
Цитата(nginx @  8.2.2010,  00:29 Найти цитируемый пост)
Lazin, если такой Питон крутой , покажи мне blob на Питоне

а с каких это пор blob стал критерием крутизны? smile 

Автор: Lazin 8.2.2010, 00:34
Цитата(nginx @  8.2.2010,  00:06 Найти цитируемый пост)
нативная работа с Window X , без всяких Питон с Qt 

если ты хочешь написать свой GUI toolkit, то пожалуйста smile 

Автор: nginx 8.2.2010, 00:35
Цитата(Tonpres @  8.2.2010,  00:34 Найти цитируемый пост)
а с каких это пор blob стал критерием крутизны?

а с каких пор уже перестал быть?  smile

Добавлено через 29 секунд
Цитата(Lazin @  8.2.2010,  00:34 Найти цитируемый пост)
если ты хочешь написать свой GUI toolkit, то пожалуйста

 smile 

Автор: Lazin 8.2.2010, 00:37
Цитата(nginx @  8.2.2010,  00:29 Найти цитируемый пост)
покажи мне blob на Питоне

я не пишу под nix-ы, а тем более на питоне, а тем более GUI приложения smile 
а уж не D - и подавно smile 
а кстати, что такое blob? binary large object? если да, то какое это имеет отношение к пригодности того или иного яп к разработке десктопного софта?

Автор: Tonpres 8.2.2010, 00:39
Цитата(nginx @  8.2.2010,  00:35 Найти цитируемый пост)
а с каких пор уже перестал быть?

отвечать вопросом на вопрос, фи!

Автор: Lazin 8.2.2010, 00:41
что такое blob, я хочу знать!
мне завтра на работу, нужно выспаться, а я не могу, пока не узнаю что такое blob!!!!!

Автор: nginx 8.2.2010, 00:47
Lazin, если ты все знаешь зачем тогда спрашиваешь? ) Если ты под Винду разрабатывал приложения, уж наверное, должен знать геморой с работой с COM-компонентами, тем более, что это ой , как неудобно и грозит dll-адом ( особенно, когда крупный проект ).

Давай, вспомним, при общении с COM нужно обяз. выполнить подсчет ссылок, чтобы гарантировать, что компонент останется в памяти. При такой организации каждый раз, когда добавляется очередная ссылка на компонент, программа должна вызвать метод AddRef(), а при каждом удалении вызвать метод Release()  smile 

Геморно, не правда ли?

В С# - я от этого свободен, могу юзать интерфейс IComponent или же System.ComponentModel, посколько C# использует сборщик мусора, компонент остается в памяти до тех пор, пока сущесвует хоть 1 ссылка на него

В Питоне есть контейнеры, компоненты , узлы?

Цитата

если да, то какое это имеет отношение к пригодности того или иного яп к разработке десктопного софта?

Enterprise приложения, и не имеют отношения  smile 

Автор: JackYF 8.2.2010, 00:56
На самом деле рулит этот, как там его, эээ... Lazarus, во  smile

Добавлено через 3 минуты и 29 секунд
О, блин, я не в тему, теперь этот тред про блобы.

Автор: Tonpres 8.2.2010, 01:00
не-не-не, Whitespace.NET

Добавлено через 13 секунд
 smile 

Автор: Любитель 8.2.2010, 01:07
Брр.. Какое отношение понятие BLOB (которое у меня наводит мысль на базу сразу) имеет к GC?!

А вообще - неужели закончилось время Истинных Холиваров на винграде? Зафлеймили в конец smile 

Автор: nginx 8.2.2010, 01:09
Цитата(Любитель @  8.2.2010,  01:07 Найти цитируемый пост)
BLOB (которое у меня наводит мысль на базу сразу)

неправильный путь у мысли, туда не идет, гуглим

Цитата(Любитель @  8.2.2010,  01:07 Найти цитируемый пост)
А вообще - неужели закончилось время Истинных Холиваров на винграде? Зафлеймили в конец

так , ты поддержи, к примеру возможно ли при помощи Питона ручная работа с памятью или работа с уйстроствами? Что возможно в .NET

Автор: Tonpres 8.2.2010, 01:16
nginx, http://en.wikipedia.org/wiki/Binary_large_object
 smile 

Автор: nginx 8.2.2010, 01:17
Tonpres, нет, гуглим среди "анти-паттернов"

Автор: Tonpres 8.2.2010, 01:23
Цитата(nginx @  8.2.2010,  00:29 Найти цитируемый пост)
если такой Питон крутой , покажи мне blob на Питоне


Цитата(nginx @  8.2.2010,  01:17 Найти цитируемый пост)
нет, гуглим среди "анти-паттернов" 

 
т.е. в питоне такое даже не возможно  smile 

Автор: Lazin 8.2.2010, 01:27
Цитата(nginx @  8.2.2010,  00:47 Найти цитируемый пост)
Если ты под Винду разрабатывал приложения, уж наверное, должен знать геморой с работой с COM-компонентами, тем более, что это ой , как неудобно и грозит dll-адом ( особенно, когда крупный проект ).
конечно, это важно для разработки desctop приложений под *nix, как вы смеете сомневаться! smile 

Цитата(nginx @  8.2.2010,  00:47 Найти цитируемый пост)
Давай, вспомним, при общении с COM нужно обяз. выполнить подсчет ссылок, чтобы гарантировать, что компонент останется в памяти. При такой организации каждый раз, когда добавляется очередная ссылка на компонент, программа должна вызвать метод AddRef(), а при каждом удалении вызвать метод Release() 

после такого ужаса нужно провести в реабилитационном центре для программистов не меньше полугода!!! smile 

Цитата(nginx @  8.2.2010,  00:47 Найти цитируемый пост)
В С# - я от этого свободен, могу юзать интерфейс IComponent или же System.ComponentModel, посколько C# использует сборщик мусора, компонент остается в памяти до тех пор, пока сущесвует хоть 1 ссылка на него

Цитата(nginx @  8.2.2010,  00:47 Найти цитируемый пост)
В Питоне есть контейнеры, компоненты , узлы?

а прикинь, в пайтоне нет интерфейсов, вот ужас, как на нем писать то можно!!! smile 

Цитата(nginx @  8.2.2010,  00:47 Найти цитируемый пост)
Enterprise приложения, и не имеют отношения
смотря какие, если код интерпрайз приложения это один большой BLOB, то да, имеет! smile

Цитата(Любитель @  8.2.2010,  01:07 Найти цитируемый пост)
А вообще - неужели закончилось время Истинных Холиваров на винграде? Зафлеймили в конец

нет конечно, давайте напишем топологическую сортировку на разных языках, конечно это не имеет никакого отношения к сабжу, но зато весело!!!

Цитата(nginx @  8.2.2010,  01:09 Найти цитируемый пост)
так , ты поддержи, к примеру возможно ли при помощи Питона ручная работа с памятью или работа с уйстроствами? Что возможно в .NET

в пайтоне есть CorePy и можно писать расширения на винтажном Си! smile 
ээээ, в .NET есть нормальный ORM, уровня SQLAlchemy, или Django ORM?
я знаю, что они есть в принципе, но им еще пока далеко smile 

Автор: nginx 8.2.2010, 01:27
Tonpres, раз возможно показывай  smile 

Автор: Lazin 8.2.2010, 01:29
вялый у вас какой-то холивар, bb

Автор: nginx 8.2.2010, 01:29
Цитата(Lazin @  8.2.2010,  01:27 Найти цитируемый пост)
а прикинь, в пайтоне нет интерфейсов, вот ужас, как на нем писать то можно!!!  

и множественного наследования нет?  smile 

Автор: Tonpres 8.2.2010, 01:31
Цитата(nginx @  8.2.2010,  01:27 Найти цитируемый пост)
раз возможно показывай

пусть в этот раз питон проиграет

но ты мне открыл глаза, оказывается С#/.NET сплошной быдлокод,
ведь там можно написать blob

Автор: nginx 8.2.2010, 01:31
Цитата(Lazin @  8.2.2010,  01:27 Найти цитируемый пост)
в пайтоне есть CorePy и можно писать расширения на винтажном Си!

Это заслуга больше Си, чем Питона, а я про ЯП именно =) в C# можно, хоть и средставми InteropServices


Цитата(Lazin @  8.2.2010,  01:27 Найти цитируемый пост)
ээээ, в .NET есть нормальный ORM, уровня SQLAlchemy, или Django ORM?я знаю, что они есть в принципе, но им еще пока далеко  

дико ржу!

вы с такими заявами зайдите на asp.net я посмотрю, что с Вами сделают  smile 

Автор: Tonpres 8.2.2010, 01:33
Цитата(Lazin @  8.2.2010,  01:29 Найти цитируемый пост)
вялый у вас какой-то холивар

и не говори  smile 

Автор: Lazin 8.2.2010, 01:35
Цитата(nginx @  8.2.2010,  01:31 Найти цитируемый пост)
вы с такими заявами зайдите на asp.net я посмотрю, что с Вами сделают

мы здесь все такие из себя 8nix разработчики, зачем нам туда ходить, там мало того, что не *nix, так еще и не десктоп? smile 
Цитата(nginx @  8.2.2010,  01:31 Найти цитируемый пост)
дико ржу!

ага, не видел никогда и ржу smile
AFK

Автор: nerezus 8.2.2010, 01:40
Ну если для винды PyQt как один из 2 самых очевидных для меня вариантов(второй .NET WF), то для никсы и подавно его выберу.
Хех, пора учить верстальщика QSS.

Автор: Любитель 8.2.2010, 01:40
Цитата(Lazin @  8.2.2010,  01:27 Найти цитируемый пост)
ээээ, в .NET есть нормальный ORM, уровня SQLAlchemy, или Django ORM?

Ээ.. не имел дела с питоновскими орм-ами, но L2SQL и ADO .Net EF оч развиты и развиваются. Проблема в том, что .Net - это win only, если речь про мейнстрим. Моно слаб. При том, что он постоянно развивается - он слаб, как и по сравнению с "виндовым дотнетом", так и по сравнению с тем же Qt. При чём речь и про функционал, и про ИДЕ.

На С++ + Qt писать можно. По функционалу - неплохо, но куча "лишнего" кода напрягает. Писать меньше - привыкаешь. И "code less. create more" не возможен на С++ в силу "особенностей" языка.

Главные минусы питона с моей точки зрения (в контексте сабжа):
1. После "обэльгепеэливания" Qt лицензия PyQt стала.. как минимум какой-т неправильной. С другой стороны есть PySide - но реально с ним никто ещё не сталкивался, да и.. официального стейбл-статуса не имеет. Да это вопрос времени. Но.. ведь кто-то и сейчас приложения пишет smile 
2. Что мы имеем со стороны ИДЕ? Лучшими принято считать (сорри, если что пропустил - это моё мнение) Eric и Eclipse + PyDev. Если уж брать "совсем моё мнение" - то есть смысл смотреть только на второй. Но с тем же Qt интеграции нету (да, я совсем обнаглел и считаю, что писать код вручную - это хорошо, но для мейнстрима не годится, ибо медленно).
3. Одним словом - и со стороны библиотек, и со стороны ИДЕ всё выглядит недоделанным. Перспективным, но не production ready.
4. Ах да, ещё и неявное приведение "левых" типов в условиях...

Автор: nginx 8.2.2010, 01:44
Цитата(Lazin @  8.2.2010,  01:35 Найти цитируемый пост)
ага, не видел никогда и ржу AFK

нет, я видел и именно поэтому и ржу ) а вы видимо не видели, как офигенно ADO.NET работает в реляционных бд )
и вообще говорить про объектно-реляционный проектор, и пытаться наехать на МС и совать ***** в виде Django - уже себя вы не уважаете просто!

Автор: nerezus 8.2.2010, 01:47
Цитата

да, я совсем обнаглел и считаю, что писать код вручную - это хорошо, но для мейнстрима не годится, ибо медленно
 У меня при нажатии на ui открывается дизайнер ;)
Его и юзаю для PyQt.

Автор: Любитель 8.2.2010, 01:47
Цитата(nerezus @  8.2.2010,  01:40 Найти цитируемый пост)
Ну если для винды PyQt как один из 2 самых очевидных для меня вариантов(второй .NET WF), то для никсы и подавно его выберу.

В общем, я смотрю развитие Qt (QML и криэйтора) никого особо не вдохновило поверить в С++ smile

Автор: nerezus 8.2.2010, 01:49
Цитата

1. После "обэльгепеэливания" Qt лицензия PyQt стала.. как минимум какой-т неправильной.
 Для скриптового языка без статической линковки можно работать не  с PyQt, а с "любой библиотекой с интерфейсом в стиле PyQt".  И приложить бинарники сабжа со ссылкой на сырцы.

И, возможно, потомки удалят эту папку и положат туда PySide ))

Автор: Любитель 8.2.2010, 01:50
Цитата(nerezus @  8.2.2010,  01:47 Найти цитируемый пост)
 У меня при нажатии на ui открывается дизайнер ;)
Его и юзаю для PyQt. 

Ну эт-то понятно..
Только даже в текущем криэйторе лучше. Похоже на нормальные формошлёпки VS/Delphi.
Ну плюс мне оч интересно будущее QML...

Автор: nerezus 8.2.2010, 01:51
Цитата

я смотрю развитие Qt (QML и криэйтора) никого особо не вдохновило поверить в С++
 Если честно, юзаю дедовские методы времен pyqt3.

Добавлено через 21 секунду
Блин, на 1 сообщение отстаю )

Автор: Любитель 8.2.2010, 01:53
Цитата(nerezus @  8.2.2010,  01:49 Найти цитируемый пост)
И, возможно, потомки удалят эту папку и положат туда PySide )) 

Там как минимум импортируемый модуль отличается. Ну и в любом случае - кто мне запрещает pyc/pyo поставлять? И не надо говорить, что это не тру-вей. Если мне пофигу на исходники, то устроит любая лицензия (99%), лишь бы бесплатно.. Я понимаю, что говорить о closed source софте, в контексте сабжа не оч прилично, но.. всё-таки.

Хотя вопрос с переходом с PyQt на PySide я считаю временным. Как последний "остабилизруется" - я думаю PyQt забудут..

Добавлено через 21 секунду
Цитата(nerezus @  8.2.2010,  01:51 Найти цитируемый пост)
Блин, на 1 сообщение отстаю ) 

 smile 

Автор: nerezus 8.2.2010, 01:57
Цитата

Там как минимум импортируемый модуль отличается.
 В конфиг )
Или по списку пытаться )
Или хитрым алго )

Автор: nginx 8.2.2010, 02:01
Lazin, вот ты и попался smile 

Автор: Lazin 8.2.2010, 09:29
nginx, на чем?

Автор: MAKCim 8.2.2010, 09:41
если по-быстрому что-то наваять, то python
иначе С

Автор: nginx 8.2.2010, 11:11
Цитата(Lazin @  8.2.2010,  09:29 Найти цитируемый пост)
nginx, на чем?

на Ваше полном незнании, как у дотНЕТа обстоят дело с объектно-реляционный проектор, а про ADO.NET вы видимо только слышали саму аббревиатуру

Автор: Lazin 8.2.2010, 11:37
прежде чем делать такие громкие заявления, требуется объяснить, чем же плох джанговский ORM smile 

Автор: unicuum 8.2.2010, 11:43
 smile  smile 

Автор: nginx 8.2.2010, 11:52
Lazin, тебя в гугле забанили? куча тестов и сравнений есть, да и сам попробуй, не думаю, что у тебя возникнут проблемы с тестированием, в виду твоего хорошего опыта в программировании на C/C++

если хочешь можем потестить на пару на одном сервере ( моем ), Django ORM и ADO.NET EF ок? )

Автор: Lazin 8.2.2010, 12:26
Цитата(nginx @  8.2.2010,  11:52 Найти цитируемый пост)
тебя в гугле забанили?
вообще-то, джвнговский ORM не является альтернативой Entity Framework ни разу, как их можно сравнивать? smile 
во вторых, для тебя кроме производительности других критериев не существует? ну тормозной он немного, ну и что? Это что, единственный критерий сравнения? smile 
К тому-же, какое отношение к сабжу имеют EF, ASP .NET и тд? Мы ведь обсуждаем десктопный софт smile 

Автор: nginx 8.2.2010, 13:22
Цитата(Lazin @  8.2.2010,  12:26 Найти цитируемый пост)
К тому-же, какое отношение к сабжу имеют EF, ASP .NET и тд? Мы ведь обсуждаем десктопный софт 

а я ASP.NET и не обсуждал, просто ты не можешь приехать ко мне домой, чтобы тестнуть вместе технологии

будем юзать VDS сервер, зачем ASP.NET? кто сказал ASP.NET? скомпилим хотя бы консольное приложение и тестним работу ADO.NET ORM и вывод инфы из консоли на страницу

поставим Питон с Django и тестним

Автор: Lazin 8.2.2010, 13:32
что именно собираешься тестировать? что это докажет? smile
такие инструменты используются в первую очередь тогда, когда нужна скорость разработки, так давай ее и сравнивать, сколько нужно сделать телодвижений для того, что-бы сделать ту или иную вещь smile 

Автор: unicuum 8.2.2010, 13:53
Цитата(nginx @  8.2.2010,  13:22 Найти цитируемый пост)
просто ты не можешь приехать ко мне домой, чтобы тестнуть вместе технологии

Вот так вот Lazin, наконец то тебя слили в споре. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)