W jakim jezyku sie rozwijac?

0

Witam. Piszę ten temat bo chciałbym otrzymać radę co robić dalej. Programować zacząłem 4 lata temu w takim mało znanym, prostym, języku podobnym do C - PAWN. Oprócz tego spędziłem trochę czasu w WEBie - czyli html, css, js, jQuery, ajax, php, mysql.
Chciałbym pobawić się w tworzenie gier, ale może na początek niech to będą aplikacje desktopowe. Poznałem C++ na jakimś tam poziomie (w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem, ale i tak poziom klasy niski więc co to za problem mieć 6 na koniec) a teraz wziąłem się za WinAPI. Tylko że strasznie mi się to WinAPI nie podoba, odciąga mnie od niego, nie chce mi się go uczyć. Chcąc stworzyć kilka przycisków, ustawić tło, czcionkę, wielkość czcionki to trzeba się tyle namęczyć, po drodze wyskakują problemy z pobraniem wartości kontrolki. Bo pobranie tekstu nie jest tak proste jak pobranie inta, floata, boola..
Czego się uczyć by pisać aplikacje desktopowe a potem gry? Z tego co wiem to C# jest do aplikacji pod windowsa, wygodnie się tworzy wszystko bo jest to nowoczesna obiektówka, nie? No jeszcze w javie można by pisać.

1

w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem

Nie, muszę cię rozczarować, nawet siódemka z informatyki na koniec nie świadczy, że znasz C++. Takie stwierdzenie pokazuje natomiast ile ci jeszcze brakuje. C++ to bardzo trudny język.

Jeżeli faktycznie chcesz zakręcić się w gamedevie to ciągnij dalej to C++. Nie musisz używać przy tym nieobiektowego Windows API, przy dalszej nauce C++ możesz użyć inny toolkit, np. Qt.
Jednocześnie rozwijaj się w innych dziedzinach, bo prawdę mówiąc, typowy gamedev to dość specyficzna działka i rządzi się ona trochę innymi prawami. Jest masa innych technologii, która używana jest przy tworzeniu gier: Java, Objective C, języki skryptowe typu Lua, C# jest popularny do tworzenia narzędzi, i tak dalej i tak dalej.

0
Rev napisał(a):

w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem

Nie, muszę cię rozczarować, nawet siódemka z informatyki na koniec nie świadczy, że znasz C++. Takie stwierdzenie pokazuje natomiast ile ci jeszcze brakuje. C++ to bardzo trudny język.

Wcale mnie nie rozczarowałeś ;) Zdaję sobie sprawę, że to co umiem to jest mało. W szkole napisanie wielgachnego programu konsolowego to nie wiadomo jaki wyczyn. Ja to sobie klepię taki kod na luzie. Ale to daleko do pisania porządnych aplikacji pokroju MS Word, Excel, Autocad, a co dopiero gry typu GTA IV.

Jeżeli faktycznie chcesz zakręcić się w gamedevie to ciągnij dalej to C++.
Nie musisz używać przy tym nieobiektowego Windows API, przy dalszej nauce C++ możesz użyć inny toolkit, np. Qt.
Jednocześnie rozwijaj się w innych dziedzinach, bo prawdę mówiąc, typowy gamedev to dość specyficzna działka i rządzi się ona trochę innymi prawami. Jest masa innych technologii, która używana jest przy tworzeniu gier: Java, Objective C, języki skryptowe typu Lua, C# jest popularny do tworzenia narzędzi, i tak dalej i tak dalej.

Co to są te narzędzia?

0

<abbr title="z tego co wiem">ZTCW</abbr> gry chyba najczęściej pisuje się w C/ C++ (PC, konsole, Android, itd) lub Javie (głównie Android, ale jest np Minecraft na PC :P ), przy czym większe silniki gier mają wbudowane silniki skryptowe, często z unikalnym językiem skryptowym.

Gier tylko na Windowsa jest raczej mało, zwykle pisuje się silniki działające na różnym sprzęcie, np na smartfonach są inne systemy, na PC inne, na konsole inne, a twórcy gier chcą dotrzeć do jak największej liczby graczy. Zespawanie swojego silnika gier z WinAPI jest mało rozsądnym posunięciem.

Jest wiele gotowych, ogólnodostępnych i przenośnych silników gier, polecam zapoznać się z jakimś i zacząć go przerabiać. Jak już będziesz czuł się pewnie w programowaniu gier to możesz zacząć pisać własny silnik, ale wtedy to już chyba dojrzejesz, aby stwierdzić, że nie ma to wielkiego sensu bez wielomilionowego budżetu (no chyba, że będziesz pisał mini gierki).

0

No dobra. A co do samych aplikacji pod Windowsa to co jest najlepsze? C# czy Qt? Jakie są różnice?

0
ynool napisał(a):

