Qt/C++ vs Python/Django - porównanie w czym łatwiej i szybciej pisać aplikacje

0

Jak w tytule - czy ktoś z was programował lub programuje w python/django ?

Jak wygląda łatwość nauki i szybkość tworzenia aplikacji w django/python w stosunku do Qt/C++ ?

4

ale ty zdajesz sobie sprawę że chcesz porównania systemów które w całości się nie pokrywają?
Lepiej po prostu poucz się pythona to zobaczysz.

Technologię dobierasz do rozwiązania a nie wszystko jednym.

0

@revcorey:

ale ty zdajesz sobie sprawę że chcesz porównania systemów które w całości się nie pokrywają?

zdaję sobie sprawę ale różnica między jednym, a drugim jest taka, że w Qt piszę aplikacje "desktopowe", a w drugim aplikacje "przeglądarkowe" - z mojego punktu widzenia oba są programami, z tym, że różni je sposób uruchomienia oraz dostępność

Jeżeli chodzi o Qt, to z tego co mi wiadomo dysponuje czymś o nazwie webkit który robi port do aplikacji "przeglądarkowej" ?

mimo wszystko chciałbym wiedzieć w czym jest łatwiej i szybciej napisać aplikację

1

ojeny

że w Qt piszę aplikacje "desktopowe"
a co z automotiv które stoi na wbudowanych rozwiązaniach ARM opartych o linuksach na których działa aplikacja oparta o qt i qml? Albo qt for anrodid?

Co to jest aplikacja przeglądarkowa?

Jeżeli chodzi o Qt, to z tego co mi wiadomo dysponuje czymś o nazwie webkit który robi port do aplikacji "przeglądarkowej" ?

webkit to po prostu przeglądarka.

mimo wszystko chciałbym wiedzieć w czym jest łatwiej i szybciej napisać aplikację

Jaką aplikację? Na jaką platformę? itd Niestety masz spore dziury więc zacznij od dowiedzenia się co nie co o terminach:

  • Backend
  • Frontend
  • IPC
  • Rest Api
    Zapoznaj się z składnia pythona itd.

Musisz się skupić na jakiejś technologii i to tyle co można powiedzieć.

2

@zkubinski: w temacie: QT może być kompilowane emscirptenem do WebAssembly. Może też pracować jako backend.
Modzi: proszę o wyrozumiałość bo będzie offtop, ale tu z działu C++ tego usera już pamiętam ;)
@zkubinski: będę złym policjantem.
Weź Ty chłopie dowolny język, C (polecałbym), C++ (nie polecam ale już w nim zacząłeś więc może być), Python (również polecam), JS, Rust, Flutter, Go, bash, perl, tcl, D, lisp... cokolwiek! i naucz się w nim programować. Nie składnia+FW, tylko programować. Napalasz się na na "aplikacje" jak szczerbaty na suchary, a to nie o to chodzi. Nic złego grunt rozpoznawać, ale jak nie znasz podstawowych struktur danych (a robiąc Ci review widziałem, że nie znasz) to lepiej je poznaj tłukąc wprawki na CodeWars zamiast robić dookoła. Sorry, to jest proces, to trwa, można pewne rzeczy skracać (np. nie musisz super znać architektury procka), ale - tak metaforycznie - żeby jeździć w F1 musisz wiedzieć po co biegi zmieniać. A póki co jesteś na rowerku z bocznymi kółkami.
Pisz kod, wrzucaj pytania, proś o review - spoko. Ale Twoje pytanie o Django świadczy tu o tym, że albo nie szukałeś, albo bardzo mocno wszedł Ci Duning-Kruger.
EDIT:
tl;dr: weź cokolwiek. Wszystkiego i tak nie ogarniesz szybko. Ale naucz się mysleć, przypasowywać struktury/algorytmy (nawet proste) do problemów a nie rzucaj się na tworzenie dużych aplikacji nie mając podstaw.

0

@alagner:

