Czy kontynuować naukę C++? Czego się uczyć?

0

Witam, parę lat temu w 1 klasie gimnazjum zaczęłam naukę podstaw C++ i zatrzymałam się na klasach, zrobiłam sobie dłużą przerwę, ponieważ jeszcze nie byłam pewna czy chcę się rozwijać w tym kierunku, ale teraz jestem zdecydowana. Skończyłam gimnazjum i idę do liceum, właśnie przypominam sobie materiał z C++ i zastanawiam się czy uczyć się dalej z C++(jestem na klasach) czy może zacząć podstawy java? Dodam, że nie uczyłam się innych języków, C++ jest moim pierwszym.
I ogółem skupiłam się tylko na programowaniu, nie uczyłam się nic o sieciach, systemach itp. ponieważ myślę że to mi jest nie potrzebne, w przyszłości chcę być programistą a nie informatykiem. Czy dobrze robię, że uczę się tylko z programowania? Czy na politechnice będzie głównie programowanie czy jednak inne rzeczy też będą takie jak sieci, systemy itp. I czy podczas studiów dziennych można pracować dorywczo np.w weekendy? może staż płatny?(ale chce mieć oczywiście czas na naukę)
Z góry dzięki za pomoc.

2
  1. Wiedza z zakresu sieci, systemów operacyjnych etc będzie ci potrzebna :)
  2. Zasadniczo kwestia klas / dziedziczenia / typów uogólnionych w C++ jest podobna jak w Javie więc myślę że warto ten zakres poznać w kontekście C++ a potem ogarnięcie tego w Javie nie będzie już problemem.
  3. Na studiach bardzo niewiele przedmiotów będzie związanych z programowaniem. Będą oczywiście projekty w ramach których trzeba będzie napisać jakiś system, ale nacisk będzie położony raczej na inne aspekty niż programowanie jako takie.
  4. W czasie studiów dziennych można normalnie pracować na 1/2 czy 3/5 etatu (chociaż raczej dopiero na 2 albo 3 roku), później na 4-5 roku spokojnie nawet na 4/5 albo i na cały etat (zależy jak się ułożą zajęcia na uczelni).
0
Shalom napisał(a):
  1. Wiedza z zakresu sieci, systemów operacyjnych etc będzie ci potrzebna :)
  2. Zasadniczo kwestia klas / dziedziczenia / typów uogólnionych w C++ jest podobna jak w Javie więc myślę że warto ten zakres poznać w kontekście C++ a potem ogarnięcie tego w Javie nie będzie już problemem.
  3. Na studiach bardzo niewiele przedmiotów będzie związanych z programowaniem. Będą oczywiście projekty w ramach których trzeba będzie napisać jakiś system, ale nacisk będzie położony raczej na inne aspekty niż programowanie jako takie.
  4. W czasie studiów dziennych można normalnie pracować na 1/2 czy 3/5 etatu (chociaż raczej dopiero na 2 albo 3 roku), później na 4-5 roku spokojnie nawet na 4/5 albo i na cały etat (zależy jak się ułożą zajęcia na uczelni).

Mało programowania przez pierwsze 3.5 roku, a później też? w takim razie na co będzie większy nacisk? Więc samemu trzeba się uczyć języków?(chociaż mi to nie przeszkadza - jestem samoukiem)

0

Programowanie to nie jest samo programowanie. Tak naprawde jesli mowisz, ze jestes na klasach, to jestes na etapie podstaw raczkowania.
Polecam post @Shaloma z tematu: Różnica pomiędzy zwykłym pisaniem, a zawodowym.
W skrocie mniej-wiecej taka wiedza jest potrzebna do normalnego kodzenia po 8h~ dziennie. Do tego wiekszosc ofert pracy dla C++ wymaga znajomosci systemow unixpodobnych, wiec tez by wypadalo nie sikac w majtki na widok terminala.

Pytasz czy zmieniac jezyk, moim zdaniem nie warto.
<Irony> C++ jest przeciez pieknym oraz jakze intuicyjnym jezykiem </Irony>
A tak bardziej na serio, te jezyki aktualnie najpopularniejsze sa z tej samej rodziny jezykow, wiec po nauczeniu sie C++ nie bedziesz miec problemow z przejsciem na Jave czy C#. Do tego C++ pozwala na pisanie w wielu paradygmatach i na wielu poziomach abstrakcji co tez sie przydaje.

Na co bedzie nacisk na studiach? Na naukowe zagadnienia zwiazane z IT, dodatkowo sporo matmy. Programowanie to rzemieslnictwo, a studia nie sa zawodowka po prostu.

