Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Od czego zacząć? Jak zacząć? Ile to wszystko zajmię? Pare pytań od początkującego.


Rekomendowane odpowiedzi

Opublikowano

Siemanko, planuje zacząć naukę programowania. Słyszałem, że całość najlepiej rozpocząć od C++. I teraz pytanie do doświadczonych ludzi, którzy już naprawdę mogą doradzić jaką drogą iść.

1. Czy zaczęcie od C++ to dobry wybór?

2. Z jakich materiałów korzystać na początek? (Wiem, że w tym dziale są materiały ale chciałbym konkretnie podane, już testowane, sprawdzone i przyjazne dla początkującego)

3. Na co dalej się przerzucać? Jaką drogą iść by znaleźć dobrą pracę i żeby nie mieć dużej konkurencji.

4. Czy po 2/3 latach intensywnej nauki będę w stanie robić bardziej zaawansowane projekty?

5. Czy pójście w programistykę to wgl dobry pomysł? Z tego co wiem jest niż i jest szansa na przebicie się.

 

 

Like dla dobrych duszyczek udzielających pomocy. :)

Opublikowano

1.dobry

2.tego jest mnóstwo , od siebie mogę polecić Język C++. Szkoła programowania. Wydanie VI oraz C++. Przewodnik dla początkujących.

3.poznawaj różne biblioteki, algorytmy, struktury, bierz udział w jakiś projektach open-source, konkurencja będzie zawsze, nie ważne co wybierzesz, a jeśli jesteś w czymś dobrym to znajdziesz dobrą pracę

4.zależy co dla Ciebie znaczy "bardziej zaawansowane", ale raczej nie

5.dobry, jeśli to lubisz i Cię to jara

 
Opublikowano

C++ jest skomplikowany, IMO lepiej zacząć od np Pythona.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

C++ jest skomplikowany, IMO lepiej zacząć od np Pythona.

 

Widziałem wiele języków programowania, ale żaden nie tłumaczył tak dobrze początków jak C++. Typy danych, obiektówka itd. Może dlatego, że jest właśnie skomplikowany - nie bez powodu.

 

­

pyhvh7E.png


 


Opublikowano

Dłubałem w C++ już kiedyś, jakieś podstawy typu kalkulator czy jakieś menu. Do jakiego momentu brnąć w C++? Co muszę umieć, żeby zacząć rozwijać inne języki?

Opublikowano

Dłubałem w C++ już kiedyś, jakieś podstawy typu kalkulator czy jakieś menu. Do jakiego momentu brnąć w C++? Co muszę umieć, żeby zacząć rozwijać inne języki?

 

A po co Ci inne języki? Co chcesz robić?

 

­

pyhvh7E.png


 


Opublikowano

I tu jest dobre pytanie. Chciałbym właśnie poznać więcej języków i wiedzieć jakie mają zastosowanie aby móc potem wybierać w czym najlepiej się czuje.

Opublikowano

jak będziesz chciał się uczyć a pierwszą rzeczą która będziesz robił to patrzył na kalendarz ile czasu minęło od początku rozpoczęcia przez ciebie nauki to już sobie odpuść.

 

a tak to zacznij od czego chcesz, w większości języków podstawy są takie same, ty masz się nauczyć programować, a nie języka.

Opublikowano

 

 

Widziałem wiele języków programowania, ale żaden nie tłumaczył tak dobrze początków jak C++. Typy danych, obiektówka itd. Może dlatego, że jest właśnie skomplikowany - nie bez powodu.

 

­

 

 

Mógłbyś rozwinąć? Uargumentować?

 

 

Na pewno C++ tłumaczy lepiej wskaźniki, bo w innych jezykach ich po prostu nie ma :P Obiektówka? - są języki bardziej spójne i bardziej obiektowe.

 

Python ma prostą i przejrzystą składnię oraz wymusza czytelne formatowanie kodu co pozwala się skupić na tym co na początku najważniejsze, czyli samych koncepcjach programowania, a nie na poznawaniu skomplikowanej składni. Jak już ktoś chce poprogramować w miarę niskopoziomowo to chyba lepsze czyste C.

 

