Podstawy programowania.

223

Wstęp (podstawy programowania)

„Jak rozpocząć programowanie?” To standardowe pytanie zadawane przez wiele osób na forach internetowych dotyczące programowania. Miałem ten problem jakiś czas temu i szukałem również odpowiedzi na to pytanie. Teraz jednak wiem już, że zadawanie takich pytań na forum jest niesprawiedliwe i słusznie irytuje starszych użytkowników, którzy bardzo często odpowiadają: „sprawdź w Google” lub „istnieją setki takich tematów”. Piszę ten artykuł tylko dla osób, które chcą rozpocząć naukę programowania. Piszę to, ponieważ rozumiem tych ludzi – sam tak byłem …

Co sprawia największe problemy w rozpoczęciu nauki programowania?

Najcięższe są zdecydowanie trzy rzeczy (w rzeczywistości cztery, ale czwarta jest bardziej przerażająca – chociaż jest przydatna …). Te rzeczy to:

  • motywacja;
  • język programowania;
  • materiały;
  • matematyka

Motywacja

Cóż, motywacja jest zdecydowanie najtrudniejszym zagadnieniem, ponieważ bardzo łatwo jest się zniechęcić podczas nauki programowania … i to prawda – nie napiszę, że tak nie jest, ponieważ to tylko koniec. Nie możemy jednak zniechęcać się w żadnych okolicznościach. Czemu? Ponieważ tak nigdy nie nauczymy się programować. Wiem, że łatwo jest rozmawiać, ale już dawno się zniechęciłem i teraz tego żałuję. To prawda, że ​​po pewnym czasie wróciłem do programowania, ale w innym języku niż ten, w którym zacząłem i czuję się w nim znacznie lepiej.

Nie możemy podejść do programowania w ten sposób: „och, ta Java jest zbyt trudna – nie jestem w tym dobra”. Albo „Cholera! Nie rozumiem tych wskaźników – wylewam się na to. Zajmę się sieciami!” To podejście jest katastrofalne – ale wierz mi – zrobiłem to samo. Jeśli czegoś nie zrozumiałem, znalazłem temat zastępczy i po pewnym czasie byłem w ogniu w sieciach i systemach. Kupiłem książkę i buuum! Powiedziałem, że programowanie jest lepsze i przeprosiłem za kod. Silna motywacja jest naprawdę podstawą. Nie ma znaczenia, czy masz 12 czy 16 lat – aby dobrze programować, nie musisz zaczynać od ośmiu czy siedmiu lat. Zacząłem w wieku szesnastu lat i wciąż się uczę. Mam motywację, chcę to robić profesjonalnie i podoba mi się. Bądźmy szczerzy: programowania nie można się nauczyć. Naiwny jest tym, który twierdzi, że może. Nie można zapamiętać wszystkich tych funkcji i algorytmów. Wcześniej czy później sięgniemy po książkę, dokumentację lub kurs internetowy. Programista uczy się przez całe życie. Uczę się z książki, ale często patrzę również na kursy, które dają mi wiele, ponieważ w mojej książce nie ma interesujących informacji.

Utopijna wizja nauki programowania

Uczymy się programować, recenzując: komiksy, demotywatory, kwejk-a lub prowadząc aktywną dyskusję na Facebooku z przyjaciółmi lub gadu-gadu: „co słychać?!”. Nie! Zapomnij o tym jak najszybciej. Nigdy nie nauczysz się tak programować. Umówmy się: uczysz się programować, włączać komputer, czytać wiadomości ze świata IT, sprawdzać pocztę elektroniczną i wykonywać inne rutynowe czynności, takie jak odpowiadanie na GG (jeśli to ważne), a następnie (jeśli musisz) sprawdzanie, co nowego na facebook i koniec. Siadasz, aby nauczyć się programowania.

Skuteczna nauka programowania

