Skocz do zawartości

Kierunek programowania - decyzja


Recommended Posts

Witam.

Postanowiłem poważnie się wziąć za programowanie... Ale właśnie jakie?

Jestem totalnie zielony w tym wszystkim.

Miesiąc temu bawiłem się językiem C w code::block, i nawet to jakoś szło. Ogólnie potrafię się zawziąć i się uczyć, ale jedynie wtedy kiedy mi przyświeca jakiś cel, a tym celem jest konkretny kierunek rozwoju.

 

I tu nasuwa sie pytanie. Jakie są kierunki rozwoju w programowaniu. W sensie. Jestem zielony, ale już teraz wiem że jeśli sie uczymy programowania, to trzeba zdecydować w którym kierunku sie rozwijamy.

Dlatego prosiłbym osoby obeznane w temacie, by przedstawiły mi możliwości rozwoju. Najlepiej w takiej formie:

Język/środowisko A>B>C>D [napisanie jaki to cel (np. Programowanie aplikacji mobilnych).

 

Lub proszę o linki do stron/artykułów.

Chciałbym podjąć świadoma decyzje o tym ze wybrałem odpowiedni kierunek rozwoju dla siebie, by potem sie nie okazało, ze nauczyłem sie języka A , a to nie jest w ogóle powiązane z np. Tworzeniem aplikacji mobilnych.

 

Mam nadzieje ze w miarę jasno przedstawiłem to, czego pragnę sie dowiedzieć.

 

Dzięki!

Link to post
Share on other sites

Nikt Ci tego nie napiszę, nie wiemy co sprawia Ci przyjemność w czym odnajdujesz się najlepiej, jednemu najlepiej wychodzi kodzenie jakis systemów bazodanowych, drugi odnajduję się w aplikacjach webowych, językach skryptowych, tworzeniach stron, także taką drogę musisz odnaleźć sam, jedyne co moge Ci podpowiedzieć, to ucz się poprzez wyznaczanie sobie celów, np napisze sobie prostą gra, zrobisz odhaczasz i następny projekt itd, jest to bardzo dobra metoda nauki, ja uczylem sie z ksiazke, najpierw z serii head first, a nastepnie z fachowych ksiazek. Napisz co chcialbys robic w przyszlosci z tym programowaniem, to Ci odpowiem :)

  • Popieram 1
Link to post
Share on other sites

http://4programmers.net/Praca/Szukaj?q=programista
http://www.praca.pl/s-programista.html

I masz przegląd co, gdzie jest używane.

W sporym ougólnieniu:

  • Duże systemy webowe - Java EE / C#. Czasem C++ jesli to jest coś, co działa pod bardzo dużym obciążeniem (amazon/ebay)
  • Webówka ogólnie - PHP / Ruby / Python
  • Frontend dla webówki - JS, CSS, HTML
  • Gry - C++ wraz z GLSL/HLSL
  • Mobile - Java SE (Android) / Objectice C (iOS). Ale trafia się tez C++.

Poza tym:

  1. są inne, rzadziej spotykane języki, np Scala, Haskel, R
  2. Sam język to jest 10% tego, co jest potrzebne, żeby stworzyć duży, działający system
  3. Do większości aplikacji przydadzą się inne technologie typu SQL, JSON, XML

Z mojego punktu widzenia - zacząlbym od C++, żeby nauczyć sie podstaw (if, for, ...), algorytmów, dzialenia kodu na funkcje. Potem bym się wziął za programowanie obiektowe. Z tą wiedzą przesiadłbym się na Java/C# ze względu na popularność, ilość frameworków, bibliotek i łatwość wyszukiwania dobrych materiałów w sieci (tylko po ang, jeśli ktoś by miał jakiekolwiek wątpliwości).

  • Popieram 1
Link to post
Share on other sites

@trojanxem chyba bardziej mnie ciekawi tworzenie gier. :)

 

@karister oooooooo właśnie o takie coś mi chodziło. Żeby mieć to jak na dłoni. Myśle ze wybiorę teraz C++, a dalej sie zobaczy. ;)