@Patrykos17

 

 

 

Co muszę umieć, żeby zacząć rozwijać inne języki?

 

Nie musisz umieć jednego języka, by móc się uczyć drugiego - języki programowania są od siebie niezależne i samowystarczalne - oczywiście kopiują i zapożyczają od siebie nawzajem pewne koncepty, dzięki czemu każdego kolejnego języka jest się łatwiej nauczyć, ale nie ma dużego znaczenia kolejność nauki (poza tym, że warto stopniować poziom trudności - łatwiej przyswajasz i mniejsza szansa, że się zniechęcisz).

 

Ja bym polecał taką ścieżkę (jak ktoś nie ma konkretnego celu):

 

1. Python - lekkie wprowadzenie do programowania

2. C - załapanie mechanizmów niskopoziomowych (jak ktoś chce może też się pobawić asm)

3. Java, C# - porządna obiektówka

4. Jakiś język funkcyjny dla poszerzenia horyzontów - Scala, Clojure, F#, Haskell itp

 

Oczywiście jeśli masz bardziej skonkretyzowane plany to ta droga może wyglądać zupełnie inaczej, do webu przyda się HTML5, CSS3 i JavaScript, jak chcesz robić gry AAA (jak każdy dzieciak) to C++ jednak też się przyda ;)

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

I tu jest dobre pytanie. Chciałbym właśnie poznać więcej języków i wiedzieć jakie mają zastosowanie aby móc potem wybierać w czym najlepiej się czuje.

C++, Java, Python itp to języki ogólnego przeznaczenia, w każdym z nich możesz zrobić to samo

RAsfepN.png
Opublikowano

@Patrykos17

 

Jeśli chodzi o Pythona to możesz na początek przerobić kurs: https://www.codecademy.com/learn/python

 

Często polecane są: http://learnpythonthehardway.org/book/, http://www.diveintopython.net/ i http://www.diveintopython.net/

 

No i jest jeszcze bardzo dobry, oficjalny tutorial: https://docs.python.org/2/tutorial/

 

Potem to już tylko dokumentacja na https://www.python.org/

 

Obecnie rozwijany jest zarówno Python 2 jak i Python 3, ale nie przejmuj się tym - po nauczeniu jednego przesiadka na drugi to chwila (materiałów do nauki chyba jest nadal więcej dla Pythona 2).

 

Najlepsze IDE do Pythona to PyCharm - jest darmowa wersja community: https://www.jetbrains.com/pycharm/download/

 

Z materiałów po polsku to te mi na szybko przychodzą do głowy (aczkolwiek lepiej uczyć się z angielskich źródeł):

https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie

http://uoo.univ.szczecin.pl/~jakubs/news/

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

 

 

 

Widziałem wiele języków programowania, ale żaden nie tłumaczył tak dobrze początków jak C++. Typy danych, obiektówka itd. Może dlatego, że jest właśnie skomplikowany - nie bez powodu.

 

­

 

 

Mógłbyś rozwinąć? Uargumentować?

 

 

Na pewno C++ tłumaczy lepiej wskaźniki, bo w innych jezykach ich po prostu nie ma :P Obiektówka? - są języki bardziej spójne i bardziej obiektowe.

 

Python ma prostą i przejrzystą składnię oraz wymusza czytelne formatowanie kodu co pozwala się skupić na tym co na początku najważniejsze, czyli samych koncepcjach programowania, a nie na poznawaniu skomplikowanej składni. Jak już ktoś chce poprogramować w miarę niskopoziomowo to chyba lepsze czyste C.

 

@Patrykos17

 

 

 

Co muszę umieć, żeby zacząć rozwijać inne języki?

 

Nie musisz umieć jednego języka, by móc się uczyć drugiego - języki programowania są od siebie niezależne i samowystarczalne - oczywiście kopiują i zapożyczają od siebie nawzajem pewne koncepty, dzięki czemu każdego kolejnego języka jest się łatwiej nauczyć, ale nie ma dużego znaczenia kolejność nauki (poza tym, że warto stopniować poziom trudności - łatwiej przyswajasz i mniejsza szansa, że się zniechęcisz).

 

