Czy WinApi i WinSock to dobry wybór na 2018 rok, czy lepiej Qt?

0

Mam dość duży zapał na WinApi i WinSock. Jednakże, czy to dobry wybór na 2018 rok? Czy ucząc się ich cały czas nie zmarnuje tylko czasu? Czy potem na rynku pracy, okaże się, że WinApi i WinSock niepotrzebne, a chcą kogoś kto zna Qt?

1

ale co ty właściwie chcesz robić? Jak jakaś sieć to czemu np. nie boost a koniecznie qt? Qt to cały framework, a boost też jest obszerny. Do zadania dobierasz narzędzie.

Czy potem na rynku pracy, okaże się, że WinApi i WinSock niepotrzebne, a chcą kogoś kto zna Qt?

to zobacz na oferty pracy, ale ogólnie wiedzy nigdy za wiele ale lepiej skup się na qt.

0

Ogólnie C++ to słaby język do nauki w 2018 wiec ten tego...

0
spartanPAGE napisał(a):

Ogólnie C++ to słaby język do nauki w 2018 wiec ten tego...

Dlaczego tak uważasz ?

0

Witam! Dziękuję bardzo za odpowiedź. Podstawy C++ już znam (obsługa plików normalnie jak i binarnie, wskaźniki, dziedziczenie o polimorfizm, zmienne [oczywście xD],...). Na moje szczęście wcześniej pisałem w javie, co bardzo ułatwiło mi naukę C++. Ogólnie to mam pomysł na projekt - lokalny komunikator P2P. Mam już koncepcję, zarys. Tylko teraz czas na wybór czegoś do obsługi sieci i do okienek. Raczej nie będę nic pisał pod Linuxa/MacOs, ponieważ nie znam ich API, struktury plików itd.

1

I tutaj właśnie jest fajny, dość niszowy oraz mocno niedoceniany projekt - Lazarus. O ile w Javie piszesz raz, ale uruchamiasz wszędzie, to w Lazarusie piszesz raz i kompilujesz na różne platformy. Teoretycznie, w oparciu o wiele wbudowanych w pakiet bibliotek, można pisać w oderwaniu od tego, na jakim systemie jest program odpalony. Oczywiście - pojawiają się pewne zgrzyty, ale teoretycznie możesz pisać pod Lin/Win totalnie nie wiedząc, jak wygląda ich API - wykorzystując wbudowane kontrolki, które chowają przed Tobą szczegóły implementacji i wyglądają dokładnie tak samo, niezależnie od systemu, na jakim są odpalone. Taki mały offtop, proszę nie krzyczeć ;)

0

Lazarus ma coś wspólnego z C++ ?

0

Lazarus ma coś wspólnego z C++ ?

Poza tym, że służą do tego samego, to zupełnie nic ;)
Dlatego prosiłem, żeby na mnie nie krzyczeć za offtopa. Tak mi się po prostu skojarzyło z tym, co PrezesiQ pisał - wspomniał, że nie rozważa pisania na inne platformy, bo nie zna tamtejszego API. No to delikatnie zasugerowałem, że jest jakieś rozwiązanie, którym można temat załatwić nawet bez większej znajomości innej platformy.

1

Zacznij od qt, łatwo idzie się go nauczyć, łatwo skompilować kod pod różne platformy, wystarczy jakiś wstępny tutorial potem przejrzeć przykłady z qt creatora i dokumentację (mimo że korzysta z C++ który powinien paść dawno temu ale jakimś dziwnym trafem jeszcze nie padł, najwyraźniej mimo skomplikowania jakieś zalety ma i do czegoś się nadaje xD a jak nie to jest wersja na pythona).

Jeśli koniecznie będziesz potrzebował winapi to ucz się winapi tyle że stworzysz kod tylko pod jeden system, w dodatku jest zawiłe zwłaszcza przez te funkcje zwrotne.

A jeśli będziesz się musiał uczyć c++ od początku... to masz pecha :P

0

Jak masz aplikacje w QT możesz w miare łatwo skompilowac pod inne systemy np. Linux :)

0

wiele różnych bibliotek realizujących często to samo. Dlaczego?niektóre daję lepsze interfejsy, są po prostu zoptymalizowane lepiej(pod konkretne zadanie). Wydaje mi się że nigdy chyba nie widziałeś dużego projektu. Powiem ci że w dużych projektach potrafią się np. pojawić problemy z wydajnością std::string. Myślisz że się pisze proste aplikacji z gridem jak to ująłeś? Chłopie widziałem dojechane wielordzeniowe ARM, mips, x86.