Edytowane przez ruseus
Link to post
Share on other sites

Ja bym Ci polecał ogarnąć dobrze C w takim razie, żaden inny język nie jest tak bezwzględny i nie wybacza błędów, pojmiesz na przykładzie C jak pisać dobry kod, czytelny, wskaźniki cóż to jest, jak się zarządzą pamięcią, jak działają różne mechanizmy, które będziesz mógł przełożyć na c++, no i z dobrą znajomością strukturalnego języka łatwiej przejść na obiektowy i też zrozumieć jak to wszystko działa i o co chodzi

Link to post
Share on other sites

Chęć pisania gier szybko mija(przynajmniej u mnie;)), samo programowanie jest ciekawą sprawą.

 

Nie spotkalem sie jeszcze z dobrym kursem dla c.

Wg mnie c++ jest dobry na początek 

http://xion.org.pl/productions/texts/coding/megatutorial/tu masz dobry tutorial.

 

Btw, gry można teraz już pisać np w C#(dzieki platfomie unity) i są już oferty pracy .

  • Popieram 1
Link to post
Share on other sites

Możliwe, że masz rację. Gdyż ja jednak tego nigdy nie robiłem, dlatego ciężko mi teraz stwierdzić co najbardziej mi będzie odpowiadać :) 
Dzięki za kurs! Przyjrzę mu się wieczorem :)

 

P.S. Wczoraj zastanawiałem się nad przesiadką na OS X. Mam ultrabooka od HP i niewątpliwie zależy mi na ciągłości pracy, a słyszałem że OS X lepiej wykorzystuje podzespoły i trzyma baterię. 
Czy to dobry czy zły pomysł bym wgrał OS X na HP, jeśli mam się uczyć programowania czy nie ma różnicy? 
I czy to co słyszałem o systemie OS X jest prawdą? 

Edytowane przez ruseus
Link to post
Share on other sites

Wybacz jeśli urażę Twoje uczucia, ale gamedev jest dla frajerów (oprócz paru masterów typu Carmack). Słaba płaca, ciężka praca. Każdy chce tworzyć gry. Znam paru ludzi, którzy robili w tej branży. Już tam nie pracują.

Edytowane przez szatkus
Link to post
Share on other sites

Z perspektywy czasu? Próbuj różnych rzeczy. Staraj się zostać programistą, a nie programistą PHP/Java/C++/cokolwiek.

 

Zrób jakąś grę, naklep coś w assemblerze, jakąś aplikację mobilną, apkę webową itd.  Jak coś szczególnie trafi w Twoją osobowość to skup się na tym. Ewentualnie to potem wyreguluj pod kątem dostępnych ofert pracy (np. pasjonat maszyn wirtualnych raczej w Polsce nic nie znajdzie). Technologie znikają i pojawiają się, ważniejsze jest wyrobienie sobie uniwersalnych umiejętności tworzenia czytelnego (książka Czysty Kod, polecam, ale dopiero jak sobie wyrobisz podstawowe skille programistyczne) i dobrze ustrukturyzowanego kodu.

 

Gdybym mógł się cofnąć w czasie i udzielić sobie jednej rady? UŻYWAJ DEBUGGERA. Im wcześniej tym lepiej. Szukanie błędów przez umieszczanie printów w kodzie to strata czasu.


A, jeszcze jeśli chodzi o wygodę w programowaniu to Windows < Mac OS X < Linux.

 

Chociaż słyszałem, że PowerShell na Windowsie też jest spoko.

 

Jeśli chodzi o języki (nie myśl, że wystarczy znać jeden albo dwa) to polecałbym kolejność C -> Java/Scala -> Python/Ruby/JavaScript. Gdzieś po drodze warto poznać assemblera i koniecznie SQL. Prolog i jakiś język funkcyjny też będą dobre, żeby poszerzyć swoje horyzonty (kod pisany w "normalnych" językach poprawia się jak pobawisz się innymi paradygmatami).

