🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310539

Re: Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych

#310539
From: Jacek Marcin Jaworski
Date: Sun, 21 Apr 2024 13:49
77 lines
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-mail
References: <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