Ale Twoje pytanie o Django świadczy tu o tym, że albo nie szukałeś,

o django szukałem i pythona zacząłem się uczyć - ale bliżej zapoznając się z tematem django i aby pisać jakiś interfejs do baz prawdopodobnie trzeba znać też html i css (chociaż nie wiem do czego) - dlatego chcę się rozeznać w czym łatwiej i szybciej napisać aplikację, bo w Qt idzie mi to ślamazarnie, mimo, że już coś wiem, a efekty są raczej mierne dlatego rozważam przejście na coś na czym będę widział efekty nauki i pracy.

albo bardzo mocno wszedł Ci Duning-Kruger.

nie wiem kto to... więc sory....

Napalasz się na na "aplikacje" jak szczerbaty na suchary, a to nie o to chodzi.

więc o co chodzi w programowaniu ? Wydawało mi się, że robiąc program to robię go dla klienta - w sensie, ktoś zamawia u mnie bazę, robię to i piszę do niej interfejs i tyle

ale jak nie znasz podstawowych struktur danych

Co do struktur danych, możesz bliżej wyjaśnić/rozpisać co masz na myśli, że nie znam ?

0

dlatego chcę się rozeznać w czym łatwiej i szybciej napisać aplikację,

nie ma czegoś takiego jak łatwiej. Po prostu niektóre rozwiązania lepiej się klepie w tym a inne w tym. Niektóre aplikacje wymagają paru różnych technologii. Zależy też jakie kto ma wymagania.

więc o co chodzi w programowaniu ? Wydawało mi się, że robiąc program to robię go dla klienta - w sensie, ktoś zamawia u mnie bazę, robię to i piszę do niej interfejs i tyle

No przecież to jak klient zapyta cię o aplikację X to myślisz jakich technologi użyć. Jak klient zażąda szybkiej aplikacji z minimalnym użyciem pamięci to raczej pójdzieszw coś w stylu C/C++ a jak ktoś będzie chciał wizualizację bazy danych z miejsca w sieci to coś typowo frontendowego.

0

@alagner:

https://pl.wikipedia.org/wiki/Efekt_Dunninga-Krugera (jedno n w nazwisku zjadłem, pardą)

mam pytanie - zauważyłem, że wrzucasz to każdemu - chociaż nie wiem po co - czyżbyś mi sugerował, że jestem do d*****py i mam odstawić programowanie i zająć się zbieraniem znaczków ?

zajrzyj do tematu(ów) o JSONie i zobacz jak przeszukujesz drzewo czy zerknij na Twoje pytania o kolejność zapisu

osobiście nie lubię gdy ktoś mi coś zarzuca i nie podaje konkretów i mam się domyślać o co chodzi ? Chciałbym abyś mi wyjaśnił:

  1. jak przeszukuję drzewo ?
  2. o co chodzi z kolejnością zapisu ?

bo nie rozumiem co masz na myśli i do czego zmierzasz

0

@alagner:

Nie wiem w ilu postach (i komu) jeszcze to pisałem, prowadzisz mi ewidencję?

nie prowadzę ale sporo razy rzuciło mi się w oczy

Poważniej natomiast:uważam, patrząc po Twoich pytaniach ogólnych jak i kodzie, że brakuje Ci podstaw (czego chyba nie chcesz przyjąć).

jeżeli na dzień dobry oczekujesz od kogoś kodu na wysokim poziomie, kto:

  1. nie pracuje jako programista,
  2. jest samoukiem

to sory ale źle trafiłeś z wrzutką wątpliwej jakości która pochodzi z wikipedii - poza tym tak szczerze powiedziawszy, GDYBYM BYŁ ZAWODOWYM, BIEGŁYM PROGRAMISTĄ to zadaj sobie pytanie - czy zajrzałbym na forum na którym ciągle wałkowane są podstawy ? (patrz ciągłe wrzutki zadań studenckich) - myślę, że dość jasno rozwiałem twoje wątpliwości odnośnie psychogłupiej wrzutki - podkreślę jeszcze, że psychologia nie jest ŻADNĄ dziedziną nauki, więc nie jest wyznacznikiem do jakiejkolwiek oceny

