Pierwsze kroki w programowaniu

Odpowiedz Nowy wątek
2020-05-22 04:10

Rejestracja: 2 tygodnie temu

Ostatnio: 4 dni temu

0

Witam

Jestem początkujący w programowaniu- najpierw odbiłem się od grubej książki do C, potem bootcamp z frontendu (ale już wiem, że nie chce tego robić, CCSa nie lubię delikatnie mówiąc, drażni mnie precyzyjne ustawianie "co do pixela" itp. Jakiś czas temu zacząłem kurs online z Pythona, wybrałem go jako "język polecany na start bo łatwy". Niestety niezbyt dobrze radzę sobie z motywacją, jak siądę do kodu raz na kilka dni to jest dobrze.
Traktuję go tak naprawdę jako powiedzmy "obniżenie progu wejścia" do branży ponieważ chciałbym w przyszłości pracować jako programista. Wyobrażałem sobie, że na start "zaczepię się" w jakiejś firmie jako junior nad programami ale to tylko na jakiś czas bo prawda jest taka, że mnie to się marzy GameDev, uwielbiam gry i chciałbym je tworzyć. W związku z tym nie jestem pewien czy dobrze robię wybierając Pythona jako furtkę do wejścia z założeniem w przyszłości (bliższej bądź dalszej) przesiadki na inny język oraz robienie gier a programy traktując tylko jako narzędzie do zdobycia doświadczenia.

A teraz pora na pytania:

  1. Czy uważacie, że wybranie Pythona jako "język przejściowy" może być dobrym rozwiązaniem dla początkującego? A może raczej powinienem pominąć opcje przejściowe i od początku skupić się na tym co naprawdę chce docelowo robić, czyli gry?
  2. Czy lepszą drogą jest zacząć od wbicia sobie do głowy podstaw poprzez dziesiątki/setki godzin kursów czy rozpoczynać własny projekt? (temat pewnie nie raz już omawiany ale nie jestem pewny co w moim konkretnym przypadku będzie lepszym wyborem)
  3. Czy macie jakieś sposoby na utrzymać motywację na odpowiednim poziomie (pytanie szczególnie do osób które nie pracują zawodowo z kodem ale jeszcze po swojej harówce znajdują siłę, żeby programować/uczyć się)

Być może błędnie jest u mnie założenie, że kodu chce uczyć się dla pracy a nie dla siebie. Może powinienem po prostu zabrać się za robienie gier na własną rękę nie patrząc czy znajdę pracę i kiedy, a gdy już mi się uda stworzyć coś w miarę sensownego to wtedy wyjść do ludzi i wtedy zacząć myśleć o pracy?

Ciekaw jestem jak dużo ludzi ma bądź miało podobny problem z niezdecydowaniem/złym podejściem na starcie. Chętnie poczytam Wasze opicie i być może nawet znajdą się podobne historie.

Masz dziwny tok rozumowania. Wywalasz hajs na bootcamp z frontu a potem okazuje się, że nie lubisz CSS'a (serio nie zweryfikowałeś tego wcześniej?!). Chcesz pracować jako programista ale nie lubisz pisać kodu (nawiązanie do wspomnianego braku motywacji, ja jak coś lubię to to robię chyba, że czas nie pozwala). Na koniec stwierdzasz, że lubisz grać w gry więc chcesz je pisać (ja lubię jeździć samochodem ale rozrząd czy klocki zmieniam u znajomego który się na to zna, mnie to nie interesuje). - Areek 2020-05-28 08:34
Jak dla mnie to za dużo naoglądałeś się reklam bootcampów, naczytałeś tekstów pod tytułem "brakuje 50 tyś programistów" i na siłę próbujesz dopasować tę drogę do siebie mimo, że już na starcie brak Ci minimalnej dawki elementarnej zajawki. Serio pomyśl o tym co naprawdę lubisz robić i to spróbuj robić zawodowo bo inaczej to czeka Cię smutne życie w robocie której nie lubisz. - Areek 2020-05-28 08:35
@Areek: No ale te mityczne 15k i siedząca praca, nie na kasie w Biedronce XD - Dregorio 2020-05-28 09:04

Pozostało 580 znaków

2020-05-22 06:26

Rejestracja: 17 lat temu

Ostatnio: 33 minuty temu

2
Ading napisał(a):
  1. Czy uważacie, że wybranie Pythona jako "język przejściowy" może być dobrym rozwiązaniem dla początkującego? A może raczej powinienem pominąć opcje przejściowe i od początku skupić się na tym co naprawdę chce docelowo robić, czyli gry?

"Chcę kroić chleb. Czy powinienem najpierw nauczyć się jak go kroić nożem, czy od razu skorzystać z krajalnicy?"
Krojenie nożem może kiedyś się przyda, jak krajalnica się zepsuje, albo prądu zabraknie. Ale wygodniej zawsze krajalnicą.

  1. Czy lepszą drogą jest zacząć od wbicia sobie do głowy podstaw poprzez dziesiątki/setki godzin kursów czy rozpoczynać własny projekt? (temat pewnie nie raz już omawiany ale nie jestem pewny co w moim konkretnym przypadku będzie lepszym wyborem)

Jeśli chcesz robić projekty, to zacznij je robić. Wiedzę, której Ci brakuje, posiądziesz podczas tworzenia projektu. Jeśli jesteś zielony w temacie i potrzebujesz wprowadzenia, to kurs/tutorial pomoże. Ale jak już załapiesz o co chodzi, to googlujesz tylko to czego nie wiesz jak zrobić. Ewentualnie drążysz głębiej jeśli Ci nie wystarczy, że coś działa i chciałbyś to zrobić lepiej/optymalnie.

Być może błędnie jest u mnie założenie, że kodu chce uczyć się dla pracy a nie dla siebie. Może powinienem po prostu zabrać się za robienie gier na własną rękę nie patrząc czy znajdę pracę i kiedy, a gdy już mi się uda stworzyć coś w miarę sensownego to wtedy wyjść do ludzi i wtedy zacząć myśleć o pracy?

Jeśli chcesz się uczyć kodować dla pracy, a nie dla siebie, to GameDev jest kiepskim wyborem.

a) Niższe zarobki. Chyba, że jesteś prezesem i wydasz dobrą grę.
b) Gry to bardzo skomplikowany twór. Zanim zaczniesz robić to w stopniu zadowalającym potencjalnego pracodawcę, to trochę lat minie. Szybciej się można się nauczyć jednak klepać strony internetowe i łatwiej je podzielić na małe odrębne części. Każda osobna strona to mały podprogram. Gra musi robić znacznie więcej rzeczy w jednym miejscu.
c) Z tego co piszesz, to słabo z Twoją motywacją. Bo nawet bez wiedzy o tworzeniu gier, nie masz chociaż własnych pomysłów, które chciałbyś zrealizować sam od siebie... A jeśli je masz, to działaj z własnym projektem! W pewnym czasie wielu pracodawców miało w wymaganiach napisane, że kandydat powinien mieć przynajmniej jedną grę w Google Play do pokazania.

