http://www.trolltech.com/Сообщение от pavlentus
В инете сравнений валом. Ес-но что откомпилированая C++ программа выполнится быстрее, чем байткод на виртуальной машине.Сообщение от pavlentus
|
http://www.trolltech.com/Сообщение от pavlentus
В инете сравнений валом. Ес-но что откомпилированая C++ программа выполнится быстрее, чем байткод на виртуальной машине.Сообщение от pavlentus
Qt - классный зверь, но оччень дорогой. Лицензия на разработчика все бабки стоит, даже одноплатформенная. Капиталисты, блин, с эмблемой серпа и молота. ;-)
Из приличных фришных мультиплатформенных гуев знаю только vxwindows (http://wxwidgets.org/), может переползу на нее когда-нибудь, если ничего лучшего не найду.
The future is already here - it is just unevenly distributed. (c) W. Gibson
Никто не запрещает пользоваться халявной версией. Правда при этом при продаже программы вы обязаны отдавать иходные коды. Так что если коммерческая программа - или отдавать коды, или (если так не хочется деньги платить) логику программы пишем в отдельной библиотеке без использования qt - исходники интерфейса на qt отдаем, исходники либы - нет.Сообщение от homo ludens
Вообще это тема для юристов, но насколько я понимаю нельзя распространять продукт под не-GPL лицензией, если часть продукта содержит GPL -софт. В GPL используется термин "work based on the Program". Иначе можно было бы написать GPL обертку вокруг любого open-source проекта и юзать ее коммерчески.
Наверное можно вывернутся, распространяя GPL и частную компоненты как два разных продукта, которые по одиночке не работают, но это не всегда вызывает понимание у клиентов. ;-)
The future is already here - it is just unevenly distributed. (c) W. Gibson
Кстати, о птичках, я бы с удовольствием прочел толковую статейкуСообщение от homo ludens
о GPL лицензиях, че как поставлять,
когда и что можно продавать и т.п.
Ссылкой никто не поделится?
http://www.linux.org.ru/books/GNU/licenses/gplrus.htm
Собственно, все остальное - толкования.![]()
The future is already here - it is just unevenly distributed. (c) W. Gibson
Круто: лицензент лицензента лицензирует лицензией.Сообщение от homo ludens
Так. пора открыть тему.
Расскажи еще что нибудь о QtСообщение от homo ludens
Может посоветуешь какую нибудь книженцию для беглого ознакомления ?
я когда разбирался с Qt взял C++ GUI Programming with Qt 3 (Jasmin Blanchette, Mark Summerfield). Читать можно.
Но это было для третьей версии, а сейчас уже Qt4.
Амазонцы рекомендуют C++ GUI Programming with Qt 4 тех же авторов.
Наверное кого-то заинтересует An Introduction to Design Patterns in C++ with Qt 4 (Alan Ezust, Paul Ezust).
И "звериная серия" от O'Relly Programming with Qt (2nd Edition) (Matthias Kalle Dalheimer).
На Qt пишут взрослые конторы (например Adobe, Skype, Боинг). Есть классы работы с сетью, БД и прочей требухой. Есть свой скрипт (QSA) за отдельные деньги.
Вообще я к GUI-библиотекам отношусь прохладно, но эта мне понравилась.
Недостатки - высокая цена для коммерческих приложений и кроссплатформенность только для Win/Linux/Mac. У того же wxWidgets спокойно покрываются и мобильники.
Что еще прикололо - это первый серьезный пакет разработки, использующий технологию метаобъектных компиляторов.
Для пользователя выглядит это так:
class xxx
{
public:
...
private:
...
public slots:
....
signals:
....
}
т.е. вместо создания ублюдочных макросов или других "простых прозрачных конструкций" просто модифицировали синтаксис языка в нужную сторону - очень удобная техника.
The future is already here - it is just unevenly distributed. (c) W. Gibson
А если сравнить языковые характеристики с языком D?Сообщение от homo ludens
То есть, это расширение стандарта С++ до нового диалекта.Сообщение от homo ludens
А компилер у них свой или это более массовый подход,
претендующий в будущем на новый стандарт?
Метаобъектный компилятор - это такая штука, которая позволяет самому писать расширения языка. Обычно этот зверек живет в Лисп-диалектах, но однажды один китаец сделал его под C++. Получилось не очень удобно, но прикольно, сам пару раз пользовался, хотя постоянно с ним работать тяжело.
Гугль на OpenC++ расскажет больше.
В Qt он называется moc, если я правильно помню.
The future is already here - it is just unevenly distributed. (c) W. Gibson
Под винду minigw32, под FreeBSD gcc. Все достаточно стандартно.Сообщение от lexar
Для тех кто не в курсе - интерфейс KDE полностью на qt основан.
Понятие "стандартно" зависит от уровня стандарта.Сообщение от maxx™
В 1998 году был ратифицирован международный стандарт языка Си++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году нынешняя версия этого стандарта — ISO/IEC 14882:2003.
Других пока не принимали.
С очень долго жил без стандарта по книжкам Кернигана и Ричи,
С++ по книжкам Страуструпа.
А по каким книжкам живет это расширение?
С жил и живет по стандартам C89 и C99, C++ сейчас часто встречается версии 98 г.Сообщение от lexar
Расширение синтаксиса сделанное с помощью метаобъектного компилятора - чисто пользовательское. Т.е. пользователь сам, с помощью библиотек пишет расширение синтаксиса. В результате получается выполняемый файл, который транслирует исходники с расширенным синтаксисом в обычные исходники на стандартном С++. Или сразу выполняемый файл (т.е. внутри этого экзешника просто вызывается стандартный компилятор).
В случае с Qt таким пользователем выступила Trolltech. Т.е. програмист юзающий Qt пользуется уже расширенным синтаксисом, который перегоняется в обычный с помощью утилиты moc . Сам программист в Qt расширять синтаксис не может.
Я не разбирался глубоко, какую технологию они используют, но кроме OpenC++ я метаобъектных компиляторов для С++ не встречал.
Тем не менее факт - в доках по Qt описываются ключевые слова signals и slots в таком виде, как я их привел.
PS
Последний Qt с которым имел дело - это 3-ка. Может там, что-то поменялось, но в обучалеках по прежнему инфа с расширенным синтаксисом.
Последний раз редактировалось homo ludens; 24.01.2007 в 21:55.
The future is already here - it is just unevenly distributed. (c) W. Gibson
я бы сказал из неприличныхСообщение от homo ludens
это не lgpl, так что фокусы с библиотеками не пройдут, только с отдельными процессамиСообщение от maxx™
и то, что авторы живут в собственном мире, лишенном stlСообщение от homo ludens
создали ублюдочный препроцессор, что еще хужеСообщение от homo ludens
tr1 можно считать, что принялиСообщение от lexar
Можно немного подробнее:Сообщение от pal
что новенького?
Социальные закладки