Nigdy nie przyznałem że jestem biegłym programistą i nigdy też nie powiedziałem, że znam wszystkie algorytmy i jestem w nich biegły - nie wiem gdzie to w moich postach wyczytałeś - ale w sumie to nie jest istotne - no chyba, że udzielisz mi tej ciekawej informacji

Jedynie mogę powiedzieć, że jestem dumny z tych programów, ponieważ doszedłem do nich sam i nikt mi palcem nie pokazywał co mam wpisać i gdzie mam wpisać - to wyłącznie moja zasługa i włożonego w to wysiłku i poświęconego czasu

A co do spraw technicznych, ad.1 odnieś się proszę tu: https://4programmers.net/Forum/C_i_C++/351775-qt_cwiczenai_z_klas_qjson?page=2 ad.2 poszukam potem i Ci podrzucę

Wszystkiego nie wiem i kod który wrzucam jest pisany na podstawie moich doświadczeń i tego co udało mi się zrozumieć, a samemu bez ciągłej styczności z kodem w pracy człowiek krąży po omacku

0

Jak wygląda łatwość nauki i szybkość tworzenia aplikacji w django/python w stosunku do Qt/C++ ?

Może napisz jaką aplikację chcesz napisać, to wtedy będzie można bardziej konkretnie napisać w jakich technologiach najlepiej to zrobić.

0

@_dominik:

Może napisz jaką aplikację chcesz napisać, to wtedy będzie można bardziej konkretnie napisać w jakich technologiach najlepiej to zrobić.

problem w tym, że chcę się przesiąść na inną technologię w która będzie adekwatna do włożonego wysiłku i poświęconego czasu i zobaczę efekty swojej pracy - poza tym patrzę też na trend, że coraz więcej aplikacji powstaje poprzez komunikację sieciową więc chyba to też jest drugi punkt który warto wziąć pod uwagę przy zmianie technologii

0

problem w tym, że chcę się przesiąść na inną technologię w która będzie adekwatna do włożonego wysiłku i poświęconego czasu i zobaczę efekty swojej pracy

Ok czyli chcesz wybrać nową technologię do nauki, a nie technologię pod prokjekt, dobrze rozumiem?

0

pod projekt też - bo chciałbym docelowo to robić. No chyba, że tak się nie da i doradzisz coś ze swojego doświadczenia 1. Do nauki, 2. Pod projekt

To wracamy do wcześniejszego pytania, co to za projekt?

0

GDYBYM BYŁ ZAWODOWYM, BIEGŁYM PROGRAMISTĄ to zadaj sobie pytanie - czy zajrzałbym na forum na którym ciągle wałkowane są podstawy ?

Nie wiem, jeśli spojrzysz na innych bywalców tematów, które produkujesz, to są osoby profesjonalnie zajmujące się programowaniem, na różnych etapach kariery. Tak po prawdzie to czasem zastanawiam się dlaczego się w ogóle tutaj udzielasz, bo w znakomitej większości rady, które otrzymujesz, są ignorowane.

PS: do odpowiedzi służą odpowiedzi, nie komentarze.

0

@kq:
nigdzie nie napisałem, że nie ma tu zawodowych programistów - natomiast to forum reprezentuje poziom podstawowy i @alagner zarzucał mi, że robię kiepski kod i podrzuca psychologiczne bzdety na mój temat, więc jakiej jakości kodu może się spodziewać po kimś kto nie jest zawodowcem ?

Tak po prawdzie to czasem zastanawiam się dlaczego się w ogóle tutaj udzielasz, bo w znakomitej większości rady, które otrzymujesz, są ignorowane.

nie sądzę bym ignorował

@alagner:

A co do struktur danych: zajrzyj do tematu(ów) o JSONie i zobacz jak przeszukujesz drzewo czy zerknij na Twoje pytania o kolejność zapisu.