edytowany 2x, ostatnio: Spine, 2020-05-22 06:29

Pozostało 580 znaków

2020-05-22 06:33

Rejestracja: 5 lat temu

Ostatnio: 2 godziny temu

Lokalizacja: Chorzów

3

A ja proponuję byś zaczął własnie od tego CSS'a i nauczył się ustawiać div'y co do piksela. Bo widać, że jeszcze nie znasz podstaw a już byś chciał rakiety budować. Znajomość takiego elementarza jak CSS + HTML przyda się na każdym etapie nauki jak i poważnej naukowej ścieżki zawodowej chociażby tylko po to by umieć wypluć sensownie wyglądający raport z danymi z programu, który napiszesz jak już nauczysz się programować. Chęć ominięcia takich podstaw brzmi taj jakbyś uważał, że będziesz robił super gry i programy, w których ściany niekoniecznie będą się składały co do pixela a obliczenia walutowe niekoniecznie wyliczały co do grosza. Przecież takie drobiazgi są niegodne uwagi Twojego umysłu :-)


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
edytowany 3x, ostatnio: katakrowa, 2020-05-22 06:41
Ja już programuje para lat i ciągle nie za bardzo umiem HTML i CSS. - Tomek Pycia 2020-05-22 08:05
Ja też programuję parę lat i nie mam zamiaru umieć CSS i HTML. Jestem tru Backendowcem. Pracuję tylko w projektach które nie mają frontu, albo mają robiony front w innych miastach a najlepiej krajach - KamilAdam 2020-05-22 10:46
HTML, Css, jak i języki programowania można znać na różnym poziomie. I myślę, że poziom, który reprezentujecie i tak jest dużo wyższy niż poziom autora postu, dla którego css póki co kojarzy się z układaniem elementów "co do piksela". Do tego ten "próg wejścia" - dobry front-endowiec może być skarbej jesli właśnie ten CSS i HTML zna bardzo dobrze - a to już wcale nie "dziecinada". - katakrowa 2020-05-22 11:37

