Znam podstawy C++. Czego się uczyć dalej do pracy w firmie programistycznej?

Odpowiedz Nowy wątek
Zimny Pomidor
2016-01-03 08:54
Zimny Pomidor
0

Witam, doszedłem do momentu w którym nie wiem czego się dalej uczyć. Umiem jeszcze wciąż nie wiele ale nie wiem na czym teraz powinienem się skupić. Sam język C++ mam już w miarę ogarnięty (klasy, funkcje wirtualne, szablony, wyjątki itd.), a jeśli chodzi o znajomość bibliotek to na chwilę obecną znam tylko tylko częściowo bibliotekę standardową (strumienie, wielowątkowość, pojemniki, funkcje matematyczne itd.). Czego powinienem się uczyć teraz? Jeśli biblioteki/frameworki to najlepiej jakie? Jeśli inny język to jaki? W przyszłości chciałbym móc pracować w jakiejś dobrej firmie lub zespole. Na razie próbowałem zabrać się tylko za Open GL i WinAPI ale nie wiem czy by się one do czegoś przydały (wydały mi się być dość przestarzałe).

Pozostało 580 znaków

2016-01-03 09:17

Rejestracja: 4 lata temu

Ostatnio: 3 lata temu

Lokalizacja: Łącko

0

Dołączam się do pytania, uczę się programowania od dwóch miesięcy i jestem w tym samym momencie co kolega. Co warto się uczyć?

Pozostało 580 znaków

2016-01-03 09:22

Rejestracja: 5 lat temu

Ostatnio: 1 minuta temu

Lokalizacja: Łódź

0

Skup się na nauce programowania.Język, biblioteki to tylko narzędzia, tak jak młotek, śrubokręt itp, ale trzeba jeszcze wiedzieć jak uderzać, by równo wbić gwoździa (tu trzeba treningu), oraz wiedzieć w którym miejscu wbijać tego gwoździa, żeby konstrukcja trzymała się właściwie (tu trzeba wiedzy i doświadczenia). Więc ucz się, pisz programy, ucz się algorytmów.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie

Pozostało 580 znaków

2016-01-03 09:40

Rejestracja: 7 lat temu

Ostatnio: 9 miesięcy temu

0

Pisać swoje programy, gry etc. W międzyczasie można czytać "Czysty kod".

Pozostało 580 znaków

2016-01-03 11:16

Rejestracja: 12 lat temu

Ostatnio: 1 minuta temu

6

Obsługi debuggera. Bez tej umiejętności to nawet na praktyki bym nie przyjmował.
O zgrozo wielu młodych, przekonanych o swojej umiejętności programowania, nawet nie ma pojęcia co to za narzędzie.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
ja bym to uogolnił - umiejętność debugowania, nie zawsze mozna uzyc debugera (z różnych przyczyn) ale co do zasady - to racja. - kaczus 2016-01-03 11:46

Pozostało 580 znaków

2016-01-03 11:34

Rejestracja: 6 lat temu

Ostatnio: 2 godziny temu

0

Zacznij wykorzystywać w swoich programach boosta http://www.boost.org/

Pozostało 580 znaków

2016-01-03 13:03

Rejestracja: 4 lata temu

Ostatnio: 13 godzin temu

0

Ja bym dodał do tego jeszcze umiejętność obsługi narzędzia kontroli wersji typu GIT/SVN (co kto woli) jakieś bug/issue trackery. Warto znać i umieć używać wzorce projektowe. No i może dla niektórych to dziwne (ale wierzcie mi znam takie przypadki które nie umieją tego) warto znać bardzo dobrze środowisko w jakim się pracuje. Czyli obsługa IDE oraz systemu.

Pozostało 580 znaków

2016-01-03 15:42

Rejestracja: 4 lata temu

Ostatnio: 3 lata temu

Lokalizacja: Łącko

0

A do obsługi aplikacji od strony graficznej, czy warto jeszcze uczyć się Windows Forms czy dać sobie spokój i od razu WPF, bo tydzień temu zacząłem WF ale nie wiem czy to ma sens, może później jak będę miał czas. Dałem sobie rok na naukę i w 2017 muszę iść gdzieś do pracy, albo chociaż na staż, jak już wspominałem zacząłem 2 miech temu i uczę się jeszcze programowania webowego(PHP i JS) na szczęście html i css znam już.

i w tym 2017 dostaniesz support 15-letniego projektu, napisanego w tym, co było modne w 2002 :) - więc z tym „dawaniem sobie spokój” to nie zawsze się sprawdza, bo nigdy nie wiesz na co właściwie trafisz. - Azarien 2016-01-03 17:45
No tak ale jak na początku wysyłając CV napisze że nie znam WF i oni mnie wezmą do pracy na staż to chyba nie dostane projektu w technologi której nie umiem. Ogólnie wiem że to może mi się przydać, tylko czy warto na początek zacząć od WF czy WPF? - winiardesign 2016-01-03 17:51
nie należy się przyznawać do tego czego nie znasz, póki o to nie zapytają :-) - Azarien 2016-01-03 17:54
Windows Forms i C++? To już lepiej ucz się Qt : / - satirev 2016-01-03 18:01
Możesz uczyć się winforms, mozesz QT, ucz się tego co bedzie lepsze do zastosowania w projekcie który tworzysz. Te biblioteki w jakiejś mniej lub bardziej okrojonej formie - jesli bedziesz programował pod windows bedziesz musiał poznac, a jesli nie, to poznasz zasadę działania różnych frameworków, które trochę różnią się od siebie, ale nie na tyle, by znając jeden, nie umiec znaleźć w dokumentacji jak zrobić coś w innym. Ale fakt - potrzebne do tego jest doświadczenie i poznanie kilku frameworków. - kaczus 2016-01-03 18:42

