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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Nokia забила на Qt?  (Прочитано 25063 раз)
Denjs
Гость
« Ответ #30 : Январь 17, 2011, 18:08 »

А почему бы пайтону не заменить c++?
нет) не выйдет)
питон как бэ питон,... хорош, но не надо видеть к нем замену C++)
ну и знаете ...
"только отмороженный мог придумать описывать синтаксические конструкции невидимыми символами".
и весь язык после этого... слегка отмороженный, с некоторой извращенной логикой))) упрощать можно, но надо вовремя остановиться. черезмерное упрощение в сложных системах порождает не слишком нужную неоднозначность поведения.

и это не говоря про плюсы-минусы "динамической типизации" против "статической", по "скриптовую/интерпретирую суть питона" и т.п. и т.д. )
скриптам - скриптовое, компилируемым языкам - компилируемое). не надо смешивать)

« Последнее редактирование: Январь 17, 2011, 18:25 от Denjs » Записан
asvil
Гость
« Ответ #31 : Январь 17, 2011, 18:47 »

Эх, провоцируете Вы таким большим шрифтом. Менеджеры компании гугл, периодически использующие данный язык, вообще наверно с ума сошли.
Упрощение в сложных системах порождает неоднозначность поведения? Может вы что-то другое хотели сказать?
Я почему-то неустанно продолжаю верить, что критичный к скорости выполнения код в пайтоне пишется на си со статической типизацией и компиляцией. А еще можно использовать cython диалект пайтона со статической типизацией.
А еще в пайтоне можно переопределять методы классов не наследуя их. Это сокращает код и делает его более легким для понимания. Я раньше просто верил в: "Программы пишутся для людей".
Записан
Denjs
Гость
« Ответ #32 : Январь 17, 2011, 20:59 »

Упрощение в сложных системах порождает неоднозначность поведения? Может вы что-то другое хотели сказать?
думаю, именно это я и хотел сказать. хотя слово "неоднозначность поведения" наверное стоит заменить на "неоднозначность ожидаемого поведения"

И здесь есть 2 подсмысла Улыбающийся
1) Описать простым языком сложное, не погрешив против истины - невозможно.
2) простая вещь "понятна" многим, но часто это понимание "мнимое" - когда начинаешь выяснять что же именно каждый из "понимающих" понимает под тем что он "понимает" - выясняется что ожидания от этого - у всех разные.

Конечно, если ты знаешь весь язык и все его "сакральные знания" - то он тебе "понятен" и его поведение совпадает с те что ты ожижаешь. Но есть такая штука как "интуитивное понимание" что-ли... когда ты не знаешь что и как - а оно работает точно так как ты думал. А с питоном - совершенно иная история - т.е. ты вначале изучения инструкции ожидаешь от неё несколько иного поведения, чем оно тебе демонстрирует и этого не видно(!). Т.е. "язык не прощает незнания собственных спецификаций".  В Си ты сращу видишь, что инструкция "сакральная" - и ты начинаешь её понимать. А в питоне -  натыкаешься на то, что "тебе кажется" что инструкция понятна - но ведет она себя не совсем так, как ты от неё это ожидаешь. По крайней мере в начале)

Всякому инструменту - своё место. Имхо - место Питона (как однажды было сказано самими поклонниками) -  в замене Basic в учебном процессе.
И это действительно более приятный и мощный язык чем бейсик. Одно только то, что он ООП для учебного процесса очень важно.

Но замечу - историю с популяризацией Бейсика мы уже проходили. И толпы программ на "визуал-басике", и скриптование офисных программ, и даже АСП как оная реинкарнация.
Вы не находите параллелей с питоном? как его "суют куда ни попадя" - от настольных приложений до веба? жду аналогичного сценария развития событий. Где бейсик? вот там и питон будет. Он осядет в своих избранных нишах, предназначенных для простых, скриптовых языков.

Всякому инструменту - своё место. не надо натягивать инструменты на несвойственные им задачи и роли.
Не надо пытаться позиционировать питон как замену С++).  
Вот описывать бизнес логику на питоне в среде программы написанной на С++ - это дело. но никак не наоборот)))
(хотя и для этого по мне - так для скриптования С++ приложения лучше подходит ECMA262 (JavaScript/QtScript))
« Последнее редактирование: Январь 17, 2011, 21:21 от Denjs » Записан
asvil
Гость
« Ответ #33 : Январь 17, 2011, 22:32 »