0

OK, wielkie dzięki za pomoc. Wygląda na to, że muszę się wziąć za naukę :)
Pozdrawiam.

0

@Yukichan mało przedmiotów z serii "uczymy się języka X" ;) Takie to może 1-2 będą. Oprócz tego masz przedmioty typu Uczenie Maszynowe, gdzie niby programujesz, ale ważna jest tu sztuczna inteligencja którą zrobisz, a nie samo programowanie jakie takie ;) Ogólnie większość przedmiotów na studiach będzie z programowania korzystać jako ze "środku" a nie "celu".

1

Z baz danych też trzepią na studiach. Szybkie klepanie zapytań w SQL.

Przedmiotów "rzemieślniczych" miałem więcej niż piszesz... Wstęp do programowania, Programowanie w C, Programowanie w C++, Programowanie w Javie, Technologie sieci WEB, Bazy danych (jeśli SQL podchodzi pod to :D ), programowanie niskopoziomowe, programowanie funkcjonalne.

2
Yukichan napisał(a):

I ogółem skupiłam się tylko na programowaniu, nie uczyłam się nic o sieciach, systemach itp. ponieważ myślę że to mi jest nie potrzebne, w przyszłości chcę być programistą a nie informatykiem.

Sieciami i systemami operacyjnymi zajmują się administratorzy, nie informatycy. To tylko ludzie powszechnie używają tego słowa, bo nie wiedzą o co chodzi.
Upraszczając - informatyka to nauka, jej praktyczne zastosowanie to IT, programowanie to jedna z jego gałęzi. A na studiach jest więcej informatyki niż IT, co za tym idzie zazwyczaj więcej matematyki niż programowania.

0

Dzięki wszystkim za odpowiedzi, mam jeszcze pytanie. Tak się zastanawiam, niektórzy idą na studia informatyczne bez żadnej wiedzy o programowaniu, ale radzą sobie, bo są dobrzy z maty i fizyki, no ale czy studia wystarczą takim osobą aby po ukończeniu lub w czasie studiów mogli pracować jako programiści? Przecież nauka języka na dobrym poziomie trochę trwa, a na studiach tak jak pisaliście jest dużo matmy i fizyki, więc trzeba się dużo samemu uczyć a do tego jeszcze są przecież inne przedmioty. Więc jak to wygląda z takimi osobami jak ukończą studia? Czy są na tyle dobrze przygotowani aby iść(znaleźć) pracę jako programiści? Ja oczywiście uczę się już teraz.

0
Yukichan napisał(a):

Dzięki wszystkim za odpowiedzi, mam jeszcze pytanie. Tak się zastanawiam, niektórzy idą na studia informatyczne bez żadnej wiedzy o programowaniu, ale radzą sobie, bo są dobrzy z maty i fizyki, no ale czy studia wystarczą takim osobą aby po ukończeniu lub w czasie studiów mogli pracować jako programiści? Przecież nauka języka na dobrym poziomie trochę trwa, a na studiach tak jak pisaliście jest dużo matmy i fizyki, więc trzeba się dużo samemu uczyć a do tego jeszcze są przecież inne przedmioty. Więc jak to wygląda z takimi osobami jak ukończą studia? Czy są na tyle dobrze przygotowani aby iść(znaleźć) pracę jako programiści? Ja oczywiście uczę się już teraz.

Na studia idzie się nie tylko po to, żeby zdobyć wiedzę, ale po to, żeby nauczyć się przede wszystkim życia. Dlatego, w życiu istnieje coś takiego, jak organizacja własnego czasu - jeśli ktoś to dobrze opanuje, to na wszystko starczy mu czasu, a i jeszcze go trochę zostanie na inne rzeczy.
A odpowiedź jest prosta - Tak, jeśli wiedzą, co chcą dalej ze sobą robić.

0
Yukichan napisał(a):

Dzięki wszystkim za odpowiedzi, mam jeszcze pytanie. Tak się zastanawiam, niektórzy idą na studia informatyczne bez żadnej wiedzy o programowaniu, ale radzą sobie, bo są dobrzy z maty i fizyki, no ale czy studia wystarczą takim osobą aby po ukończeniu lub w czasie studiów mogli pracować jako programiści? Przecież nauka języka na dobrym poziomie trochę trwa, a na studiach tak jak pisaliście jest dużo matmy i fizyki, więc trzeba się dużo samemu uczyć a do tego jeszcze są przecież inne przedmioty. Więc jak to wygląda z takimi osobami jak ukończą studia? Czy są na tyle dobrze przygotowani aby iść(znaleźć) pracę jako programiści? Ja oczywiście uczę się już teraz.

