Russian Qt Forum
Ноябрь 23, 2024, 12:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 9 10 [11] 12 13   Вниз
  Печать  
Автор Тема: Почему вы выбрали Qt  (Прочитано 260991 раз)
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #150 : Сентябрь 17, 2014, 05:49 »

Это Шедевр!
Записан

navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #151 : Сентябрь 17, 2014, 19:14 »

По долгу службы вынужден писать на C#. Обплевался уже.

Пост, конечно, греет душу очень сильно )

Но я бы поспорил бы насчет C#. Как мне кажется, C# вполне себе годный язык и в современном виде он даже в чем-то превосходит плюсы (интроспекция, атрибуты, свойства, async/await, скорость компиляции). После года кодинга на C# у меня к нему претензий нет.

Но большие проблемы у микрософтовских поделок наблюдаются в другом. Это отсутствие кроссплатформенности по факту.
Постоянно порождаются новые фреймворки и тут-же хоронятся старые. Еще вчера трубили про silverlight, еще загуглить не успел что это такое, а сегодня он уже deprecated. То-же самое с XNA.
Иногда плодятся фреймворки вообще необосновано, достаточно вспомнить win phone 7, 8, win rt.. Фреймворки вроде бы об одном и том-же (metro-интерфейс), но не совместимы, причем разница часто заключается в немного других названиях методов. И вообще на XAML построены следующие гуёвые фреймворки - wpf, silverlight, win phone 7/8 xaml, winrt xaml, которые между собой слабо совместимые. Почему? Зачем их столько?

И вот поэтому использовать платформу майкрософт мучительно и хочется кого-нибудь убить. Поэтому Qt.

Очень бы хотелось услышать мнения джавистов по совместительству. Вброшу: портируя код с java на современный c# я остро ощущал убожество java. Ну хоть лямбды недавно запилили, не всё так плохо..
Записан

Гугль в помощь
Tarik
Гость
« Ответ #152 : Сентябрь 18, 2014, 11:32 »

Цитировать
интроспекция, атрибуты, свойства, async/await, скорость компиляции
Интроспекция сейчас есть во многих зыках, включая С++.
Польза от атрибутов и свойств не значительна. Мелкая плюшка.
async/await - эта технология тоже скоро будет в других языках, я не пробовал ее, но пишут, что популярная фича.
Скорость компиляции: действительно так, можно быстро скомпилировать медленную программу.  Веселый

Я не спорю, что C# - современный язык, годный язык, удобный язык. Но когда в итоге получаешь медленную программу, забываешь о всех удобствах, которые есть в этом языке. Это то же самое, что на удобном паркетнике ехать в лес. Сначала радуешься комфорту, но как застрянешь в первой луже, вся радость резко исчезает.

Но если в лес не надо, то С# вполне сгодится. С другой стороны все остальные средства тоже.  Веселый
Записан
vregess
Гость
« Ответ #153 : Сентябрь 19, 2014, 05:05 »

Интроспекция сейчас есть во многих зыках, включая С++.
Можешь привести примеры интроспекции в с++?
Записан
Tarik
Гость
« Ответ #154 : Сентябрь 19, 2014, 14:02 »

В С++ есть макрос REPEAT.
Также в Qt есть moc, который реализован на том же С++.
Записан
vregess
Гость
« Ответ #155 : Сентябрь 19, 2014, 16:44 »

Также в Qt есть moc, который реализован на том же С++.
Так moc поэтому и есть, потому что в с++ нет интроспекции, а он ее добавляет хоть какую-то.

Интроспекция сейчас есть во многих зыках, включая С++.
Наверное тут имелось ввиду, в мире с++ есть интроспекция, а не в самом языке.
Записан
Bepec
Гость
« Ответ #156 : Сентябрь 19, 2014, 16:52 »

В с++ есть интроспекция в виде static/dynamic_cast. Да, она слабая, но есть Улыбающийся
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #157 : Сентябрь 19, 2014, 18:48 »

