Podepnę się pod temat trochę bo ostatnio zastanawiałem się tak jakby wyglądała kolejność kroków do zrobienia jeśli chciałbym wyświetlać okno bez wykorzystywania gotowych bibliotek.
Mógłby ktoś mniej więcej napisać co trzeba zrobić lub z czego skorzystać? Platforma nie istotna - tak wiem inaczej bezie na linuxie inaczej na windzie, dla mnie nie ma znaczenia chcę się dowiedzieć jak to wygląda w teorii na byle jakiej platformie.
Jak wyżej, tu masz tutorial krok po kroku, dużo tego nie ma (puste okno stworzysz już gdzieś po przeczytaniu 5% z tego wpisu): https://wiki.qt.io/Qt_for_Beginners
A swoją drogą, teraz w wielu językach okienka, przyciski, gui wyklikowujesz, nawet gdy piszesz programy na androida, to wyklikowujesz GUI całe, buttony, checkboxy i inne rzeczy przeciągasz myszką i upuszczasz i ewentualnie w pliku xml dopisujesz linijkę jakąś lub poprawiasz rozmiary buttona, czy czcionki. W netbeans (java i np. programy na windows) też wyklikowujesz wygląd programu przeciągając i upuszczając różne komponenty. A w eclipse (i java) lub w android studio nawet do odtwarzania muzyki, dźwięków masz gotowe rzeczy jak media player i parę linijek krótkich piszesz i masz odtwarzanie dźwięków. Tak wiele rzeczy wygląda w obecnych czasach w wielu językach, bo nie ma sensu robić czegoś samemu, bo to tylko wygląd, sam wygląd programu nie sprawia, że program cokolwiek robi, jest bezwartościowy. Nawet tworzenie gier 3d w silnikach takich jak unity i innych ma gotowe rzeczy jak buttony, checkboxy, gotowe kształty, fizykę, kolizje i masę innych rzeczy, a stworzony w 3ds max lub blenderze model 3d przeciąga się i upuszcza w oknie programu i w sekundę mamy domek w grze, a parę sekund później mamy domek oświetlony gotowymi światłami, ściany mają kolizje, a tworzenie gry to głównie pisanie skryptów, jak dana rzecz ma się zachowywać, co robić gdy x warunek zostanie spełniony i takie tam. Szkoda czasu na robienie własnego silnika (szczególnie gdy jest się amatorem), lepiej używać gotowych silników, darmowych, bo licencje mają dość ciekawe nawet do zarabiania pewnych pieniędzy nie wydając ani grosza.
Swoją drogą masa programów korzysta z gotowych bibliotek i innych rzeczy jak np. BASS.dll (programy typu - odtwarzanie muzy, radio), czy ffmpeg (programy do konwertowania wideo).
RE UP: Masz rację, ale ktoś wpadł na coś takiego, jak generacje języków programowania. Długo trwał spór, co nazwać językami piątej generacji. Niektórzy sądzili, że RAD-y, to właśnie języki piątej generacji, co było nieprawidłowe, a inni, że języki typu prolog i podobne to języki piątej generacji.
A propos tych RADów, są fajne, czasami coś robiłem w eclipse, android studio i w radzie i szybciej, wygodniej mi się pisało programy w radzie, sporo komponentów skracających czas, znacznie fajniejszy edytor wg mnie, bo jeśli chodzi o same języki różne, to są podobne, choć w takim delphi operacje na stringach miały funkcje, które nie istniały w javie, a te istniejące były takie same pod inną nazwą lub różniące się minimalnie
Pisanie w czystym WinAPI nie ma żadnego sensu, jak nie masz ku temu poważnych powodów. To jest najniższe API Windowsa. Zresztą jest teraz tyle bibliotek z graficznym projektowaniem interfejsu, że jaki sens ma pisanie w czystym WinAPI? No chyba, że twój program wymaga jakiś skomplikowanych mechanizmów Windowsa, to wtedy chyba nie masz innego wyboru.
Vala jest podobno fajnym językiem - wzorowany na C# i Java, a znacznie szybszy(parokrotnie). Łatwo w nim się programuje w GTK+. C++ z Qt to też dobry wybór - Qt rozszerza nieco nawet jakby składnię C++.