Co dalej po podstawie c++

Witam. Mam pewien dylemat. Otóż znam całą konsole w c++, biblioteki iostream i stdlib. Nie wiem co z WinApi. Chcę się udać do technikum informatycznego i od pewnego czasu dobrze zainteresowałem się programowaniem. Miałem wybór Java albo C++. Wybrałem ten drugi z racji na według mnie prostotę ( std::cout / system.out.println [nie znam javy] ). Myślałem nad winapi lecz wydaję mi się to troszkę nudne. Zaczynałem SDL’a i znów wybór stał się trudny. Proszę o podpowiedzi doświadczonych programistów czy wybrać coś prostszego jak Allegro czy ten WinApi. A może są jakieś biblioteki jeszcze do konsoli?

winapi już prawie nikt nie używa. Przynajmniej nie bezpośrednio. Może zamiast tego lepiej pomyśleć o bibliotece QT ?

Dzięki za odpowiedź. Googlowałem o QT i widzę, że jest to wszystko napisane “ogólnie”. Czy mógłbyś mi przybliżyć możliwości tej biblioteki ?

powiem wprost że nie piszę w QT, a w ogóle żadko zdarza mi się pisać w C++. Jednak wiem że QT daje duże możliwości (choć samo w sobie jest opasłe), jest nieźle napisane i jest przenośne (windows, linux, mac, android).

Jest multiplatformowa - działa na Windowsie, Linuksach, chyba nawet telefonach. Bardzo elastyczna (m.in. dzięki rozszerzeniu o QML), wydajna i responsywna. Na Qt opiera się całe KDE, najpotężniejsze obecnie linuksowe środowisko graficzne.

W przypadku Qt warto mieć też na uwadze, że cała biblioteka rozszerza niejako składnię C++ o kilka swoich wewnętrznych mechanizmów. W praktyce oznacza to mniej więcej tyle, że dużo rzeczy pisze się jeszcze prościej, ale dysponując czystymi źródłami z użyciem Qt i gołym kompilatorem C++ de facto nie ma szans na kompilację aplikacji. Qt dostarcza tak zwany przez nich Meta Object Compiler (MOC), który z “typowych” dla Qt źródeł generuje pośrednie pliki .cpp i .h, które to dopiero zostaną skompilowane.

 

Czemu o tym wspominam?

QT pozwala na tworzenie aplikacji konsolowych, jak i graficznych. Obecnie QT wprowadza bardzo nowoczesne programowanie poprzez oddzielenie logiki aplikacji od interfejsu, który jest tworzony w QML i JavaScript. Możesz jednak nie korzystać  z QML i tworzyć aplikacje po staremu.

 

A to między innymi dlatego, że Qt jest “językowo-agnostyczne”. Chociaż C++ jest najpopularniejszym spoiwem, dzięki takiej warstwie abstrakcji Qt bez problemów działa z kilkoma innymi językami (plus ma nieoficjalne wsparcie dla paru nieujętych w liście).

Tak, czytałem, że np: z bazami danych MySQL. Cieszy mnie fakt,  że jest multiplatformowy. Dla mnie ma znaczenie pisanie na Androida, dlatego też myślałem o javie. No ale to nie moja bajka. Sam czytając o QT zobaczyłem wielką różnicę między np: SDL’em. Tak więc dziękuje za odpowiedzi, zainteresowaliście mnie tematem i zacznę naukę w QT.

 

 

Znalazłem chyba jedyne na windowsa QT Creator. 

QT Creator jest chyba najlepszy, niezależnie od platformy (linux, windows). To o czym pisał Invader96 jest już w QT Creatorze. nic wiecej nie trzeba

Wiem jest problem z tymi narzędziami dlatego myślę nad ubuntu 14.04.2

Porównanie SDL i Qt, chociaż oczywiste, jest trochę nie na miejscu. Te dwa liby służą do zupełnie innych rzeczy. Co do wyboru IDE, to QtCreator jest tworem pochodzącym od ludzi współtworzących samą bibliotekę Qt, zatem siłą rzeczy najsprawniej się integruje z tym frameworkiem. Tak na prawde, czy to na windowsa czy na linuksa czy cokolwiek innego, gdzie Qt pozwala się skompilować, nie potrzebujesz QtCreatora, a qmake, czyli taki pośredni invoker wszelkich procesów jakie zachodzą pomiędzy twoim “qt-kodem” a kodem, który leci już do typowych kompilatorów C++.

 

Ale co do IDE, to owszem, na linuksy trochę bieda. QtCreator, KDevelop (raz miałem do czynienia) wydają się w porządku. Popularne jest jeszcze Eclipse CDT, ale w tym przypadku konieczne będzie poświęcenie pewnych zasobów czasowych na konfigurację środowiska. Imho QtCreator do takich typowo “userskich” projekcików powinien się nadać. Dla Windowsa, wiadomo, Visual Studio jest i ma się dobrze, chociaż w moim osobistym mniemaniu bez Resharpera czy tego pomidorowego plugina do C++ można sobie je wsadzić nie powiem gdzie (trochę na wyrost jest to zdanie, nie brać dosłownie).

Tylko dopiszę do wypowiedzi @invader92, że QT da się pisać również bezpośrednio pod VS i całkiem dobrze to działa