co do drzewa, to masz na myśli ten schemat przeszukiwania ? Chodzi ci o to, że źle napisałem pętlę i przeszukuję drzewo JSON-a nie w tej kolejności ?

0

Napisałeś:

GDYBYM BYŁ ZAWODOWYM, BIEGŁYM PROGRAMISTĄ to zadaj sobie pytanie - czy zajrzałbym na forum na którym ciągle wałkowane są podstawy ?

Więc dostałeś odpowiedź, że zawodowi programiści w rzeczy samej zaglądają na takie fora.

Nie mam teraz czasu wygrzebywać starych postów, a wydaje mi się, że już taką listę zignorowanych rad przygotowywałem.

0

@kq:

a wydaje mi się, że już taką listę zignorowanych rad przygotowywałem.

załóżmy, że coś zignorowałem, ty zrobiłeś listę i do czego ci ta lista ma posłużyć ?

Więc dostałeś odpowiedź, że zawodowi programiści w rzeczy samej zaglądają na takie fora

tego nie neguję ale po co miałby tu zaglądać zawodowy programista, jeżeli tutaj są zadania dla studentów ? Czy nie lepiej zadać pytanie na Stack Overflow ?

0

Do niczego poza wykazaniem ci, że nie masz racji, dlatego nie mam zamiaru marnować na to ponownie czasu.

Co do SO - również o tym dyskutowaliśmy. Spróbuj zadać pytanie typu "Qt/C++ vs. Python/Diango", to zobaczysz jak ciepło cię tam przyjmą.

0

wiesz co ? Zadałem jedno pytanie odnośnie dwóch technologii i nie otrzymałem ŻADNEJ merytorycznej odpowiedzi, tylko staracie się wykazać, jak to źle programuję - ale nie o tym był wątek...

2
zkubinski napisał(a):

tego nie neguję ale po co miałby tu zaglądać zawodowy programista, jeżeli tutaj są zadania dla studentów ? Czy nie lepiej zadać pytanie na Stack Overflow ?

Proszę cię zadaj to pytanie na Stackoverflow i daj jeszcze linka do niego. Jeśli przetrwa ono dłużej niż 2 minuty to postawię ci skrzynkę piwa.

Na tym forum jest co najmniej 10 profesjonalistów (pewnie więcej), którzy pomagają z dobroci serca i z pasji do dziedziny.
Forum ma to do siebie w przeciwieństwie do SO, że ma wyższą tolerancję na proste i źle zadane pytania. Na SO źle zadane pytania są zawieszane szybko i bezwzględnie. Wrażenie że tam jest lepiej, wynika, z tego, że autor pytania nie ma możliwości narzekania na to, że został źle potraktowany.

0
zkubinski napisał(a):

wiesz co ? Zadałem jedno pytanie odnośnie dwóch technologii i nie otrzymałem ŻADNEJ merytorycznej odpowiedzi, tylko staracie się wykazać, jak to źle programuję - ale nie o tym był wątek...

A co z dosłownie pierwszą odpowiedzią? W jaki sposób była niemerytoryczna?

0

@kq:

A co z dosłownie pierwszą odpowiedzią? W jaki sposób była niemerytoryczna?

pierwsza nie była "niemerytoryczna" ale raczej niesatysfakcjonująca - bo jakie ma znaczenie, to, że porównuję dwie różne technologie ? Efekt końcowy jest ten sam czyli program - a to, że ktoś wybierze inną technologię do projektu to raczej kwestia indywidualna, pomijam to, że w niektórych technologiach jakieś rzeczy robi się łatwiej/trudniej ale bardziej wybór pada pod kątem finansowym czyli, żeby firma napisała i szybko zgarnęła kasę bo chyba o to w tym chodzi ?

3

Niestety, to jest standardowa dyskusja z tobą.

po co profesjonalny programista miał zaglądać na to, tfu, forum?

​​-