Wszystko zależy od człowieka... Jego tempo uczenia się, motywacja, wymarzony zawód, ambicje, wstrzemięźliwość. To wszystko składa się na człowieka zdatnego do pracy. Miałem na studiach kolegę, który pierwszy komputer miał dopiero w technikum, ale był bardzo ambitny i wszystkie zadania wykonywał z dużą precyzją, na własną rękę uczył się języków, mało czasu potrzebował na ogarnięcie różnych tematów na studiach, potrafił naprawdę dużo rzeczy zapamiętać z wykładu, sumiennie chodził na wszystkie zajęcia. No ale... nie pił w ogóle alkoholu, nie dał się wyciągać na żadne popijawy/dyskoteki/imprezy, nie miał dziewczyny. Jak widać coś za coś :) Za to ma duże predyspozycje do bycia dobrym programistą, dla człowieka tak wszechstronnie uzdolnionego zawsze znajdzie się praca. Chociaż miał duże doświadczenie w różnych technologiach, to gościu jest miłośnikiem technologii webowych i pracuje w tym zawodzie...

Drugi kolega nic nie programował przed studiami, ale też nieźle ogarniał tematy, niestety wybrał specjalność sieci komputerowe, chociaż obecnie jest web developerem. Dość dużo imprezował, ma teraz żonę i dziecko. Z umiejętnościami może aż tak daleko nie zaszedł, ale jako człowiek się spełnił ;)

0

Jeszcze raz dzięki za odpowiedzi, z ciekawości przeglądałam oferty pracy dla programisty c++ i java aby trochę się zorientować na co jest aktualnie zapotrzebowanie i jestem troszkę zaskoczona bo większość ofert to java(android) a c++ tylko kilka... w mojej miejscowości. Dlaczego tak jest? Przecież java to głównie aplikacje i gierki na komórki i tablety(chyba), nie wiem jak to wygląda za granicą, tak samo? Zarobki są podobne? Więc skoro jest zapotrzebowanie na programistów java to nie lepiej się tego uczyć? Oczywiście nie wiem jak to będzie za 5 lat, może zapotrzebowanie się zmieni? A przerzucenie się z C++ na Java też chybaby trochę zajęło. Mi się wydaje, że C++ daje więcej możliwości, no ale przecież trzeba się uczyć tak aby później z tego były największe korzyści. Jeślibym zagłębiła się w c++, a później nie mogła wykorzystać tej wiedzy, to ogółem czas poświęcony na naukę byłby stracony, a po co się przerzucać jak można od razu uczyć się danego języka - teraz rozpatruje to bardziej pod względem pracy i zarobków, ale to tylko moje przypuszczenia, ponieważ nie znam się na tym, dlatego proszę o waszą opinie.
A i bardzo mnie interesuje praca za granicą, jak to tam wygląda z C++ i java?

0

C++ to obecnie głównie gry komputerowe, ewentualnie rozwój starych aplikacji użytkowych, których przepisanie jest zbyt kosztowne. Java to nie "głównie gierki na komórki i tablety". Praca dla programistów Javy w firmach to aplikacje biznesowe. W Javie też można oprogramowywać strony internetowe (na trochę wyższym poziomie niż te w PHP). Nigdy nie wiesz co się przyda. Zmień nastawienie, ucz się wszystkiego. Student też mając Inżynierię Oprogramowania sobie myśli "UML mi się do niczego nie przyda, szkoda się go uczyć", przychodzi do firmy programować np. w Javie, a tutaj musi mieć doświadczenie w projektowaniu oprogramowania, czytaniu i tworzeniu dokumentacji, no i co ma zrobić? Tak... pluć sobie w brodę. Nie zamykaj sobie drogi, nie wmawiaj sobie, że coś Ci się w przyszłości nie przyda. Poznanie kilku wiodących technologii na pewno Cię nie ogłupi. Jeśli chcesz pracować dla kogoś - ucz się tego, co może być wymagane, teraz to Java/C#. Jeśli chcesz mieć największe korzyści - załóż własną działalność gospodarczą, stwórz niebanalną aplikację na wybraną platformę i programuj w czym Ci się podoba (byle wspierało wybraną platformę). Tylko, że to drugie jest bardziej ryzykowne, bo nie wiesz czy Twoja aplikacja się przyjmie ;) Na razie powinnaś się skupić na nauce programowania w czymkolwiek, postaw sobie zadania i je realizuj. Myślenie o pracy zostaw sobie na później. Jak już będziesz wiedziała w co się pakujesz (poczujesz kilka języków na własnej skórze), to będziesz wiedziała co chcesz w życiu robić.