Odpalasz IDE, otwierasz książkę lub kurs online i kodujesz, kodujesz, kodujesz … Najlepiej wyłączyć GG, aby nie rozpraszała Cię koperta informująca o nadejściu nowych wiadomości. Postaraj się go zachować, a będzie dobrze. Najważniejsze, aby nie stracić motywacji. I nie kręć się na miłość boską !!!

Język programowania

Masz już motywację i teraz stajesz przed najtrudniejszym wyborem w swojej karierze programistycznej. Ponad językiem …
Natychmiast zapomnij o programowaniu, jeśli myślisz, że „nauczę się języka delphi i to wystarczy na całe moje życie”. Błąd. Ogromny błąd. Nie możemy wybrać jednego języka i trzymać się go. Technologia się zmienia i musimy być na to gotowi. Skąd wiesz, że Java lub Python nie będzie w miejscu Pascala za kilka (kilkanaście) lat?

Jaki więc język programowania wybrać?

Są ludzie, którzy twierdzą, że nauka najlepiej zacząć od Pascala (mówię to po polsku), ponieważ jest to zdecydowanie najłatwiejsze (tutaj argumentowałbym: P). Cóż … twój wybór. Ale to tak naprawdę nie ma znaczenia (chyba że zaczynasz od Asemblera lub Perla).

Co, C ++? Dlaczego nie? Kiedy uczysz się C ++, uczysz się również C i nie jest prawdą, że nie możesz nauczyć się C ++ bez znajomości C. Gdy nauczysz się jednego języka, szybko go zdobędziesz. W końcu są to tylko inne instrukcje, a składnia może być inna. Od czego zacząłem? Cóż, naprawdę polizałem PHP i, na poważnie, pochodzi z Javy. Ale mnie to nie zniechęciło, więc uciekłem, przytuliłem C ++ i jestem w tym dobry. Można powiedzieć, że zacząłem od tego języka … nie wiedząc zbyt wiele … tylko jakie są warunki naprawdę :). Podsumowując, nie ma znaczenia, od czego zaczniesz, dopóki nie zniechęcisz się i nie uderzysz głową, że pozostaniesz przy tym przez całe życie. Wolę zacząć od C lub C ++ :). Bardzo przyjazne języki i czytanie? Zacząłem od Symphony C ++ Standard Jerzego Grębosza.

Czy mogę teraz napisać grę?

Tyle, ile w tej chwili chciałbyś rzucać mięsem … zaprogramuj się, jeśli uważasz, że nauczysz się jednej książki na pamięć i napiszesz grę. To naprawdę nie jest takie proste. Ale oczywiście .. możesz mieć motywację do pisania gier w przyszłości, ale błagam, żebyś nie pisał czegoś takiego: „jaki język jest najłatwiejszym sposobem na napisanie gry?”
Po pierwsze … Wiem już, że jesteś na poziomie szkoły podstawowej, po drugie nie ma czegoś takiego jak „w którym jest najłatwiej?” … cholernie w ogóle? Zacznij od napisania przyzwoitego kalkulatora, a potem pomyśl o grach, ponieważ jestem pewien, że przy takim nastawieniu szybciej się zniechęcisz niż napiszesz tę grę … i nikt w nią nie zagra (: P). Więc nie myśl, że będziesz zamieć jednoosobową. Nie wiem, dlaczego każdy, kto zaczyna programować, myśli, że od razu napisze grę … Podejrzewam, że tacy ludzie grają prawie uzależnieni od gry bardzo popularnej wśród młodych ludzi zwanych Tibią.

Materiały do nauki podstaw programowania

Możesz mieć ból głowy, widząc na forum n-ty temat zatytułowany „Z czego się uczyć?!” Denerwuje nawet bardziej niż „jak zacząć się uczyć?”. Nie będę tu dużo rozmawiać – musimy wybierać spośród: źródeł internetowych i papierowych, czyli książek. W Internecie jest naprawdę dużo rzeczy.