nieee, nie pisałem, że zawodowych programistów tu nie ma

​​-

nie ma żadnej merytorycznej odpowiedzi

​​-

a nie, jednak są

Per analogiam, pytasz o porównanie taczki do siatki brezentowej (nie ma znaczenia które jest tu które). Dostajesz odpowiedź, że takie porównanie nie ma sensu, i że jak chcesz nosić ciężkie rzeczy to tak czy inaczej potrzebujesz wyrobić sobie kondychę. Może to cię nie satysfakcjonuje, ale takie są fakty.

0

@kq:

ciśnie mi się na usta żeby zakończyć tą dyskusję bo nic nie wnosi, temat został rozmyty "ale" - mówisz, że jest różnica między jedną technologią, a drugą - ok, technicznie rzecz biorąc i wnikając niuanse danej technologii jest różnica ale z punktu widzenia efektu końcowego nie ma różnicy w jakiej formie dostarczono program

więc zadam jedno pytanie - jaka jest różnica między GOTOWYM programem napisanym w Qt/C++, a programem napisanym Django/Python ?

Pomijam formę "podania" w sensie, że jeden jest na desktopa, a drugi webowy - oba robią dokładnie to samo

2

@zkubinski: Nikt nie jest ekspertem we wszystkim. Decyzja na poziomie firmy o nowej aplikacji zapada na poziomie techniczno-menadżerskim. Czasami są to decyzje przemyślane a czasami nie. Dopiero potem zatrudnia się ludzi do tego(przynajmniej tak powinno się robić).
Do tego bierzesz qt do porównania z python nie zdradzając w ogóle co chcesz robić. Z resztą programista którego konikiem jest C++ powie ci raczej C++ a ten of pythona że raczej python. Nadal to nie zmienia faktu że trzeba sobie samemu dobrać narzędzie ale oczywiście można spytać ale o konkrety. Tyle że ty idziesz ścieżką najmniejszego oporu. Tzn. w necie masz opisy porównań c++ z python pewnie i z przykładami użycia. Ale zaczynasz temat z ominięciem tych że poradników. To tak chyba jak robiłeś temat o qt6 też nie sprawdziłeś co i jak.
Podałem ci wordpress, ale nie oczekuj że ktoś będzie za ciebie sprawdzał czy to spełnia twoje wymagania. Tego nie wiem.

Zgodzę się że na forach nie zawsze znajdzie się odpowiedzi lub są one pobieżne ale to raczej dotyczy cięższych tematów niż porównanie qt z python.

Moja rada, po prostu poczytaj. Tak to już jest w życiu inżyniera, otwiera się google czyta. Ma się wątpliwości to się pyta.

edit:

a drugą - ok, technicznie rzecz biorąc i wnikając niuanse danej technologii jest różnica ale z punktu widzenia efektu końcowego nie ma różnicy w jakiej formie dostarczono program

I tu sie mylisz jak ktoś ci napisze appke w czystym pythonie i będzie wolna? I ci pożre czas cpu w chmurze? To ważne chociaż appka działa jest problem ze względu na technologię, nie takie rzeczy już przepisywali. Ba jest różnica na poziomie ekosystemu czasami.

@zkubinski:

więc zadam jedno pytanie - jaka jest różnica między GOTOWYM programem napisanym w Qt/C++, a programem napisanym Django/Python ?

To że wymagają innej infrastruktury? Czyli potrzebne ci np. środowisko wykonawcze pythona? A to django/python to bardziej coś jak na serwer w sieci a nie appka na dekstop? W ogóle zapoznałeś się z tym czym jest django?

edit:
Moim zdaniemz resztą wyświetlenie zawartości bazy jest trywialne czy to w qt czy python. W qt są gotowe modele które łączysz z gui i kupa rzeczy załatwiona. W python to odczyt z bazy i po prostu pokazanie tego gdzieś, czymś.

4