Pozostało 580 znaków

2020-05-22 08:09

Rejestracja: 1 rok temu

Ostatnio: 2 godziny temu

0

Jak najłatwiej znienawidzić to, co się lubi: zrobić z tego swoją pracę. To, że lubisz dobrze zjeść nie znaczy, że będziesz dobrze prowadził restaurację.

  1. Python to dobry wybór na początek.
  2. Jakoś podstawy musisz wbić do głowy, Jedni wolą kursy inni projekt. Sam musisz zdecydować. Jak rozumie pierwszej ścieżki próbowałeś i nie wyszło, to spróbuj drugą.
  3. Odetnij źródło dochodu, jakie masz teraz i będziesz miał taką motywację, jakiej potrzebujesz. Chyba innej nie ma w tym zawodzie.

Pozostało 580 znaków

2020-05-22 10:51

Rejestracja: 1 rok temu

Ostatnio: 1 minuta temu

Lokalizacja: Silesia

0

Tak jak zostało napisane tu już wyżej, musisz się zmotywować i zacząć coś pisać. Te wszystkie kursy są fajne żeby je posłuchać do poduszki, ale praktycznej wiedzy w ten sposób nie nabierzesz tylko słuchając. Co więcej teoretyczna wiedza też szybko ucieka jeśli tylko ogląda się kursy i czyta książki/artykuły. Trzeba pisać/programować i to najlepiej dużo.

Co do języka to jak chcesz programować w języku X (i wiesz że jest w nim praca) to na początek powinieneś uczyć się właśnie języka X. Po roku lub trzech można zacząć uczyć się innego języka żeby mieć szerszy horyzont


Pozostało 580 znaków

2020-05-22 12:20
Moderator

Rejestracja: 16 lat temu

Ostatnio: 1 godzina temu

2

Pisz kod. Serio. Nie dywaguj nad tym który język lepszy, bo to bez znaczenia na początek. Musisz się nauczyć programować - mysleć w odpowiedni sposób. Język to szczegół. Wielu z nas zaczynało pewnie od C albo Pascala a dzis programuje w zupełnie innych technologiach. Wiele osób pewnie też zawodowo na co dzień pisze przynajmniej w 2 róznych językach. Zamiast tracić czas na jałowe dywagacje, mógłbyś naklepać więcej kodu i byłby z tego jakiś pożytek.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2020-05-22 12:35

Rejestracja: 1 rok temu

Ostatnio: 1 minuta temu

Lokalizacja: Silesia

1
Shalom napisał(a):

Wielu z nas zaczynało pewnie od C albo Pascala.

Przykładowo ja:

  • Na studiach miałem Pascala, C, C++, Javę i Pythona
  • Zawodowo pisałem w Java (głównie), Scala, Kotlin i czasem mnie zmusili do Groovy, Python i JavaScript. Raz nawet Lua się trafiła
  • Jako student hobbistycznie pisałem w Perlu i TCLu dopóki nie obrzydły mi dynamicznie typowane języki programowania
  • Teraz hobbistycznie piszę w Scali (do niedawna) i w Haskellu (zacząłem w tym roku)
  • Oprócz tego do snu czytam o Rust i Clojure (Lispy to jedyne dynamicznie typowane języki programowania jakie aktualnie toleruje)