Цитировать
интроспекция, атрибуты, свойства, async/await, скорость компиляции
Интроспекция сейчас есть во многих зыках, включая С++.
Польза от атрибутов и свойств не значительна. Мелкая плюшка.
Интроспекции в плюсах нет никакой практически, кроме dynamic_cast, typeid, sizeof.
По поводу атрибутов я бы не сказал, что это мелкая плюшка, совместно с интроспекцией очень рулит. На этом базируются практически все существующие ORM для C#. Можно же не просто какие-то там 3 с половиной стандартных атрибута, как в плюсах, цеплять к полям, а писать свои, да еще и с параметрами, а когда проходишь по методам класса их выцеплять. Такого даже в Qt нет.

Цитировать
async/await - эта технология тоже скоро будет в других языках, я не пробовал ее, но пишут, что популярная фича.
Убер-фича, количество асинхронного кода сокращает в разы. Хотя её можно реализовать на плюсах уже сегодня правда никто не берется сделать это до конца. Я вот эксперементировал с либой CppAwait (https://github.com/vmilea/CppAwait, https://github.com/navrocky/CppAwaitExperiments) выглядит многообещающе, но не хватает времени у меня разобраться досконально что там да как (

Цитата: Tarik
В С++ есть макрос REPEAT.
Это что за зверь?
Записан

Гугль в помощь
DroidMan
Гость
« Ответ #158 : Сентябрь 20, 2014, 07:51 »

Не было бы qml не выбрал бы Qt единственный толковый гуишный dsl.
В принципе я выбираю языки/платформы по надобности.
Занимаюсь геймдевом пилю свою ммо... клиент на Qt и сервер на java. На работе C#/Unity3d.

По поводу переносимости я переносил много игровой логики с java/groovy на qt и C#/Unity3d. Проблем никаких местами где-то гибче получалось... к примеру сигналы/слоты и делегаты упрощали java логику обсерверов, хотя у java есть свои продвинутые вещи типа AOP (внедрение сквозного функционала). Ну и groovy скрипты гибче того же js.

Жаль никто еще не додумался запилить продвинутый двиг на qt... всяко вышло бы круче кокосомармеладов а возможно и unity Подмигивающий

Записан
Tarik
Гость
« Ответ #159 : Сентябрь 22, 2014, 09:47 »

Цитировать
Это что за зверь?
Для кодогенерации можно использовать. Вот статейка на хабре: http://habrahabr.ru/post/126075/
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #160 : Сентябрь 22, 2014, 19:38 »

Цитировать
Это что за зверь?
Для кодогенерации можно использовать. Вот статейка на хабре: http://habrahabr.ru/post/126075/

И как это можно с толком использовать? Смысл иметь сорцы в текстовом виде? Чтобы потом написать свой парсер c++ и таким способом выудить названия методов? А как потом эти методы позвать?

Вопросов много в общем.
Записан

Гугль в помощь
Bepec
Гость
« Ответ #161 : Сентябрь 22, 2014, 21:29 »

Я так понимаю что да - мы получаем полное описание класса. выдернуть функции/методы/переменные - легче лёгкого.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #162 : Сентябрь 23, 2014, 09:24 »

Я так понимаю что да - мы получаем полное описание класса. выдернуть функции/методы/переменные - легче лёгкого.
А смысл? Как к ним обращаться, чтобы получить значение, исполнить?
Записан

Гугль в помощь
Bepec
Гость
« Ответ #163 : Сентябрь 23, 2014, 10:36 »

Интроспекция (программирование) — возможность доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде.
И никаких "выполнить, перевыполнить и прочее". Даёт полное описание класса.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #164 : Сентябрь 23, 2014, 13:10 »

Верес, методы же все равно можно выполнять.

Грубый аналог — вызов метода/считывание поля по указателю.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: 1 ... 9 10 [11] 12 13   Вверх
  Печать  
 
Перейти в:  


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