Pozostało 580 znaków

2016-01-03 22:16

Rejestracja: 4 lata temu

Ostatnio: 18 minut temu

0

To i ja już tutaj zapytam, żeby nie tworzyć niepotrzebnego wątku.

Próg wejściowy c++/Qt...?
Od kilku miesięcy uczę się w wolnym czasie ( pracuję na pełny etat w całkowicie niezwiązanej, technicznej dziedzinie-> za kilka miesięcy chcę ją jednak porzucić) i przeszedłem drogę do miejsca w którym jestem, od pisania podstawowych programików konsolowych na podstawie książek, szukania informacji w tutorialach i rozwiązywania zadań na stronach, poprzez próbę forsowania Visual Studio jako IDE ( który to odpuściłem po ciężkich próbach, gdy odnalazłem i zainstalowałem Qt-> dobre rozwiązanie;)), poznawanie IDE, aż do wreszcie kilku ostatnich tygodni, gdy postanowiłem, że gdy będę robić następne projekty, to będą pokazywały coś konkretnego ( co w domyśle mógłbym później pokazać na ewentualnej rozmowie).
Już po tym etapie, ostatnio była to gra w oparciu o QGraphicsScene ( którą na ten moment zostawiam, mimo tego, że najtrudniejsza część jest już za mną i reszta byłaby oparta o to co mam, jednak wypadałoby żebym dodał do niej serwer i możliwość multiplayer- sam sens rozgrywki 1vs1 i odkrywania planszy przeciwnika tego wymaga, a o tych rzeczach nie wiem na razie nic- do douczenia się;)), a aktualnie ( po zaktualizowaniu swojego windows 7 do wyższej wersji), QtQuick/QML ( nad którym teraz właśnie siedzę) i w końcu pisanie aplikacji na swojego smartphona ( czego mi bardzo brakowało, ale nie mogłem pozwolić sobie wcześniej na grzebanie z windowsem w swoim starym laptopie ( używałem go do pracy)- długa i nieistotna historia).

Jak było/jest u was? ( Pytanie jest raczej kierowane do samouków, jeśli przeczytają to tacy i będzie im się chciało odpowiedzieć).
Co potrafiliście, gdy udało się wam załapać do pierwszej pracy? Czy był to staż, czy może posada młodszego programisty? Jakie były wasze pierwsze zadania ( czy też, czym zajmujecie się na co dzień jako programiści c++? pytam trochę w kontekście normalnego dnia roboczego).

Jeszcze może pytanie trochę bardziej światopoglądowe, bo co osoba to opinia, ale jak to jest według was z zaczynaniem kariery w tej branży z c++? Chodzi mi o to, że ogromnie dużą przewagę w ofertach pracy ( junior/staż) ma właśnie java/c# ( c# mniej), przewija się też cały czas w nowych wątkach o rady co do wybrania języka, java. W większości przypadków z c++ trafiałem na ogłoszenia o poszukiwaniu seniora, regurala ( i stąd też ten cały post).

Mniej lub bardziej mgliste pojęcie o tym, co powinienem potrafić, mam ( na podstawie ogłoszeń o pracę i wątków tutaj na forum, albo nawet chociażby tego tematu).
Wiem też, że na większość z tych moich pytań, odpowiedzi można znaleźć w kilku innych wątkach ( co zrobiłem), ale na którymś etapie uczenia się, tego rodzaju pytania muszą jednak paść, z nadzieją na jakąś odpowiedź skierowaną bezpośrednio do pytającej osoby.
Zmianę planuję za kilka miesięcy i na ten moment oszczędzam ile mogę ( liczę się z możliwością, że na samym początku może to być jakiś staż ( bezpłatny), więc jakiś komfort psychiczny/zaplecze z finansami jednak muszę mieć, na wszelki wypadek).

I na koniec, jakikolwiek odzew by nie był, dzięki za odpowiedź.

Pozostało 580 znaków

2016-01-04 20:40

Rejestracja: 8 lat temu

Ostatnio: 1 rok temu

Lokalizacja: Białystok

2

@GregoryI @winiardesign mi na początek udało się dostać na młodszego programistę C++ w rozpoczynającym wtedy działalność startupie. Oficjalnie były to praktyki dla uczelni, praktycznie - junior c++ developer.