Oczywiście - należy dobrać narzędzia do projektu, masz rację. Zresztą to dotyczy każdej innej branży - nikt nie kupuje TIR'a, żeby przewieźć szafkę ze sklepu, do tego nada się większe kombi albo mały busik, którego zresztą można pożyczyć. Ale wcale nie oznacza to, że TIR albo kombi są niedobre - po prostu mają inne przeznaczenia. I pamiętaj, że nie wszyscy tak, jak Ty robią "duże projektów" oraz mają do czynienia z "dojechanymi wielordzeniowymi ARM, mips" - jest wielu drobnych "dziobaków", którzy tworzą aplikacje na zlecenie, czasami w pojedynkę albo w małych zespołach. W takich przypadkach jednym z ważniejszych czynników jest czas oraz wygoda realizacji zadania. I jak ktoś ma tracić ileś dni na walkę z interface, który można mieć w oparciu o grida zrobionego w kilkanaście minut... to nie ma sensu.

Powtarzam - nie twierdzę, żę C++ jest niefajne, bo byłoby to głoszenie herezji. Ten język jest odpowiednikiem angielskiego w naszym obecnym życiu - jego znajomość jest czymś bardzo ważnym. Ale np. znajomy ma firmę, która prowadzi większość operacji z Bałkanami, dlatego do pracy szuka ludzi ze znajomością języka Chorwackiego. I co - jemu też zaczniesz mówić, że robi bez sensu, powinien szukać kogoś z angielskim? Bo to język międzynarodowy, większość piosenek i filmów jest w tym języku?

Problemem jest to, że piszesz z perspektywy wielkiego centrum handlowego. A tutaj - na forum - większość to są mali sklepikarze. No bo nie oszukujmy się - raczej nie ma wśród nas (albo stanowią jakiś tyci ułamek) developerów z Oracle, Gogole, Facebooka czy Microsoftu. Większość to albo - jak wspomniałem - drobni klepacze kodu, studenci albo pasjonaci. I z perspektywy takiego użytkownika lekki (totalnie nieodczuwalny w przypadku "zwykłych" aplikacji) spadek wydajności oraz mniejsza dostępność bibliotek jest niewielkim kosztem, za który zyskuje się wygodę i cenny czas, potrzebny do wykonywania zleceń / prowadzenia życia osobistego.

0

st wielu drobnych "dziobaków", którzy tworzą aplikacje na zlecenie, czasami w pojedynkę albo w małych zespołach

To wybierają jave,python, c# itd. Coś co jest znane i ma olbrzymią bazę przykładów, bibliotek itd. ? To chyba dosyć jasne że jak chcesz coś opchnąć klientowi to raczej wybierzesz coś dobrze znanego i co ma bazę a nie parę kontrolek i już chyc.

I jak ktoś ma tracić ileś dni na walkę z interface, który można mieć w oparciu o grida zrobionego w kilkanaście minut... to nie ma sensu.

Ale o czym ty mówisz? Jakie masz problemy z gui w c++? Z czym ty chcesz walczyć?

Ten język jest odpowiednikiem angielskiego w naszym obecnym życiu - jego znajomość jest czymś bardzo ważnym. Ale np. znajomy ma firmę, która prowadzi większość operacji z Bałkanami, dlatego do pracy szuka ludzi ze znajomością języka Chorwackiego. I co - jemu też zaczniesz mówić, że robi bez sensu, powinien szukać kogoś z angielskim? Bo to język międzynarodowy, większość piosenek i filmów jest w tym języku?

Ale co ta analogia ma do języków programowania? Co ona mówi o c++? nic bo nie ma sensu. Narzędzie się dobiera do projektu. Tylko że za lazarusem przemawia w zasadzie nic.

Problemem jest to, że piszesz z perspektywy wielkiego centrum handlowego. A tutaj - na forum - większość to są mali sklepikarze. No bo nie oszukujmy się - raczej nie ma wśród nas (albo stanowią jakiś tyci ułamek) developerów z Oracle, Gogole, Facebooka czy Microsoftu. Większość to albo - jak wspomniałem - drobni klepacze kodu, studenci albo pasjonaci. I z perspektywy takiego użytkownika lekki (totalnie nieodczuwalny w przypadku "zwykłych" aplikacji) spadek wydajności oraz mniejsza dostępność bibliotek jest niewielkim kosztem, za który zyskuje się wygodę i cenny czas, potrzebny do wykonywania zleceń / prowadzenia życia osobistego.