Цитировать
Т.е. "язык не прощает незнания собственных спецификаций".
Ну что же... Для того чтобы знать два языка, надо знать два языка. И вы можете прекрасно прожить свою жизнь владея только русским. Он мощен и разнообразен.
Цитировать
...описывать бизнес логику на питоне...
Несомненно. Но ведь критические участки, допустим, декстоп-приложения это отрисовка большого количества данных. Обработку данных все чаще предоставляют sql серверам, причем на ада-подобных скриптовых языках. Это значит что в приложении остается отрисовка и логика взаимодействия с пользователем. Отрисовка на с/с++, и оставшееся на скриптовом языке. Причем не вижу особой разницы в чем храняться данные в QVariant или в PyObject. Единственное, что последний требует интерпретатора.
Теперь скажите как вы наследуете c++ классы в ecma262? А как вы там переопределяете операторы? А там у вас итераторы есть? А декораторы?
Простая вещь, если бы в какой-то момент духовному вдохновителю/менеджеру компании Qt не пришло в голову делать из Qt фреймворк для создания web броузера, я бы до сих пор наслаждался данным интрументом.
Записан
Denjs
Гость
« Ответ #34 : Январь 17, 2011, 22:40 »

Цитировать
Т.е. "язык не прощает незнания собственных спецификаций".
Ну что же... Для того чтобы знать два языка, надо знать два языка. И вы можете прекрасно прожить свою жизнь владея только русским. Он мощен и разнообразен.
Понимаете - я про то, что ежели я разбираюсь в приложении на QT - то даже если я не понимаю что тут написано - но я догадываюсь как оно работает - то мои догадки как правило сбываются. а вот с питоном такая штука не проходит... заявленная "простота" и "единственный самый простой вариант" - на самом деле вырождается не более чем в ещё одно частное видение ещё одного автора, в отношении того как это надо делать ...

Цитировать
<..>
а вот это уже касается вопросов вкуса и "один скриптовый язык против другого", и в эти споры я влазить не намерен)
но думаю что по мнению "каждому инструменту - своё место" - мы сошлись? ))) вот и ладненько)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #35 : Январь 17, 2011, 23:26 »

Ну что же... Для того чтобы знать два языка, надо знать два языка. И вы можете прекрасно прожить свою жизнь владея только русским. Он мощен и разнообразен.
То да, но
Цитировать
Кто не знает иностранного языка - не знает и своего родного

Понимаете - я про то, что ежели я разбираюсь в приложении на QT - то даже если я не понимаю что тут написано - но я догадываюсь как оно работает - то мои догадки как правило сбываются. а вот ..
Ой-ой, ну вот не надо льстить себе что, мол, "достигается (моим) пониманием", ну там "(моей) общей культурой" и все такое. Это та же самая "зубрежка" - просто Qt подала ее очень по-умному и (не без оснований) этим гордится. В 99% (если не больше) Assistant ясно и понятно отвечает на все вопросы - но все равно это остается "запоминанием" а не "работой мысли"  Улыбающийся И это "опасно чревато" (мое мнение)
Записан
Denjs
Гость
« Ответ #36 : Январь 18, 2011, 03:09 »

да прекратите вы про лесть. а? никакой лести, тем более самому себе.

Фразу "я догадываюсь как оно работает" - предлагаю понимать как "я могу угадать поведение неизвестной мне части системы, если знаю принципы по которым построена вся система..."

иначе говоря, я про "повторяемость" и аналогии внутри системы, соответствие своим-же ключевым принципам.


"зубрежка", о которой вы говорите -  отличается объемом.
вы ещё скажите что 1С в этом смысле ничем не отличается от Питона или Qt)

поясню:
1С - надо _весь_ _зубрить_. там практически нет единых на всю систему концепций - его нельзя понять, его можно только вызубрить (имхо). (хрестоматичный пример: задача скопировать объект. итог: в одном месте (таблица значений кажется) для копирования объекта мы берем метод источника и указываем на приемник, в другом (список значений) - мы берем метод приемника и указываем на источник) - и т.д. и т.п. на каждом шагу.)

с Питоном ситуация получше - есть области с едиными подходами и принципами, но пока вот (по прошествии пары месяцев знакомства) я не могу ещё "угадывать" поведение системы, без детального вчитывания в мануалы.
и это я считаю "нехорошимзнаком" - т.к. обычно я относительно легко осваиваюсь с новыми системами, особенно если в них есть "соблюдаемые концепции"... имхо - слишком многое в питоне "не так" )... по сравнению с другими системами,  ... в сравнении с объявляемыми принципами простоты и "логичности"... Соблюдения единых принципов и концепций я пока не шибко много видел, хотя местами вкусно...

а вот Qt - практически весь (имхо) построен исходя из сходных идей и подходов (вплоть до имен методов). и я не помню слишком много случаев когда поведение подсистем QT отличалось от того, что мною ожидалось на основании анализа поведения других подсистем и поверхностного чтения документации при необходимости (хотя да, это может и доки верно хорошие).


т.е. QT чем (для меня) привлекателен: есть несколько ключевых концепций, идей и подходов. И они повторяются в подавляющем числе случаев - т.е. это "достаточно стройная система", "логически понятная" - которую практически не надо зубрить - пойми несколько ключевых принципов и "дух системы" - и она "сама начнет разворачиваться" в соответствии со своими ключевыми концепциями ... как фрактал что-ли... объем зубрежа - минимален.