Moim zdaniem napiszę tutaj o fajnych przedmiotach:
www.cpp0x.pl – strona tematyczna poświęcona wyłącznie programowaniu w C ++. Na tej stronie znajdziesz kurs C ++, który stał się następcą bardzo popularnego kursu „od zera do kodera”. Wspomniane »Kursy ¦ Kurs C ++ kurs opisuje język zgodnie z obowiązującym standardem C ++.

„Standard Symphony C ++” – zdecydowanie najlepsza pozycja poświęcona językowi C ++ od zera. Autor doskonale zapisuje każdą nudę. Polecam dla bardzo początkujących.

„Thinking in C ++” – pozycja jest również bardzo popularna, jednak nie jest skierowana do laików.

„Algorytmy, struktury danych i techniki programowania”. – interesująca pozycja dla osób, które mają pojęcie o programowaniu i chcą nauczyć się interesujących algorytmów.

„C ++ dla wszystkich” – książka od podstaw poświęcona językowi C ++, jednak standard Symphony C ++ jest zdecydowanie lepszą pozycją (moim zdaniem).
Książki i artykuły na temat programowania to znacznie więcej niż to, o czym wspomniałem – wystarczy trochę poszukać …

Inne metody nauki programowania

Ciekawą techniką uczenia się programowania jest wykopanie gdzieś kodu i jego analiza.
„Och, tu jest forum”… szukamy w słowniku tego, co to znaczy, a następnie patrzymy na resztę i… „Och! Tak to się robi!” Bardzo „trudna metoda”, zwłaszcza gdy jest przychodzi do programowania, nie masz pojęcia, ale jak skuteczny :).
Ciekawym motywem jest także oglądanie kursów wideo na youtube … są one bezpłatne i zawierają komentarze głosowe, więc jeśli jesteś słuchaczem, możesz się wiele od niego nauczyć.
Spodziewam się tutaj pytania … nie, nie ma książki, która pokazuje, jak napisać grę w 3D z „Hello world”, najlepiej z dźwiękiem i grafiką, jak w grze The Witcher 2 Assassin of Kings.

Matematyka w programowaniu

Tutaj chcę się śmiać (ponieważ nie jestem najlepszym uczniem, ale raczej z powodu lenistwa) i jednocześnie płakać, gdy czytam komentarze osób, które uporczywie przekonują początkujących, że „Nie jesteś wybitnym matematykiem? kolego, prawdopodobnie nie pójdziesz do programowania. ”
Przyznaję … Matematyka jest potrzebna, ale chodzi głównie o logiczne myślenie, które nie polega na pisaniu programu ale wcale nie musisz wykonać serii skomplikowanych obliczeń.
Polecam interesujący przedmiot … a mianowicie:
„Od matematyki do programowania. Wszystko, co każdy programista powinien wiedzieć” – naprawdę interesujące stanowisko. Ale lepiej być ostrożnym podczas lekcji … i najlepiej w szkole podstawowej, ponieważ wtedy będziesz żałować, że masz takie braki z powodu twojej winy (takiej jak ja).

Zakończenie

Jeśli przeczytałeś to do końca, gratuluję ci cierpliwości (świetna funkcja, którą powinien mieć każdy programista). Wiem, że nie wyczerpałem tutaj całkowicie tematu, ale rozwinę ten temat tak bardzo, jak chcę i czas wolny. Mam jednak nadzieję, że udzielił ci odpowiedzi na nurtujące cię pytania i nie będziesz już publikować takich powtarzających się tematów na forach.

Uff, to koniec mojego pierwszego postu. Moim zamiarem nie było nikogo urazić. Czasami używałem nieco kontrowersyjnego słownictwa, ale to tylko odrobina humoru – mam nadzieję, że tak. Czy jesteś programistą? Napisz w komentarzu, jak zacząłeś!
Och, jeszcze jedna rzecz … pomimo tego, że przeczytałem ten tekst już 4 razy, niektóre błędy, takie jak „cichy” (osoba) zamiast „zniknął”, mogły się wkraść … Proszę, zgłaszaj mi takich prześladowców .. .