zawieszenie w nauce programowania.

0

a więc ostatnio mam pewien problem z nauką programowania. Chciałbym nauczyć się nowego języka programowania, ponieważ do tej pory uczyłem się js, a niezbyt interesuje mnie web. od kilku tygodni szukam dla siebie nowego języka i nic nie mogę wybrać. czy zna tu ktoś dość przyjemny język do tworzenia gier i aplikacji desktopowych? ważne żeby działał pod linuxem. zastanawiałem się nad Kotlinem (nie javą, bo to staroć), ale raczej nie chcę być android devem.

1

Jeżeli chodzi o gamedev, to c++ jest chwilowo jedynym słusznym wyborem. W sumie w desktopie też (przynajmniej jeżeli celujesz w nie-windowsa).

Tylko warunku dość przyjemny język nie spełnia.

Ale jeżeli nie musi być komercyjnego sensu, to proponuje haskella. Ewentualnie możesz uczyć się rust-a, bo ten język ma pewne szanse na zastąpienie cpp (jeżeli możesz poczekać 10-15 lat(.

0

Hmm... Bardzo przyjemnym frameworkiem, do tworzenia aplikacji desktopowych, jest Qt. Przy okazji nauczysz się C++, a to już do gier może się przydać.

0
grzesiek51114 napisał(a):

Hmm... Bardzo przyjemnym frameworkiem, do tworzenia aplikacji desktopowych, jest Qt. Przy okazji nauczysz się C++, a to już do gier może się przydać.

Jak juz mysli o Kotlinie to TornadoFX bedzie przyjemniejsze. Ale tez raczej niekomercyjnie

0

dzięki. to chyba wybiorę c++. [ ;

0
Arcturus napisał(a):

dzięki. to chyba wybiorę c++. [ ;

Tylko wybierz nowe C++, a nie jakieś starocie typu C z klasami, niemniej jednak wskaźniki zawsze dobrze znać.

1

To ja Ci cos polece z innej bajki niz koledzy powyzej: jakiego jezyka nie wybierzesz to ostatecznie w gamedevie jeden nie wystarczy.

3

Język C# jest na pewno przyjemniejszy niż C++.

Spróbuj Unity 3D pod Linuksa, a potem przesiądź się na Windowsa, bo jak chcesz robić gry i apki okienkowe, to większość Twoich użytkowników będzie siedzieć na Windowsie.

0

Może flutter (język Dart)? Piszesz w jednym języku - kompiluje się pod ios i androida. Giereczka mobilna na start prościej.
No i plus: da się w tym prace znaleźć.

5

We Flutterze raczej gierki nie zrobisz, a na pewno nie jakiejś sensownej. Nie obsługuje to grafiki 3D (znaczy - są jakies biblioteki, ale one to emulują, bez akceleracji hardwareowej), ogólnie Flutter to bardziej jest przeznaczony do aplikacji w stylu Zappka czy McDonalds.

2
Spine napisał(a):

Język C# jest na pewno przyjemniejszy niż C++.

Sprùbuj Unity 3D pod Linuksa, a potem przesiądź się na Windowsa, bo jak chcesz robić gry i apki okienkowe, to większość Twoich użytkowników będzie siedzieć na Windowsie.

@Arcturus: Jeżeli poznasz C# i jednak z jakiegoś powodu postanowisz wrócić do weba i zostać full-stack devem, to nauka JS nie pójdzie na marne. Nauczysz się ASP.NET Core i cały czas do przodu. Tylko nie wiem, czy łatwo będzie robić to komercyjnie bez kontaktu z Windowsem, ale musiałbyś się rozejrzeć i zastanowić się, czy warto ;)

0

Hmmm. To teraz muszę się zastanowić nad c# vs c++ i rust

Po nie przespanych nocach stwierdzam że c++

6
Arcturus napisał(a):

Po nie przespanych nocach stwierdzam że c++

To wyśpii się i spróbuj jeszcze raz ;)

2

Zależy co jest celem.

  1. Łechtanie ego i bohaterskie rozwiązywanie problemów, które dla klientów nic nie znaczą i ktore są rzadkością w innych językach.

W takim przypadku polecam asm i C++, a najlepiej oba na raz :-) Ostatecznie jeśli C++ przeraża, ale mimo to wolisz bardziej zastanawiać się nad kodem niż na rozwojem produktu to każdy statycznie typowany język (najlpiej funkcyjny) będzie udanym wyborem.

  1. Jeśli chcesz pisać gry czy użytkowe programy samemu (i gdy nie masz większego doświadczenia) to lepiej jest postawić na narzędzia, które przyspieszą Ci pracę kosztem developerskich uniesień.

W przypadku gier wybierz silnik Defold i język Lua.

W przypadku Desktop wybierz Electron.

Zaproponowane rozwiązania w kroku 2 utrudnią Ci zbudowanie pozytywnie zaskakującego CV (bo Pani od HR nic z tego nie skojarzy). Nie doznasz developerskich uniesień, ani też taką pracą nie pochwalisz się wśród elity C++, bo oni takie zabawki wyśmieją, ponieważ są wolne i marnują zasoby komputera, z resztą jak wszystko co nie ma bezpośredniego związku z C/C++. Ponadto nie ma nigdzie żadnej pewności czy użyte rozwiązania nadal będą wystarczająco użyteczne za 5 czy 10 lat więc całkiem możliwe jest, że jak założysz rodzinę, posadzisz drzewo to nadal będziesz musiał się douczać.

Zaproponowane rozwiązania mają także plusy:

Twoje programy będą dostępne nie tylko dla linuksiarzy, w grę będzie mógł pograć każdy. To ważne, zwłaszcza, że linuksiarze mało grają w gry.

Pisząc program będziesz widział szybciej efekty, będziesz mógł skupić się na tym CO ma robić program, jakie ma budzić wrazenia itp, zamiast skupiać sie na tym JAK ma to robić. Dzięki temu szybciej zorientujesz się jakie rzeczy warto rozwijać, by podbić serca użytkowników :D Jak program się przyjmie, będzie znany i zacznie zarabiać, wtedy będziesz mieć środki i więcej czasu na to, aby pracować dalej nad coraz ciekawszymi ulepszeniami.

PS, nie znaczy to, że masz zawsze polegać tylko na pół-gotowcach, ale na nich najszybciej zbierzesz doświadczenie, które wskaże Ci gdzie masz patrzyć jeśli chcesz stworzyć dobry produkt. Z czasem staniesz się technicznie dobry, i wymagający i wtedy właśnie warto będzie użyć czy C++ czy C# jeśli będziesz czuł, że wartość pracy (i sposób realizacji) ostatecznie przewyższy poniesione koszty. Na początku taka ocena jest trudna bądź niemożliwa i lepiej jest postawić na rozwiązania, które bardziej poprowadzą Cię za rączkę.

0

To w takim razie znacie jakiś język podobny do c#? Np. na jvm (tylko nie jave, może scala?), albo kompilowany jakiś? Do tych celów które napisałem na początku.

1
Arcturus napisał(a):

To w takim razie znacie jakiś język podobny do c#? Np. na jvm (tylko nie jave, może scala?)

Jak może Scala to może Scala? Albo Kotlin. A jak coś dziwnego na JVM to Clojure

0

KamilAdam, A wiesz jak się sprawdza scala w tych zastosowaniach?

3

Język to tylko narzędzie. A czy nie jest tak, że programowanie po prostu Cię nie jara? Myślisz sobie - zmienię język, zrobi się fajniej. Ale może tak nie być. Warto to przemyśleć, bo jeśli Cię programowanie nie jara, to czy jest sens się męczyć i skakać po językach, żeby w końcu całkiem zrezygnować, straciwszy mnóstwo czasu?

1

Zawsze chciałem pracować w IT, ale może faktycznie powinienem się zająć czymś innym niż programowanie? Choć jak na razie bardzo to lubię i będę uczył się dalej c++.

1

Super. Grunt, to raz na jakiś czas (np. raz na rok, dwa) usiąść i zrobić sobie taki rachunek sumienia. Ja przynajmniej tak robię. Sprawdzam, czy to co robię, nadal sprawia mi przyjemność, sprawdzam co mi w ostatnim czasie sprawiało przyjemność, jakie są plusy i minusy. Takie działanie ułatwia trzymanie się prawidłowej drogi, a także pomaga w podejmowaniu nowych celów, ewentualnie pomaga dostrzec, to co nas męczy, czy choćby dostrzec potrzebę wprowadzenia choćby kosmetycznych zmian.

3

Zastanów się co Cię jara w IT.
Jaka branża? Jakie produkty? Dla kogo?
Bo gierki i gołe panie jarają prawie każdego (są wyjątki), stąd gamedev i porndev są bardzo popularne i medialne (to drugie ciężko jednak potem wcisnąć do CV).

Gamedev to z tego co wiem ciężki kawałek chleba - duża podaż programistów i stosunkowo mała liczba pracodawców powoduje że pracodawcy mogą narzucać swoje, często bardzo trudne, warunki pracy (nadgodziny, weekendy).
Jeśli znasz JS na jako takim poziomie, możesz spróbować robić gierki w webie - patrz
https://github.com/collections/javascript-game-engines
https://blog.bitsrc.io/9-top-js-gaming-engines-and-libraries-for-2020-81707d9f095
https://phaser.io/

Popróbuj coś w tym kierunku, może programowanie to tylko narzędzie do jakiegoś innego celu?

1

Za dużo się zastanawiasz. Obudzisz się ze swoim idealnym podejściem myśląc sobie, że jesteś już stary i że w młodości mogłeś dużo osiągnąć w dowolnym języku.

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