Ja bym polecał taką ścieżkę (jak ktoś nie ma konkretnego celu):

 

1. Python - lekkie wprowadzenie do programowania

2. C - załapanie mechanizmów niskopoziomowych (jak ktoś chce może też się pobawić asm)

3. Java, C# - porządna obiektówka

4. Jakiś język funkcyjny dla poszerzenia horyzontów - Scala, Clojure, F#, Haskell itp

 

Oczywiście jeśli masz bardziej skonkretyzowane plany to ta droga może wyglądać zupełnie inaczej, do webu przyda się HTML5, CSS3 i JavaScript, jak chcesz robić gry AAA (jak każdy dzieciak) to C++ jednak też się przyda ;)

 

 

Abstrachując argumentacje, powiedź mi lepiej dlaczego to C++ jest trudny na początku? 

 

­

pyhvh7E.png


 


Opublikowano

@Szymon2727

 

Ty tak serio?

  • ręczne zarządzanie pamięcią vs garbage collector,
  • statyczne typowanie vs dynamiczne typowanie,
  • kompilacja vs interpreter,
  • konieczność samodzielnego dbania o dobre formatowanie kodu vs formatowanie wymuszone przez język (nie nabierzesz w Pythonie złych nawyków),
  • o braku wygodnego systemu modułów (chyba, że jest już, nie jestem na bieżąco), różnych sposobach przekazywania obiektów, licznych pułapkach i niekonsekwencjach już rozpisywał się nie będę bo nie siedzę w tym języku.
C++ to niewątpliwie bardzo szybki i potężny język, ale nazywanie go łatwym to przejaw ignoracji - myślę, że kilku wymiataczy C++ z tego forum się z tym zgodzi.

 

Poza tym:

Może dlatego, że jest właśnie skomplikowany - nie bez powodu.

­

Sam sobie przeczysz.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano
Jak już ktoś chce poprogramować w miarę niskopoziomowo to chyba lepsze czyste C.

 

https://www.youtube.com/watch?v=YnWhqhNdYyk

 

Ty tak serio?

  • 1. ręczne zarządzanie pamięcią vs garbage collector,
  • 2. statyczne typowanie vs dynamiczne typowanie,
  • 3. kompilacja vs interpreter,
  • 4. konieczność samodzielnego dbania o dobre formatowanie kodu vs formatowanie wymuszone przez język (nie nabierzesz w Pythonie złych nawyków),
  • 5. o braku wygodnego systemu modułów (chyba, że jest już, nie jestem na bieżąco), różnych sposobach przekazywania obiektów, licznych pułapkach i niekonsekwencjach już rozpisywał się nie będę bo nie siedzę w tym języku.

 

1. Co jest dobre, bo programista nie potrzebuje niani

2. Co jest dobre, bo dynamiczne typowania wprowadza tylko niepotrzebny zamęt i błędy trudne do wykrycia (większość niemożliwa do wykrycia w czasie kompilacji)

3. Co nie ma znaczenia

4. Co jest dobre, bo zrozumiesz po co jest czytelne formatowanie, a nie będziesz tego robił, bo tak ci narzucili. Ja się stopniowo tego uczyłem zauważając zalety i nie żałuję.

5. Co do modułów to się zgodzę, w C++ trochę można ponarzekać na brak tego i konieczność głowienia się nad rozbijaniem kodu (szczególnie w przypadku szablonów), ale co do drugiej części się nie zgodzę, bo każdy się różni od innego, ma swoje wady i zalety, które warto znać. Pułapki w większości przypadków są w miejscach, gdzie logika podpowiada, że coś może być nie tak. Czasem jest to tylko bardziej ukryte, ale jest to bardzo precyzyjnie i (wbrew pozorom) logicznie zdefiniowany język.

 