В питоне, повторюсь, я такого пока не сильно много увидел... увы... но местами этим пахнет)))) даже не смотря на сильно раздражающие "перлы" типа "вырезка подстроки начинается не с той позиции которую ты указал(как практически во всех языках) а с последующего..." (простите если ошибаюсь - укажите - я подыму код с примерами которые меня "раздражали"))) ...

а в 1С этой "стройностью" и "логичностью" даже не пахнет)

вот и все имхо)
« Последнее редактирование: Январь 18, 2011, 03:36 от Denjs » Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #37 : Январь 18, 2011, 10:07 »

>>Кстати анимации, state machines, и прочие json QML штуки они видимо отсюда стянули
там чистый "Цэ" без плюсов, так что врятли.

А  если почитать внимательней про cluttermm ?
Записан
asvil
Гость
« Ответ #38 : Январь 18, 2011, 11:24 »

Одна из ключевых идей Qt: добавление некоторой инстроспекции в с++. И это в свою очередь позволяет сигнал/слоты.
Все остальное это: удобная нотация и стройная иерархия/архитектура классов.
Количество разработчиков Qt в разы меньше и это позволяет сделать более совершенный код.
Но возможностей доступа к закрытым интерфейсам нет (не считая reinterpret_cast). Мне не нужно эта хваленое разделение труда между программистами через private секции. Я хочу иметь полный доступ ко внутренностям Qt без перекомпиляции.
« Последнее редактирование: Январь 18, 2011, 11:27 от Филоненко Михаил » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #39 : Январь 18, 2011, 12:36 »

Цитировать
Но возможностей доступа к закрытым интерфейсам нет (не считая reinterpret_cast). Мне не нужно эта хваленое разделение труда между программистами через private секции. Я хочу иметь полный доступ ко внутренностям Qt без перекомпиляции.

Ну, ИМХО, это палка с двумя концами:
- с одной стороны - да, это может помочь в решении некоторых проблем разработчика если он хочет расширить функционал Qt, используя её потроха ( в некоторых случаях без этого невозможно "красиво" реализовать ту или иную задумку)
- с другой стороны - для разработчика, который просто пользуется теми классами Qt (паблик) - это не нужно вообще.

Исходя из всего вышеперечисленного (всех постов), читая гугл и т.п., я тоже недоумеваю над приоритетами компании Nokia. Они добавляют всякие (иногда абсолютно ненужные) вещи/фичи/перделки, хотя в это же время имеется куча важных вещей которые они игнорируют.

Например, не совсем понимаю важность добавления классов типа QStateMachne (по крайней мере в таком его виде какой он есть в текущем виде).
Имхо, но довели бы они лучше до ума то что есть, теже сокеты, MVC, и т.п.

Это понятно, что QML и прочий гламур сейчас в моде, но всё-же ....   
Записан

ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #40 : Январь 18, 2011, 13:27 »

Ну хз, сейчас возможно буду писать десктопный (!) проектик, без QML и скриптов там не обойтись
Записан
Sahab
Гость
« Ответ #41 : Январь 18, 2011, 14:58 »

По поводу скриптов сомнений нет.
А вот по поводу QML думается мне все равно в плюсовый код "транслируется". Поэтому кажется мне, что без него обойтись можно.
Другой вопрос, что с QML это легче (возможно).

Не силен в QML - просто мысли в слух.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #42 : Январь 18, 2011, 16:29 »

Но возможностей доступа к закрытым интерфейсам нет (не считая reinterpret_cast). Мне не нужно эта хваленое разделение труда между программистами через private секции. Я хочу иметь полный доступ ко внутренностям Qt без перекомпиляции.

http://developer.qt.nokia.com/wiki/Dpointer


Цитировать
The Q_D and Q_Q macros are part of a design pattern called the d-pointer (also called the opaque pointer [en.wikipedia.org]) using which the implementation details of a library may be hidden from it’s users and changes to the implementation can be made to a library without breaking binary compatibility.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #43 : Январь 18, 2011, 22:29 »

>>А  если почитать внимательней про cluttermm ?
Я так же знаю и про GTKmm, и юля толку. труповое это всё. Да и идеи не в GTK рождаются. Они их пытаются только реализовать, также как и все другие.
Записан

Юра.
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #44 : Январь 19, 2011, 11:36 »

>>А  если почитать внимательней про cluttermm ?
Я так же знаю и про GTKmm, и юля толку. труповое это всё. Да и идеи не в GTK рождаются. Они их пытаются только реализовать, также как и все другие.

Ох до чего же я люблю категоричность на русских форумах...
А ну да, конечно...  Смеющийся
Qt лучшее... А их программисты самые лучшие и умные в мире...

На этих С++ биндингах писать не намного сложнее чем на Qt.
Свои Widgets тоже делаются намного проще чем в голом Си (gtk+), почти как в Qt.

И прежде чем про трупы говорить, почитайте про sigc++(gtkmm) и как она использовалась в Qt когда-то, и чего может каждая.
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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