Większość języków jest podobna (tak samo nudna), tylko Lisp/Scheme/Clojure, Haskell/PureScript i Rust czymś się wyróżniają. Przynajmniej z tych które przeglądałem


edytowany 5x, ostatnio: KamilAdam, 2020-05-22 13:46
czymś się wyróżniają paradygmatem :P tylko że znów Lisp. Clojure, Haskell czy Scala różnią się co prawda od C i Javy, ale od siebie nawzajem już niekoniecznie. Można jeszcze dorzucić jakiegoś Prologa jak ktoś chce zobaczyć coś "innego". - Shalom 2020-05-22 13:57
Nawet nie wiem czy chodzi o paradygmat (Obiektowy czy Funkcyjny). Java i C# są już prawie tak funkcyjne jak OCaml. Z drugiej strony, Ocaml jest ordynarnie obiektowy (Clojure też może być), a Clojure, Common i Haskell mają alternatywne rodzaje obiektowości (inne niż subtyping). A taki Rust to już w ogóle nie wiadomo jaki jest. Wszystkie te języki są już trochę obiektowe a trochę funkcyjne - KamilAdam 2020-05-22 15:24
Oczywiście mam na myśli tylko języki ogólnego przeznaczenia. Prologa i innych logicznych nie liczę, ale trudno mi sobie wyobrazić restowe crudy (czy inne aplikacje codziennego użytku) w samym Prologu - KamilAdam 2020-05-22 15:24

Pozostało 580 znaków

2020-05-23 15:49

Rejestracja: 6 lat temu

Ostatnio: 3 godziny temu

1

Czy macie jakieś sposoby na utrzymać motywację na odpowiednim poziomie (pytanie szczególnie do osób które nie pracują zawodowo z kodem ale jeszcze po swojej harówce znajdują siłę, żeby programować/uczyć się)

Jeśli nie jesteś pasjonatem to sobie daruj. Szkoda Twojego czasu i nerwów. Uwierz mi, naprawdę coś o tym wiem.

Pozostało 580 znaków

2020-05-23 16:09

Rejestracja: 5 miesięcy temu

Ostatnio: 2 godziny temu

0

Jeśli to jest wątek w stylu być czy mieć to w przypadku IT odpowiedź i tak nie ma znaczenia.

Chcesz robić gry? No to rób, nie wiem w czym widzisz problem. Chcesz robić większą kasę to też rób, co więcej oba podejścia można łatwo połączyć.

Pozostało 580 znaków

2020-05-25 22:05

Rejestracja: 6 lat temu

Ostatnio: 1 godzina temu

1

Czy macie jakieś sposoby na utrzymać motywację na odpowiednim poziomie

Dzielisz projekt na małe zadania. I pilnujesz, żebyś regularnie (np. codziennie albo kilka dni w tygodniu) coś robił w kierunku realizacji. Łatwiej jest usiąść np. na godzinę dziennie (albo na zrobienie jednej małej rzeczy dziennie), niż zebrać się na 7 godzin ciurkiem raz w tygodniu (albo na zrobienie iluś rzeczy naraz).

Wtedy nawet jak masz niską motywację, to można zrobić z poczucia obowiązku, jak i inne codzienne rzeczy.

robienie gier

Nie myślałeś o Unity albo Unreal Engine? Może byłoby łatwiej zacząć, jak masz gotowy silnik (chociaż to też nie jest takie hop siup, bo jednak to złożone narzędzia).

Czy uważacie, że wybranie Pythona jako "język przejściowy" może być dobrym rozwiązaniem dla początkującego? A może raczej powinienem pominąć opcje przejściowe i od początku skupić się na tym co naprawdę chce docelowo robić, czyli gry?

Co ci wygodnie. W Pythonie też możesz pisać gry (inna sprawa, że rzadko się go używa na serio do gier, z tego co wiem. No ale sama znajomość Pythona nie zaszkodzi w edukacji programistycznej. Jak jeden język poznasz, to kolejne łatwiej wejdą). Bylebyś widział sens pisania, a nie robił tego na siłę.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 2x, ostatnio: LukeJL, 2020-05-25 22:07

Pozostało 580 znaków

Odpowiedz

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