Co? Spora część ludzi tu to studenci, newabie itd. Ludzie którzy chcą wejść w programowanie czyli python, c++ itd. I szukają dobrych narzędzi i to tyle. Lazarus tym nie jest zwyczajnie a twoje argumenty nie mają jakiegoś większego sensu. Reszta to po prostu programiści w firmach a nie jacyś sklepikarze.
Zastanów się: nad tym jaki język ma więcej przykładów, bibliotek i ludzi którzy pomogą na forum c++ czy lazarus?

0

MI nie chodzi o dogadanie a o twarde dowody. Po prostu jak udowodnisz że lazarus jest platformą dojrzałą z narzędziami, bibliotekami, wsparciem itd. to ci przyznam rację, na razie jakieś wyimaginowane powody masz i powołujesz się na sklepikarzy czy kogo tam jeszcze. Nie ma to wartości merytorycznej. Do tego namawianie kogoś kto nie za bardzo wie jak wygląda rynek na lazarusa to złe życzenia dla niego

Ok.. to jest mój ostatni post w tym temacie:

  1. Niczego nie mam zamiaru udowadniać. W mojej ocenie Lazarus zupełnie nadaje się do tworzenia w pełni funkcjonalnych aplikacji. Prawdopodobnie wynika to z tego, że - w odróżnieniu od Ciebie - jestem małym, skromnym, ubogim i ogólnie beznadziejnym klepaczem kodu, który w życiu nie miał do czynienia z wielkimi i skomplikowanymi projektami. W każdym razie - nie spotkałem się dotychczas z tematem, którego by mi się nie udało ogarnąć w oparciu o Lazarusa. Jeśli sprawi Ci to przyjemność, to mogę Ci przyznać, że jest to totalnie niedojrzałe, nieprofesjonalne i amatorskie narzędzie - ale dla mnie wystarczające :D

  2. Przejrzyj od początku to, co pisałem - nigdzie nie namawiałem nikogo do porzucenia C na rzecz Lazarusa. Po prostu - gdy pojawił się wpis w stylu "nie piszę na inne platformy bo nie znam ich API" to jako ciekawostkę podałem, że takie coś jak Lazarus istnieje. Ale nic poza tym. Nawet, jeśli Ty uważasz, że on się nie nadaje (ja mam inne zdanie) to chyba najlepiej byłoby, jakby każdy zainteresowany sam to sobie sprawdził i ocenił. A zamiast tego naskakujesz na mnie i atakujesz za wskazanie jakiejś innej opcji...

  3. Może i programistą jesteś wyjątkowo uzdolnionym - w takim razie szczerze gratuluję. Ale w innych dziedzinach życia widzę, że masz kłopoty z przyswajaniem przekazywanych treści. Odnośnie fragmentu "powołujesz się na sklepikarzy czy kogo tam jeszcze" - proponuję odświeżyć sobie (albo być może poznać) pojęcie "metafora" - https://pl.wikipedia.org/wiki/Metafora . Jeśli nie zrozumiałeś o co mi chodziło gdy wspomniałem o sklepikarzach i wielkim centrum handlowym, to naprawdę nic nie poradzę, a jedynie potwierdza to moją wcześniejszą opinię, że się nie dogadamy ;)

Aaa.... jeszcze tylko dodam, że skoro nie kojarzysz, co to takiego przenośnia, to być może nie znasz też takich pojęć jak sarkazm czy ironia. Dlatego są duże szanse, że możesz niewłaściwie zrozumieć pkt. 1 powyżej. Ale na to też raczej nic nie poradzę.

0

A czy do Swift i Rust jest jakaś biblioteka Qt, aby móc pisać w nich okienkowe programy?

0

To jest zajebisty wybór, jeśli interesujesz się historią to masz dwie pieczenie na jednym ogniu.

Nic to się nie różni od nowszych technologii.
Tyle że jest trochę trudniejsze.
Bo nowsze technologie są ładnie opakowane w obiekty i tylko je wykorzystujesz.

A najlepiej popełnij samobójstwo nic i tak nie ma znaczenia to są tylko procenty.

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