Link to post
Share on other sites

Chyba masz błędne wyobrażenie, jak to wygląda. Przychodzę do biura, kiedy chcę, a jak łóżko wydaje się bardziej miękkie niż zwykle, pracuję z domu. W kuchni zawsze jest ktoś do pogadania i wypicia kawy/herbaty. Po południu wypad na obiad z jedną z kilku grup w zależności, czy ma się kaprys na chińszczyznę placki, kotleta, pizzę, burgera czy coś jeszcze innego. Do tego codzienne konferencje z zagraniczną częścią zespołu i klientem. Zadanie, którym się zajmuję też wybieram sam w zależności, czy mam ochotę popracować z bazami danych, płatnościami, konfiguracją serwera czy pokolorować guziki. Jak się znudzi - pogadanka z kumplami, kto co ostatnio ciekawego wyczytał. Myślę, że są nudniejsze zajęcia. Nie wiem, na jak podłą firmę trzeba trafić, żeby było nudno. Chyba, że ktoś myśli, że programista to 8h klepania w klawiaturę.

 

Ale oczywiście - kto co lubi. Nie każdy musi uważać, że rozwiązywanie problemów jest ciekawe, a pokonywanie wyzwań daje satysfakcję. Kolegę kręcą samochody, a mnie ciekawi, czemu jeden z rdzeni procesora zamula. Zaś moja koleżanka uważa, że komputery są nudne i woli pracować w salonie kosmetycznym. Można też woleć leżeć na kanapie i oglądać seriale.

 

Co najciekawsze, zarówno koleżanka, jak i kolega są zadowoleni ze swoich zajęć i nie czują potrzeby odwiedzania miejsc, które ich nie interesują, żeby stwierdzić, że są "nasrane" w celu rozładowania frustracji. ;)

Edytowane przez Karister
  • Popieram 5
Link to post
Share on other sites

Myślę, że zaprojektowanie takiego rdzenia to wymagające zajęcie i osoba się tym zajmująca byłaby dość bystra, by trafić do odpowiedniego działu forum. Myślę też, że jest to na tyle ciekawe, że taka osoba nie marnowałaby swojego czasu, żeby pisać nieznajomemu, szukającemu podstawowych informacji na forum, że jej zainteresowania są "zasrane".

Link to post
Share on other sites

@Szatkus dzięki za odpowiedź :) Jeśli przy okazji znasz jakiś kurs C który mógłbyś polecić, to się nie obrażę :) @Ragnar Panu wesołkowi, dziękujemy.

 

Ja programuje w PHP, HTML, CSS, JS a C ucze się od jakoś roku i używam do tego płytki EvB 5.1. Zamiast całej płytki EvB która jest roche droga możesz kupić zwykła płytkę stykową, do tego procesorek i programator na USB.

 

 

Do tego szczerze polecam tą książke: http://helion.pl/ksiazki/mikrokontrolery-avr-jezyk-c-podstawy-programowania-wydanie-ii-poprawione-i-uzupelnione-miroslaw-kardas,a_02xx.htm. Wytłumaczone jest tam dosłownie wszystko, idealny start nawet dla totalnego laika. 

 

Co można robić? Np: sterowanie PWM, obsługa diod RGB, obsługa wyświetlaczy siedmiosegmentowych, obsługa wyświetlaczy LCD, obsługa czujników temperatury, podczerwień... Innymi słowy  - wszystko co Ci do głowy wpadnie. Ja teraz kończę prace na własnym sterownikiem do chłodzenia wodnego - odczyt RPM, sterowanie PWM wentylatorami, temperatury itp. 

 

Ciekawa sprawa, jeśli ktoś lubi i ma czas  :)

Link to post
Share on other sites
  • 3 miesiące temu...

Ja bym polecał iść w dwie technollgie internetowe. Albo w PHP albo w java script. Jak się je zna to jest bardzo łatwo  z pracą bo firmy szukają ludzi, który się na nich znają. Nie ma sensu raczej zapisywac się na stacjonarne kursy. w sieci jest wszystko. Na przykład strefa kursów oferuje dwa ciekawe kursy:

http://strefakursow.pl/kursy/web_develop/kurs_php_-_zaawansowany.html

http://strefakursow.pl/kursy/programowanie/kurs_programowania_w_java_-_poziom_2.html

Sa to już kursy dla zaawansowanych. 

Link to post
Share on other sites

 

 

w sieci jest wszystko.
 

W sieci nie ma wszystkiego, to po pierwsze :):P po drugie, programowanie to nie wstawianie słówek tylko proces myślowy, jak nie ma tego drugiego to równie dobrze możesz bazgrać na papierze toaletowym. 

w sieci znajdziesz pewnie spis wszystkich metod, ale wykorzystywać je trzeba nauczyć się samemu.

Link to post
Share on other sites
  • 2 miesiące temu...

@Ragnar Lothbrok (MOIM zdaniem) pisze troche brutalnie o tym, ze w pewnym momencie programowanie Ci sie troche nudzi (wypalenie zawodowe) i mozna sie wziasc za troche bardziej skomplikowane rzeczy typu zaprojektuj i zaprogramuj.

 

NIe wazne jaki jezyk wybierzesz, wazne aby jechal z fajnymi projektami, ktore TOBIE dadza satysfakcje a uczelnianych profesorow, ktorzy informatyke uwazaja za matematyke i fizyke olej cieplym moczem. Szkola nie daje absolutnie nic - chyba, ze wczesniej wybrales kierunek jakim zmaierzasz bawic sie w przyszlosci - wtedy to takie przedstawienie ( w 90% nieaktualne). Prace trzeba wykonywac samemu albo z przyjaciolmi, ktorzy tez w tym siedza. tyle odemnie pozdr i do przodu.

  • Popieram 1
Link to post
Share on other sites
  • 1 miesiąc temu...

Nie no studia jak najbardziej są przydatne. Tu nie tylko chodzi o np. symulacje fizyczne ale też np. programy do grafiki (np rozmazywanie czy wyostrzanie), video (np. zielone tło, morphing itp) czy programowanie i optymalizacja silników do gier 3d - np. realistyczne zachowania wody i roślinności, odbicia świetlene. Grafik tylko robi model liścia a za jego odginanie na wietrze czy pod wpływem interakcji z innym obiektem odpowiedzialna jest fizyka wbudowana w silnik, który trzeba zaprogramować. Do tego dochodzi też statystyka czy nawet probabilistyka w przypadku np. jakichś raportów dla firm. I to nie tylko chodzi o wielkie aplikacje bo myślę że nie jeden bardzo dobry programista miałby problem z zaprogramowaniem nawet takiego pozornie prostego programiku jak SequoiaView czy WinDirStat które pokazują w formie klocków o różnej wielkości zajętość miejsca, przy czym zawsze są one poukładane wszystkie w prostokącie. Tu też jest matma.

 

Co do gier - wiadomo - 90% ludzi zainspirowanych grami którzy podchodzą do programowania zniechęca się widząc ile pracy trzeba włożyć i wiedzy trzeba mieć żeby robić nawet bardzo proste rzeczy. 

 

Moim zdaniem póki człowiek nie jest jeszcze ukierunkowany najlepiej iść w coś uniwersalnego, a jednocześnie dosyć łatwego, popularnego i perspektywicznego. Dlatego moim skromnym zdaniem najlepszym byłby Python - przystępny dla początkującego (nie tak jak stricte obiektowa java), łatwy do nauki (w odróżnieniu do C++), wymusza dobre nawyki w stylowaniu kodu, jest już dosyć popularny i bardzo uniwersalny - można na nim pisać zarówno strony internetowe jak i gry (nie tak jak silnie ukierunkowane PHP czy C++). W odróżnieniu też do C# jest multiplatformowy. Sporo już też widzę ogłoszeń o pracę dla Pythonistów za bardzo ładne pieniądze.

Edytowane przez doman18
Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...