zawieszenie w nauce programowania.

zawieszenie w nauce programowania.
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
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.

PA
  • Rejestracja:około 6 lat
  • Ostatnio:około 2 lata
  • Postów:426
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(.

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
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ć.

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
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


λλλ
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
0

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

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
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ć.

edytowany 1x, ostatnio: grzesiek51114
PO
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:46
1

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

edytowany 1x, ostatnio: Poaq
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:9 minut
  • Postów:6634
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.


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
Korges
  • Rejestracja:prawie 5 lat
  • Ostatnio:27 minut
  • Postów:555
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źć.

edytowany 2x, ostatnio: Korges
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:19 minut
  • Lokalizacja:Poznań
  • Postów:8769
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.


BU
  • Rejestracja:około 10 lat
  • Ostatnio:14 dni
  • Postów:422
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 ;)

edytowany 5x, ostatnio: Burmistrz
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
0

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

Po nie przespanych nocach stwierdzam że c++

edytowany 1x, ostatnio: cerrato
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:9 minut
  • Postów:6634
6
Arcturus napisał(a):

Po nie przespanych nocach stwierdzam że c++

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


🕹️⌨️🖥️🖱️🎮
RE
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:49
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ę.

edytowany 3x, ostatnio: ret
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
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.

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
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


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 2x, ostatnio: KamilAdam
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
0

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

edytowany 1x, ostatnio: Arcturus
PaulGilbert
  • Rejestracja:około 7 lat
  • Ostatnio:dzień
  • Postów:919
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?

Korges
A pracował Pan kiedyś w JavaScript? :D
PaulGilbert
@Korges: Już słyszałem te żarty, że front-end, to nie programowanie :D
Korges
Bardziej mi chodzi o przejście z np JavaScript na frontendzie do Java backend.
Arcturus
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:7
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++.

PaulGilbert
  • Rejestracja:około 7 lat
  • Ostatnio:dzień
  • Postów:919
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.

Arcturus
Dzięki za odpowiedź 😀
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
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?

Arcturus
Ja to raczej gamedev hobbystycznie
vpiotr
OK, ale nie próbuj rysować jeśli nie masz do tego daru. Lepiej zamówić content od jakiegoś freelancera
Arcturus
Zdecydowanie nie jestem grafikiem, więc nie będę rysował
Spine
Nie trzeba mieć daru, trzeba mierzyć siły na zamiary => znaleźć swój własny minimalistyczny styl, który wygląda dobrze. https://www.youtube.com/watch?v=Nn4xOfQQ_j8
BU
  • Rejestracja:około 10 lat
  • Ostatnio:14 dni
  • Postów:422
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.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)