Podsumowując. C++ nie jest prosty (jest obszerny), ale uważam, że każdy programista powinien go znać na przeciętnym poziomie, bo jest to język, którego nauka pozwala zdobyć wiedzę szerszą niż w przypadku innych języków ze względu na jego skalowalność i wolność jaką daje użytkownikowi.

Opublikowano

@Sopelek997

 

W moim wylistowaniu kryterium była prostota (na życzenie @Szymon2727 ). Nie przeczę, że ręczne zarządzanie pamięcią, a w szczególności statyczne typowanie to bardzo przydatna rzeczy przy konkretnych zastosowaniach. Nie ma przecież jednego idealnego języka, każdy ma swój use case.

 

PS:

Ostatnie zdanie jakoś do mnie nie przemawia, ogólnie jestem uczulony na takie oświadczenia ;) A czemu każdy powinien znać C++ a nie np. Lispa? Tam masz jeszcze więcej swobody ;P Wiadomo - każdy język jest rozwijający, ale bez przesady - jak ktoś zna kilka języków ale tego jednego nie, to jest z definicji gorszym programistą?

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

@Szymon2727

 

Ty tak serio?

  • ręczne zarządzanie pamięcią vs garbage collector,
  • statyczne typowanie vs dynamiczne typowanie,
  • kompilacja vs interpreter,
  • konieczność samodzielnego dbania o dobre formatowanie kodu vs formatowanie wymuszone przez język (nie nabierzesz w Pythonie złych nawyków),
  • o braku wygodnego systemu modułów (chyba, że jest już, nie jestem na bieżąco), różnych sposobach przekazywania obiektów, licznych pułapkach i niekonsekwencjach już rozpisywał się nie będę bo nie siedzę w tym języku.
C++ to niewątpliwie bardzo szybki i potężny język, ale nazywanie go łatwym to przejaw ignoracji - myślę, że kilku wymiataczy C++ z tego forum się z tym zgodzi.

 

Poza tym:

Może dlatego, że jest właśnie skomplikowany - nie bez powodu.

­

Sam sobie przeczysz.

 

 

Jest różnica między skomplikowanym, a trudnym językiem do nauki na początku.

 

Czytam Twój post i doszedłem do jednego: C++ daje swobodę tymczasem Python już nie.

 

Programista, a zwłaszcza ten nowy powinien wiedzieć co się dzieje w kodzie, a nie mieć jakieś uproszczenia. Typowanie dynamiczne pokazuje, że istnieje wiele typów danych, oszczędza pamięć (porównaj short do double double long) - i takie coś pomaga wziąć oprogramowanie na logikę np. bool, char, string, float, int programista widzi, że dane to nie jest jakiś tam znaczek i daje mu się albo liczby albo literki - pomijając już, że nauka takich typów danych powinna wejść same w krew zarówno z rozmiarem jaki zajmują. Takiemu programiście z C++ dość dziwnie się podchodzi do np. JS patrząc, że wystarczy napisać var - i tyle. Zapomniałeś o jeszcze jednym, mamy np. 15 zmiennych, gdzie ogarniesz, która jest do czego? A no właśnie tutaj jest również taka mała zaleta, że łatwiej połapać się w 5 intach, 3 boolach i 7 charach niż w 15 varach, czyni to kod czytelniejszym.

 

Co do ręcznego zarządzania pamięcią to chyba ono najlepiej tłumaczy co i jak.

 

Jesteś tego zdania, że jak język pomija niektóre rzeczy to jest łatwiejszy. Hans nowy programista ma umieć pisać kod, a nie po prostu pisać. Są programiści co chcą łatwe języki, inni narzekają, że teraz programista ma mniej roboty, ja wolę stać po środku. Z resztą na te absolutne podstawy będzie dobry każdy język.

 

 

Pomijając już to, że to co wymieniłeś to są pierdoły i o ile nie powinno ich się znać to dla nowego, który chociaż trochę język zna nie zajmie mu to dużo czasu.

 

@Sopelek997

 