Panie zkubiński, być może Panu klimat forum nie sprzyja, jednak będę podtrzymywać, że również w mojej opinii, wszystkie wypowiedzi w tym wątku (a szczególnie osobista rada @alagner ) były wartościowe i edukacyjne. Jeśli twoja duma nie pozwala ci tego przełknąć, to nikt inny poza tobą na tym nie straci. I tak, JSON to są podstawy podstaw.

1

punktu widzenia oba są programami

Z tego co znalazłem w wiki to Django to jakiś framework dla języka skryptowego wyświetlający CRUDa w przeglądarce.
Linux/Qt to natywne rozwiązanie dla systemów przemysłowych (windy, wyświetlania wskazań radarów na statkach) z imponującym wsparciem dla Embedded.

porównanie w czym łatwiej i szybciej pisać aplikacje

Język musisz dopasować do typu aplikacji. Np. aplikację adwokacką najlepiej się pisze w języku polskim - ale to nasza lokalna specyfika, w innych krajach jest inaczej.

0

@enedil:

Jeśli twoja duma nie pozwala ci tego przełknąć, to nikt inny poza tobą na tym nie straci.

to nie mój styl, nie jestem osobą która się obraża - raczej jestem głodny wiedzy, stąd dążenie do celu, zadawanie pytań - a że w świecie nie ma idealnych ludzi i każdy jest jaki jest, to nic na to nie poradzę

JSON to są podstawy podstaw.

rozumiem, że są pewne "podstawy" - są rzeczy które będą "podstawowymi" ale ja i pewnie wielu z was się nie zetknęło jeszcze z wieloma innymi które też można nazwać "podstawowymi" w sumie całą bibliotekę standardową można nazwać "podstawową" do tego dorzucę "boost" i niech pierwszy rzuci kamieniem, ten kto to wszystko zna - według mojego przypadku jednej z "podstaw" której brakuje jest obsługa JSON i pewnie znajdzie się wiele innych o których nie mam pojęcia, a zetknę się z tym w razie gdy będzie mi to potrzebne, bo na chwilę obecną nie wiem o istnieniu tegoż

0

@revcorey:

o że wymagają innej infrastruktury? Czyli potrzebne ci np. środowisko wykonawcze pythona? A to django/python to bardziej coś jak na serwer w sieci a nie appka na dekstop? W ogóle zapoznałeś się z tym czym jest django?

zapoznałem się z tym czym jest django i w skrócie można powiedzieć, że pracuje w sieci. Do "frontendu" dla baz danych można podejść na dwa sposoby

  1. Aplikacja desktopowa typu "exe"
  2. Aplikacja webowa otwierana przez przeglądarkę

jako, że w tej kwestii nie ma większego znaczenia czego użyję, bo oba rozwiązania komunikują się z bazą danych umieszczoną na serwerze.

To już ma znaczenie przy tworzeniu projektu w sensie "czas i koszt" - bo spójrzcie na to z mojej strony - włożyłem dużo wysiłku w naukę Qt - a efekty na chwilę obecną są raczej słabe i przez tyle czasu stoję w miejscu, bo nie napisałem w zasadzie nic ciekawego czym mógłbym się pochwalić, ponieważ większość czasu zajmuje mi zapoznawanie się z biblioteką i nauka jej obsługi.

Jedyne moje osiągnięcie, to takie, że napisałem jeden program który działa jak trzeba i jest w Qt, więc założenie tematu nie uważam za bezpodstawne i nadal nie wiem jak wygląda "czas i koszt" przy włożeniu wysiłku w naukę Django/Pythona.

Zakładając temat miałem na celu zbadanie jak to wygląda od "kuchni" zanim podejmę decyzję o przejściu na inną technologię.

0

Możesz iść na kompromis i pisać w PyQT(teraz PySide?). Albo QML, ponoć go stworzyli, żeby było łatwiej.

Django jest stosunkowo proste i ma sporo bajerów. Panel administracyjny do operacji na bazie danych jesteś w stanie zrobić w godzinę czy dwie, startując od zera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1