Informatyk na swojej ścieżce rozwoju poznaje przeróżne zagadnienia mniej lub bardziej. Obróbka filmów, dźwięku, programowanie, ustawienia systemu operacyjnego, technologie używane przy tworzeniu stron internetowych, obsługa programów biurowych, język powłoki systemu operacyjnego, wszystko co mu jest potrzebne w danej chwili od komputera. To czy sobie zmontuje film raz, czy dwa razy w życiu nie ma znaczenia. Tego co się nauczył już mu nikt nie zabierze. Albo jak zrobi stronę internetową tylko dla siebie, ze swoim portfolio, to jest zysk dla niego i nie musi koniecznie żenić się z PHP i robić strony za grosze dla klientów jakiejś firmy. Tak samo, Ty nie musisz wychodzić za C++, czy Javę, możesz poznać obie technologie. Zwłaszcza, że mogą one koegzystować - Java jest napisana w C++, w C++ możesz też pisać biblioteki dla Javy - http://stackoverflow.com/questions/3720563/access-c-shared-library-from-java-jni-jna-cni-or-swig - jeśli gdzieś brakuje Ci wydajności, funkcji itp.

1

Przecież java to głównie aplikacje i gierki na komórki i tablety(chyba)

hahahahahahaha :D :D
Java to głównie aplikacje webowe dla biznesu. Android i gierki na komórki to pewnie 1% rynku jeśli chodzi o Javę. Nie wiem gdzie patrzyłaś na te oferty, ale aktualnie większość ofert dla javy to:
JEE lub Spring, Hibernate lub JPA, Webservices
Ofert dla javy jest też dużo dużo więcej niż dla C/C++ bo i zastosowanie C/C++ jest dużo węższe. Nikt nie pisze aplikacji biznesowych w C++ bo się to czasowo nie opłaca.

0

OK, albo zostanę przy C++ i nieco później zacznę java albo będę uczyć się teraz obu. Podoba mi się bardzo branża gier na komputery i androidy(ale nie wiem czy to jest to co chce robić, ale wydaje mi się bardzo interesujące), więc rzeczywiście po co zamykać sobie drogi, tym bardziej że te dwa języki na pierwszy rzut oka wyglądają nawet podobnie, a w C++ jak na razie bardzo lubię wbijać kody, więc i java być może mi się spodoba.
Dziękuje za pomoc i pozdrawiam.

1

C++ powinnaś się uczyć maks. rok (może nawet pół), potem warto poznać inne języki / środowiska programowania (web, mobile, aplikacje biznesowe).
Np. Java lub C#.

Potem jakiś język skryptowy (lub kilka) - w zależności od potrzeb:

  • Python / Jython / IronPython
  • VBScript / Power Shell / bash
  • Groovy / Grails (web) / Griffon (GUI)
  • Lua (gry)

itd.

Jeśli potem stwierdzisz, że wolisz programować telewizory, symulacje naukowe, GPU lub high-endowe gry, to wróć do C++. Wtedy być może przyda się też ASM.
I potwierdzam, pracy dla programistów C++ jest o wiele mniej niż dla Javy (ale głównie w Polsce, zagranicą jest trochę inaczej):

(indeed.com, 2013/03)

  • C#: 26121 (ofert)
  • javascript: 23368
  • java: 20677
  • c++: 12816
  • php: 12626
0

Nie polecam nauki dwóch języków naraz, bo później łatwo wszystko może się pomieszać i jest problem. Ja teraz uczyłem się C# i Javy jednocześnie i znam tak sobie oba języki, wcześniej uczyłem się C++ i pamiętam praktycznie wszystko czego się uczyłem.
Lepiej najpierw nauczyć się podstaw jednego języka - stwierdzić, czy iść w to dalej, albo zmienić na podstawy innego języka i znowu walnąć if'a :). Ewentualnie nauczyć się jednego języka dobrze, a później uczyć się reszty - Java po C++ wygląda na naprawdę łatwą. Spróbuj też pouczyć się języków z różnymi paradygmatami programowania, bo to pozwoli na różne spojrzenia na dany problem.

1

Uzupełnienie tematu - proste narzędzie do badania rynku pracy:
http://www.indeed.com/jobanalytics/jobtrends?q=lua,+scheme,+actionscript,+erlang,+groovy,+scala,+clojure&l=

(wystarczy wstawić swoje języki, technologie)

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