W moim wylistowaniu kryterium była prostota (na życzenie @Szymon2727 ). Nie przeczę, że ręczne zarządzanie pamięcią, a w szczególności statyczne typowanie to bardzo przydatna rzeczy przy konkretnych zastosowaniach. Nie ma przecież jednego idealnego języka, każdy ma swój use case.

 

PS:

Ostatnie zdanie jakoś do mnie nie przemawia, ogólnie jestem uczulony na takie oświadczenia ;) A czemu każdy powinien znać C++ a nie np. Lispa? Tam masz jeszcze więcej swobody ;P Wiadomo - każdy język jest rozwijający, ale bez przesady - jak ktoś zna kilka języków ale tego jednego nie, to jest z definicji gorszym programistą?

 

Bo to język uniwersalny? Nie chce dawać jakiejś diagnostyki na temat programowania, ale Java z C++ szczytują. Po co się uczyć Lipsa? Lepiej pouczyć się assemblera. Jak ktoś zna więcej języków to bardzo dobrze, ale czy część języków programowania nie robi tych samych rzeczy? Aplikacja z GUI, gry, algorytmy, operacje? Nie ma sensu uczyć się 10 języków, bo większość zawiera prawie te same elementy - lepiej być dobrym w jednym.

 

­

pyhvh7E.png


 


Opublikowano

Do nauki polecam C++ Szkola programowania wyd. VI. Sam ja zakupilem i naprawde bardzo duzo idzie sie nauczyc. Sam zaczynam od C++ co prawda dopiero koncze 3 rozdzial (mialem przerwe), ale niezle tlumacza ze szczegolami.

C++ jest poteznym jezykiem, mnostwo materialu duzo wkladu w nauke, ale to chyba dobrze :), preferuje takze od niego zaczac, ale to kwestia gustu.

Opublikowano

Do nauki polecam C++ Szkola programowania wyd. VI. Sam ja zakupilem i naprawde bardzo duzo idzie sie nauczyc. Sam zaczynam od C++ co prawda dopiero koncze 3 rozdzial (mialem przerwe), ale niezle tlumacza ze szczegolami.

C++ jest poteznym jezykiem, mnostwo materialu duzo wkladu w nauke, ale to chyba dobrze :), preferuje takze od niego zaczac, ale to kwestia gustu.

 

Kupowanie książek pod naukę programowania to idiotyzm, a sama produkcja to marnotrawstwo drzew - masz tego mnóstwo w internecie i lepiej jest się uczyć faktycznie w tym czym się siedzi, a nie przed książką, która za parę lat będzie np. przestarzała, bo zmieniły się standardy. Fakt, faktem łatwiej jest się uczyć z książki niż z jakiejś angielskiej dokumentacji, ale doprawdy książka jest dodatkiem niż faktycznym startem, którego najlepiej zacząć od jakiegoś internetowego kursu.

 

­

pyhvh7E.png


 


Opublikowano

 

Do nauki polecam C++ Szkola programowania wyd. VI. Sam ja zakupilem i naprawde bardzo duzo idzie sie nauczyc. Sam zaczynam od C++ co prawda dopiero koncze 3 rozdzial (mialem przerwe), ale niezle tlumacza ze szczegolami.

C++ jest poteznym jezykiem, mnostwo materialu duzo wkladu w nauke, ale to chyba dobrze :), preferuje takze od niego zaczac, ale to kwestia gustu.

Kupowanie książek pod naukę programowania to idiotyzm, a sama produkcja to marnotrawstwo drzew - masz tego mnóstwo w internecie i lepiej jest się uczyć faktycznie w tym czym się siedzi, a nie przed książką, która za parę lat będzie np. przestarzała, bo zmieniły się standardy. Fakt, faktem łatwiej jest się uczyć z książki niż z jakiejś angielskiej dokumentacji, ale doprawdy książka jest dodatkiem niż faktycznym startem, którego najlepiej zacząć od jakiegoś internetowego kursu.

 

­

Kto jak lubi, dla mnie lepszy start z ksiazki, po drugie majatku nie kosztuje.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...