C# czy Qt? Jakie są różnice?

Pierwsze jest językiem programowania, drugie biblioteką, którą można używać programując w nim?

1

C# pociąga za sobą .NET, które jest także biblioteką, więc czepialstwo trochę na wyrost.

Jeśli chcesz się mocno wiązać z Windowsem, tzn wykorzystywać jakieś funkcjonalności specyficzne dla Windowsa, to C# pewnie ci to ułatwi. Z drugiej strony w Qt tak samo jak w Javie można spokojnie pisać rozbudowane aplikacje pod Windowsa.

Zdecyduj się czy chcesz pisać aplikacje desktopowe, webowe czy gry trójwymiarowe, bo każda z tych dziedzin to inna para kaloszy.

0
Wibowit napisał(a):

Z drugiej strony w Qt tak samo jak w Javie można spokojnie pisać rozbudowane aplikacje pod Windowsa.

Qt można od biedy porównać ze Swingiem. Qt można używać w Javie i C#, bardzo popularne jest użycie Pythona...

0

No ale chyba raczej jako cienki wrapper czy tam binding. Bo z WinAPI też można korzystać z poziomu Javy czy Pythona. Java ma jednak swój toolkit do GUI, a Python chyba nie ma (no nie?), więc Python siłą rzeczy musi z czegoś korzystać, czy to z GTK czy z Qt.

0

Python w standardzie ma support Tk, są specyficzne dla Pythona liby GUI. Qt Jambi (javowe "bindingi") były przez długi czas częścią oficjalnego rozwoju projektu, 2 lata temu Nokia przy okazji cięcia kosztów "oddała projekt społeczności". Swoją drogą Java ma obecnie trzy standardowe toolkity GUI, każdy znacząco różni się od pozostałych, więc porównywanie "Javy" z Qt jest tym bardziej nietrafione.

0

A orientujecie się w czym były pisane programy takie jak Chrome, Firefox, Winamp, GG? Czy tradycyjne WinAPI nie jest przestarzałą metodą pisania aplikacji? Dajmy na to wybrałbym C# do pisania aplikacji - jest darmowe IDE do tego? I gdzie jest dokumentacja funkcji/klas/metod do tworzenia tych wszystkich okien, kontrolek? Bo mam takie linki:
http://msdn.microsoft.com/en-us/library/aa678136(v=AX.10).aspx
http://msdn.microsoft.com/en-us/library/winapi.aspx
http://msdn.microsoft.com/en-US/library/aa678136(v=AX.50).aspx

1

Prawie wszystkie aplikacje, które przeciętny użytkownik instaluje na swoim Windowsie jest napisana w C/ C++. Z tym, że wątpię, aby ktokolwiek przy zdrowych zmysłach zaczynał dziś pisać aplikacje w czystym WinAPI.

WinAPI możesz użyć momentami jeśli chcesz czegoś stricte-Windowsowego, ale tak poza tym to rozsądnie jest użyć np Qt do programowania w C++.

A i jeszcze jedno:
Jeśli chcesz zarabiać dużą kasę w przyszłości to wiedz, że najwięcej kasy zarabia się na aplikacjach, które zwykły użytkownik nie instaluje na swoim pececie.

0
ynool napisał(a):

Dajmy na to wybrałbym C# do pisania aplikacji - jest darmowe IDE do tego? I gdzie jest dokumentacja funkcji/klas/metod do tworzenia tych wszystkich okien, kontrolek?

Jest i darmowe IDE, i ogólnodostępna dokumentacja. Tylko nie wiem, czy będzie z Ciebie dobry programista, skoro nie potrafisz tego znaleźć...

0
somekind napisał(a):

Jest i darmowe IDE, i ogólnodostępna dokumentacja. Tylko nie wiem, czy będzie z Ciebie dobry programista, skoro nie potrafisz tego znaleźć...

Nie miałem styku w ogóle z aplikacji desktopowymi to mam problem się odnaleźć. Za to dużo pisałem kodu do serwera SA-MP (http://pl.wikipedia.org/wiki/San_Andreas_Multiplayer). Może język na dużo nie pozwalał ale się nauczyłem trochę algorytmiki, tworząc różne dynamiczne "systemy" współgrające ze sobą i inne takie. Także myślę, że mam szansę być programistą tylko muszę opanować teraz ogólne rzeczy co do tworzenia aplikacji - co to jest platforma NET Framework. Proces tworzenia aplikacji, jak co ze sobą reaguje itp itd. Natomiast sama algorytmika, znajomość języka to już inna sprawa. ;)

0

A hasła "free C# IDE" i "C# documentation" w Google nic nie zwracają?

0

Najlepiej w angielskim.

0

Jak ty sobie w życiu radzisz z taką umiejętnością odnajdywania informacji ? ;o

0

O czyta gazetę wybiórczą? ;)

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