Article View: pl.comp.lang.c
Article #310539Re: Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
From: Jacek Marcin Jaworski
Date: Sun, 21 Apr 2024 13:49
Date: Sun, 21 Apr 2024 13:49
77 lines
5653 bytes
5653 bytes
Uzasadnienie powstania błędnego Rap. Tot. pt. "12. Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych" Konstruktywna krytyka Herby: Herby mocno się zdenerwował na publikację mojego 12. Rap. Tot. z d. 2024-04-20, sob. i muszę przyznać że wykazał mi że bibl. Qt nie jest aż taka zła. Kluczowe w jego wypowiedzi okazało się wskazanie wyliczenia Qt::ConnectionType, które jest param. f. QObject::connect() o którym nie miałem pojęcia. To wyliczenie zawiera Qt::DirectConnection które w moim przypadku rozwiązuje problem opisywany w pow. rap. (konkretnie pozwala na wymuszenie synchronicznego wywołania slotu przez sygnał w momencie jego wywołania). I faktycznie teraz moja wtyczka libh++do-pary-z-c++.so działa prawidłowo. 14 lat bezowocnych poszukiwań Qt-way: Biorąc pod uwagę ten fuckup z publikacją tego 12. Rap. Tot. muszę się usprawiedliwić przed światem z czego wzięła się ta sytuacja. Powody moich zbyt niskich kompetencji w zakresie bibl nie wynikają z lenistwa tylko z okoliczności w jakich żyję: 1. Brak ks. na temat prof. programowania prog. opartych na wtyczkach, C++ i Qt; 2. Od 2011r. magazyn właściciela Qt pt. "Qt Quartelly" już się nie ukazuje; 3. Mimo, że pracowałem na pełen etat nad prog. opartymi na C++ i Qt, to w żadnej z 3 polskich firemek w których były one w użyciu nie mogłem się doprosić komercyjnej licencji. A wiem, że qt.io ma specjalną bazę wiedzy dla komercyjnych klientów (miałem nadzieję, że dzięki niej poznam Qt-way). To dlatego od 14 lat szarpię się z Qt i ciągle nie znam Qt-way. Jest tak mimo, że wg mnie zrobiłem wszystko co byłem w stanie by je poznać. Pozostające aktualne problemy z Qt: Mimo, że ogólnie 12. Rap. Tot. jest nietrafiony, to w proj. qt.io jest wiele problemów jakie w tym rap. sygnalizowałem: 1. Złośliwości takie jak zmuszanie do nużącego spr. błędów zwracanych przez wartość (brak użycia wyjątków); 2. Złośliwości takie jak łapanie lecących wyjątków w pętli zdarzeń (przez to nie można ich łapać w f. main()); 3. Złośliwości takie jak brak możliwości wywołania f. QApplication::exec() w f. innej niż main(); 4. Złośliwości takie jak celowo popsute kl. QMainWindow, QDocWidget, QMdiArea; 5. Złośliwości takie jak brak nowoczesnego ostylowania (plikami QSS) kontrolek bazujących na QWidget (przez co nie można łatwo ich użyć na ekranach dotykowych, a nawet na PC wyglądają one archaicznie i są niewygodne); 6. Złośliwości takie jak brak dostępu do klas QML z poziomu C++; 7. Złośliwości takie jak brak możliwości zerwania poł. z bazą danych SQL gdy wykonywane są długie zapytania SQL; 8. Złośliwości takie jak nazewnictwo odwrotne od działania takie jak w QSizePolicy; 9. Złośliwości takie jak Qt Creator, który nie przestrzega zasady zero-conf, który jest zakodowany całkowicie odwrotnie do zaleceń twórców sys. Unix p. Kena Thomson i Denisa Ritchi, które brzmi: "Pisz prog., które spełniają jedno zadanie i robią to dobrze. Pisz prog. umożliwiające wspólpracę. Pisz prog. do obsługi strumieni tekstowych, ponieważ one tworzą uniwersalny interfejs." (to cytat. z Linux Magazine PL nr z kwi. 2024, s. 67); 10. Złośliwości takie jak odp. na pyt. "Jak kodować wtyczki dla Qt Creator?" "Zobacz sobie w kodzie jakiejś gotowej wtyczki."; 11. Złośliwości takie jak częste zmiany API wtyczek w Qt Creator; 12. Złośliwości takie jak psucie prog. Qt Assistant który dawniej był zgodny z zasadą zero-conf, ale został popsuty i wymaga zbędnego klikania na starcie. Z Qt Assistant usunięto wygodne zakładki i popsuto go tak że nie wygodnie i nieintuicyjnie się go używa. Mi się wydaje, że te złośliwości i nienaprawiane problemy oraz wyraźna erozja dotychczasowych silnych p. bibl. Qt powoduje, że bardziej ma się ochotę do wyrażania krytyki niż do dalszego szukania rozwiązań w dokumentacji. Tak więc przepraszam za mój 12. Raport Totaliztyczny w którym postawiłem przesadną tezę, która wynikała z moich bezskutecznych poszukiwań Qt-way (badałem problem tworzenia komercyjnych prog. opartych o wtyczki). W tym raporcie opisałem prawdziwy problem, ale z powodu frustracji i braku materiałów edukacyjnych nie byłem w stanie sam go rozwiązać. Dziękuję też p. Herby za wyprowadzenie z błędu i naprowadzenie na właściwe rozwiązanie!
Technical Details
Message-ID:
<v035hh$9lm$1$Jaworski@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.37.30.115.71!not-for-mailReferences:
<v00jvv$ntr$2$Jaworski@news.chmurka.net> <v018ir$3rl7p$1@dont-email.me>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.37.30.115.71!not-for-mail From: Jacek Marcin Jaworski <jaworski1978@adres.pl> Newsgroups: pl.comp.lang.c Subject: Re: Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych Date: Sun, 21 Apr 2024 15:49:36 +0200 Organization: news.chmurka.net Message-ID: <v035hh$9lm$1$Jaworski@news.chmurka.net> References: <v00jvv$ntr$2$Jaworski@news.chmurka.net> <v018ir$3rl7p$1@dont-email.me> NNTP-Posting-Host: 37.30.115.71 MIME-Version: 1.0 Injection-Date: Sun, 21 Apr 2024 13:49:37 -0000 (UTC) Injection-Info: news.chmurka.net; posting-account="Jaworski"; posting-host="37.30.115.71"; logging-data="9910"; mail-complaints-to="abuse-news.(at).chmurka.net" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:CWNlK283+cHeafnvKCB34y3XpFo= sha256:Y6vYd76l06g6dlzvUkXWn1O6oVMOeM2PPSS5qHwwtkA= sha1:UMdEYxFk92eRej8MlqgUz52W/R4= sha256:EMdSm1GJIcS4LRa9Fwwe8xmjoS6I+RCeBaXaheqeOjg= In-Reply-To: <v018ir$3rl7p$1@dont-email.me> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit