Wybór języka programowania

0

Dzień dobry,
Przeglądałem poprzednie tematy odnośnie wyboru języka programowania - lecz chciałbym założyć swój (aby wyczerpać wszelkie wątpliwości).
Od jakiegoś czasu interesuje się tematem szeroko pojętego programowania (czytam o różnych językach etc.). Chciałbym zacząć coś samemu działać, lecz ile języków, tyle opinii.
Zależy mi na nauce przez internet obecnie oraz tworzeniu własnych rzeczy w przyszłości (myślałem o zagłębieniu się w gry).

Stąd moje pytania:

  1. Jaki język programowania wybrać? Chciałbym coś w stronę gier (więc pewnie C++, lecz słyszałem że jest to język ciężki i samemu nie ma opcji zrobić jakieś fajnej gry), oraz w przyszłości być niezależną osobą w branży (pracować na swoim).

  2. Jaki kurs (płatny czy nie) warto wykupić alby się zagłębić w podstawy języka?

Z góry dziękuję!

1
  1. C#, Unity3d i matematyka
  2. Jak podstawy to pewnie Microsoft ma dokumentacje aktualną
1
Patriotter napisał(a):

Zależy mi na nauce przez internet obecnie oraz tworzeniu własnych rzeczy w przyszłości (myślałem o zagłębieniu się w gry).

Dla pewności spytam. A przeczytałeś też że tworzenie gier to jedna z najgorzej płatnych dziedzin w IT?
Ale żeby nie było że sam offtop

  1. Jaki język programowania wybrać? Chciałbym coś w stronę gier (więc pewnie C++, lecz słyszałem że jest to język ciężki i samemu nie ma opcji zrobić jakieś fajnej gry), oraz w przyszłości być niezależną osobą w branży (pracować na swoim).

Niestety C# i Unity. Chyba że chcesz robić gry na Androida to Java, może Dart/Flutter też C# i Unity :(

  1. Jaki kurs (płatny czy nie) warto wykupić alby się zagłębić w podstawy języka?

Jak podstawy to kup sobie książkę. Ja się uczyłem z książek zanim te wszystkie video platformy do nauki stały się modne i naprawdę się da

1
KamilAdam napisał(a):
Patriotter napisał(a):

Zależy mi na nauce przez internet obecnie oraz tworzeniu własnych rzeczy w przyszłości (myślałem o zagłębieniu się w gry).

Dla pewności spytam. A przeczytałeś też że tworzenie gier to jedna z najgorzej płatnych dziedzin w IT?
Ale żeby nie było że sam offtop

Płaca jak płaca. Niektórzy wolą poświęcić dolary, żeby robić to, co lubią. Najgorsze to są warunki pracy (crunch time i inne atrakcje).

  1. Jaki język programowania wybrać? Chciałbym coś w stronę gier (więc pewnie C++, lecz słyszałem że jest to język ciężki i samemu nie ma opcji zrobić jakieś fajnej gry), oraz w przyszłości być niezależną osobą w branży (pracować na swoim).

Niestety C# i Unity. Chyba że chcesz robić gry na Androida to Java, może Dart/Flutter

Unity to raczej potrafi wypluć wypluć paczkę dla Androida. Nigdy się w to nie bawiłem, pewnie czasem to wymaga jakichś drobnych zmian w tym, co powstanie, ale raczej nie wymaga dogłębnej znajomości Javy.

  1. Jaki kurs (płatny czy nie) warto wykupić alby się zagłębić w podstawy języka?

Jak podstawy to kup sobie książkę. Ja się uczyłem z książek zanim te wszystkie video platformy do nauki stały się modne i naprawdę się da

Też się uczyłem z ksiązek, ale to nie znaczy, że to najlepszy sposób. Nie zachowujmy się jak dziadki ;)

2

Popieram 2 ostatnie zdania @KamilAdam. Jak zależy ci na jakości i wydajności @Patriotter, to staraj się omijać tych wszystkich Hindusów co ledwo nauczyli się wyświetlać hello world na ekranie, a już poradniki robią jak napisać własnego Windows'a... Z tego co wiem Unity ma całkiem fajną dokumentację: https://docs.unity3d.com/Manual/index.html
Albo UE4: https://docs.unrealengine.com/en-US/index.html
W UE4 całkiem fajnie się pracuje z c++, nie jest tak trudno jak niektórzy mówią. (Nie wiem jak jest w Unity, ale na pewno UE4 wymaga więcej poświęcenia czasu na naukę :) )
Ostatecznie zastanów się na jaką platformę docelowo chcesz robić gry. UE4 jest bardziej nastawiony na PC i konsole, ale Unity chyba też sobie poradzi.

0

Dziękuję wszystkim za odpowiedzi! Pozwolicie, że odniosę się do Waszych zdań:
@DiabolicalOnion mówiąc "matematyka" miałeś na myśli obliczenia matematyczne, czy może coś z rodzaju logiki w programowaniu?

@KamilAdam tak słyszałem, lecz obecnie jestem po prosto zafascynowany tym tematem, nie patrze na pieniądze bo daaaleka droga do tego, abym cokolwiek umiał. Lecz jak pisze, chce się ukierunkować już jakoś (a że temat produkcji gier mnie interesuje, to pomyślałem - czemu nie).
A dlaczego Java tak odpada w kwesti robienia gier? Tylko C# i Unity?
I ostatnie: czy możesz polecisz jakąś książke o programowaniu?

@tsz mógłbyś rozwinąć "crunch time i inne atrakcje"? Jestem ciekawy tego.
Właśnie jest sporo kursów na internecie, lecz szukam czegoś (właśnie płatnego lub nie), co wprowadzi mnie w totalne podstawy..zdaje sobie sprawę, jak zaawansowany jest to temat.

@whzgod co oznacza, że ma fajną "dokumentacje"? Rozumiem, że Unity i UE4 to środowiska/silniki gier, lecz pisane były na podstawie innych jeżyków (np. C++) - przez co ułatwiają sprawę?
Jak to jest że UE4 współpracuje z C++? Czy może również współpracować z np. Javą?

Przeglądając oferty pracy (tak na oko w moim mieście Krakowie) dla szeroko pojętych programistów - to Java czy właśnie JavaScript/C# królują. A sam C++ jest gdzieś daleko w tyle..wyczytałem, że to na C++ bazują największe światowe gry, a nie na C#/Javie - ile w tym prawdy?

Na koniec wybaczcie mój długi wywód oraz pewnie banalne dla Was pytania - lecz jestem totalnie zielony.

4

Popieram poprzedników i dopowiem swoje:
Przestań czytać o językach i o tym jaki język wybrać bo marnujesz czas bo na początek jak zaczniesz to tak naprawdę nie ma większego znaczenia dopóki ogarniasz podstawy podstaw, a w tym czasie możesz się zastanowić co i czy Ci się to podoba. Sam się uczę i zacząłem od C++, potem miesiąc javy, a potem właśnie C# i Unity i tak naprawdę to w podstawach niewiele się zmienia i dużo się nie musisz uczyć żeby ogarnąć podstawy drugiego języka.
Wybierz język i się ucz.

2

Crunch time to jak się zapieprza 80 godzin tygodniowo, bo gra musi wyjść (w tej branży gra musi wyjść dopóki jest hype). Czytałem ze dwa razy historie jak kogoś trzeba było odwieźć z pracy w kaftanie, w obu przypadach to był gamedev. Zwróć uwagę, że to się tyczy raczej gier AAA. Inaczej jest jak się pracuje przy kolejnym Call of Duty, inaczej jak się robi jakieś takie fajne gierki typu Superhot (polska gra swoją drogą), a inaczej jak się robi jakieś Farmville. Generalnie praca przy dużych grach jest niewdzięczna. Znam kilka osób, które stamtąd odeszły i wszystkie są zadowolone ze swoich decyzji. Znam też ludzi, którzy pracują przy gra indie i tam zwykle jest całkiem spoko.

Gry klasy AAA muszą też być super-zoptymalizowane. Dlatego tam się używa C++. Obecnie świat gier indie jest tak bogaty, że te powstają w najróżniejszych językach, bo nie ma takiego parcia na wydajność. Dlatego też sam C++ jest obecnie niszowy, bo zwykle nie potrzeba aż tak szybkiego kodu.

0

Hm dobrze, rozumiem.

A to nie jest tak, że - lepiej przejść właśnie przez podstawy dane języka (dajmy na to C++) niezwiązane z tworzeniem gier, a dopiero później jakkolwiek przymierzać się do zrobienia gry?

Czyli chyba najlepszą opcją będzie poświęcenie czasu w miarę każdemu językowi, który człowieka ciekawi i dopiero wtedy decyzja, w który zagłębić się bardziej..

0

W UE4 głównie pisze się w c++, ewentualnie jakieś drobne skrypty w pythonie/Blueprint'ach. (Częściej te drugie)

1

Jeśli miałbym polecić coś do gier na start to na pewno byłby to...

  • Godot. Open-sourcowy silnik służący do tworzenia gier. Wieloplatformowy, piszesz jeden kod i masz grę na przeglądarkę, androida i inne SO. Bardzo przyjemny na start. Jego składnia wyglądem przypomina składnie Pythona. W Godot używamy gdscript. Całkiem ok na start. (Ma też swoje minusy takie jak np. wydajność)
  • **Unity **. Społeczność zgromadzona wokół tego silnika jest po prostu ogromna. Wieloplatformowy. Piszesz w nim w C#. Dużo poradników, jesteś w stanie stworzyć samemu całkiem ciekawy projekt. Możesz używać wersji darmowej lub płatnej. Płatna pozwala na ciemny motyw.
  • **Unreal **. Dość potężny silnik, masa opcji i możliwości. Mnie przytłoczył, nie zmienia to faktu że jest dobry. To między innymi na nim powstał Fortnite

Wszystko zależy od efektu który chcesz osiągnąć. Czy bardziej wolisz nauczyć się np. C# podczas programowania, czy też może chcesz poznać coś nietuzinkowego. Komercyjnie, według mnie, wygrywa Unity.

W C++ możesz napisać własny silnik. Sprawdza się również, gdy chcesz bawić się w tworzenie gier już na nieco wyższym poziomie.

2

Hej, jestem nowa na forum i nie do końca wiem, czy to legalne i zgodne savoir-vivrem, ale napisałam na temat wyboru języka post na blogu, więc go wkleję: https://jakzostacprogramista.pl/krok-1-wybor-technologii-i-jezyka-programowania/
Jakby co, nie bijcie.

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