Umiałem niewiele - z biblioteki standardowej kontenery, algorytmy, coś tam z iostreamów. Programowanie generyczne w bardzo stopniu podstawowym, na zasadzie "dzięki template nie trzeba pisać 10 funkcji co wyglądają tak samo", boosta nie używałem nigdy ale wiedziałem, że takie coś jest i mniej więcej co zawiera. Miałem podstawową wiedzę o obsłudze gita, względnie dobre obeznanie w algorytmach, trochę zadań ze SPOJa zrobionych, z napisanych rzeczy, którymi mógłbym się pochwalić jakieś gry w życie, proste gierki w konsoli, projekty z algorytmów i struktur danych na studia. Trochę wiedziałem o Qt, na zasadzie, że kiedyś napisałem grę wyścigową i tetrisa, ale bez wgłębiania się szczegółowo w mechanizmy. Nie wiedziałem wtedy za bardzo co to jest te całe C++11/C++14 i co takiego fajnego przynosi.

Zaczynałem z projektem który był praktycznie na etapie narodzin - główny i jedyny wtedy dev rozpisał kilkadziesiąt bazowych klas na zasadzie "tu są pliki nagłówkowe i deklaracje metod, które będą potrzebne bazując na dokumentacji". Na początek dostałem wtedy zadanie ogarnięcia frameworka do testów jednostkowych - o testach tych wiedziałem wtedy tyle, że istnieją - który był do projektu podpięty, następnie przez jakiś czas pisałem testy i implementację najprostszych klas, które były nam potrzebne - specyficzne kody opisujące system, pewne struktury, nic skomplikowanego.

Przez kolejne tygodnie ogarniałem boosta w zakresie który był potrzebny do projektu, do tego poznałem bibliotekę libpqxx - api dla ​PostgreSQL, oraz bibliotekę POCO - http://pocoproject.org/, która uzupełniała C++ o mechanizmy sieciowe, obsługę systemów plików, kompresję i parsowanie chyba CSV w jakimś zakresie.

Na co powinieneś zwrócić uwagę, moim zdaniem:

  • C++11/C++14/C++17 - to dzięki zmianom zawartych w nowych wersjach języka wraca on do łask, jak najszybciej naucz się wykorzystywać jego możliwości
  • programowanie generyczne, programowanie funkcyjne z użyciem szablonów - po roku w naszym projekcie pojawiły się tego kosmiczne ilości robiące różnorakie cuda na etapie kompilacji
  • Boost jest niezbędny z czasem,
  • testy jednostkowe - C++ nie ma takich cudów jak java, ale ogarnij sobie libki do testów jednostkowych z Boosta albo od Google
  • znajomość systemów kontroli wersji, chociażby git'a, stawia Cię wyżej od większości studentów pierwszych dwóch lat studiów informatycznych
  • narzędzia do budowania - Make, Makefile, Cmake - u mnie było tak, że żadne IDE sensownie nie radziło sobie z kodem projektu gry się rozrósł (tu trochę nasza wina, bo modularyzacja była odkładana długi czas), więc finalnie pisało się w Eclipsie/QtCreatorze a kompilowało z konsoli. Z czasem stało się to nawet fajne, bo dostaliśmy zewnętrzną maszynę, na której kompilacja trwała rząd wielkości szybciej niż na kompie deweloperów i nie było zabawy z podpinaniem zdalnej kompilacji pod IDE.
  • znajomość języka skryptowego jest zawsze spoko - Python, Perl, Bash - znając jeden z nich nie raz oszczędzisz sobie czasu automatyzując zadania.
  • wzorce projektowe ogólnie

Jakbyś miał jakieś pytania - pisz.
J.

PS Dwa ciekawe linki - https://www.quora.com/What-ar[...]efficient-ways-to-master-C++# oraz post na 4p - https://4programmers.net/Forum/1184170

edytowany 1x, ostatnio: Jadeszek, 2016-01-04 21:00

Pozostało 580 znaków

transcient
2016-01-04 22:05
transcient
0
Zimny Pomidor napisał(a):

Witam, doszedłem do momentu w którym nie wiem czego się dalej uczyć. Umiem jeszcze wciąż nie wiele ale nie wiem na czym teraz powinienem się skupić. Sam język C++ mam już w miarę ogarnięty (klasy, funkcje wirtualne, szablony, wyjątki itd.), a jeśli chodzi o znajomość bibliotek to na chwilę obecną znam tylko tylko częściowo bibliotekę standardową (strumienie, wielowątkowość, pojemniki, funkcje matematyczne itd.). Czego powinienem się uczyć teraz? Jeśli biblioteki/frameworki to najlepiej jakie? Jeśli inny język to jaki? W przyszłości chciałbym móc pracować w jakiejś dobrej firmie lub zespole. Na razie próbowałem zabrać się tylko za Open GL i WinAPI ale nie wiem czy by się one do czegoś przydały (wydały mi się być dość przestarzałe).

Z pełną pewnością gówno wiesz, bowiem całe programowanie sprowadza się właśnie do tego WinApi,
ewentualnie czegoś równoważnego, co i tak będzie w 90% tożsame...

Pozostało 580 znaków

Odpowiedz

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

Robot: Semrush