W tym artykule przyjrzymy się kilku rzeczom, które mogą się pojawić, kiedy chcesz poznać podstawy programowania. Zrobimy krótkie wprowadzenie do najpopularniejszych obszarów i języków programowania, porozmawiamy o problemach związanych z podejmowaniem wielkich decyzji (o tym, jaką technologię i format nauczania wybrać) oraz powiemy kilka słów o osobistym i technicznym zapleczu niezbędnym do tego przedsięwzięcia. Polecimy również kilka książek i samouczków wideo, aby zmotywować Cię do rozpoczęcia nauki.

 

Programowanie jako parasol – i jego wiele znaczeń

 

Kiedy słyszymy, że ktoś jest programistą, od razu możemy założyć, że wykonuje skomplikowaną, lecz ciekawą pracę, która wymaga dużo uwagi. Jednak ta informacja nie jest wystarczająca, aby powiedzieć nam, co dokładnie robi ta osoba, jak wygląda jej zwyczajny dzień, czy to jakimi zadaniami się zajmuje. Programowanie jest tak zróżnicowaną dziedziną, że można je traktować jedynie jako termin ogólny, który jest podzielony na wiele niezliczonych obszarów tak jak gigantyczny parasol.

Jest jednak jedna rzecz, która łączy wszystkie te obszary: wszystkie wiążą się z komunikacją z komputerami. A sposobem na to jest pisanie kodu, co jest robione przez programistów (którzy również testują, debugują i dokumentują; komunikują się z klientami, uczą się i nauczają, pracują w zespole lub indywidualnie nad własnym projektem). Jeśli chcesz dowiedzieć się więcej o wyżej wymienionej komunikacji na opisowych przykładach, sprawdź nasz artykuł zatytułowany Programowanie – wszystko, co warto wiedzieć na początek.

Co więc mamy na myśli mówiąc, że programowanie jest obecne w niezliczonych obszarach? Pomyśl o wszystkich różnych urządzeniach, aplikacjach, platformach, z których korzystasz na co dzień. Oprogramowanie do stron internetowych, aplikacji mobilnych, gier, aplikacji desktopowych, urządzeń wbudowanych (np. inteligentnych urządzeń domowych) itd. – lista jest nieskończona. Tworzenie i obsługa każdego z nich wiąże się z różnymi dziedzinami i technologiami programowania. 

Stosowane są różne kryteria i potrzebne są różne technologie do projektowania i tworzenia rzeczy, które widzisz jako użytkownik, oraz tych działających po stronie serwera. Różne technologie wymagają różnych języków programowania.

 

Najpopularniejsze języki programowania

Istnieje kilka ankiet dotyczących najpopularniejszych języków programowania. Ale co dokładnie mamy na myśli mówiąc „popularne”? Ankiety prowadzone na ten temat nie szukają najlepszych języków programowania, ponieważ nie ma „najlepszych” – są tylko odpowiednie i mniej odpowiednie języki do danego zadania, potrzeby czy celu oraz takie, które mogą lub nie mogą być użyte w danej sytuacji, lub dla danej platformy.  Źródło, z którego korzystaliśmy, pisząc ten artykuł, pokazuje języki, w których napisano najwięcej wierszy kodu w danym miesiącu, a więc technicznie rzecz biorąc, mierzy, które języki są najczęściej używane.

 

Bazując na tym wykresie, większość linii kodu została napisana w językach Java, C, Python, C++ oraz C♯. Jednak Visual Basic, JavaScript, SQL, PHP i R są także dość wysoko w tych rankingach. Diagram wyraźnie pokazuje, jak popularność języków programowania zmieniała się w czasie. Jest kilka rzeczy, które musisz wziąć pod uwagę przy wyborze nauki języka programowania – najważniejszy jest cel, dla którego będziesz go używać, cel związany z programowaniem.

Możesz przeczytać kilka sugestii i wskazówek dotyczących wyboru odpowiedniego języka programowania w naszym artykule, Jaki język programowania wybrać?.

 

Wiele sposobów na zdobycie nowych umiejętności – nauka podstaw programowania

Naukę czegoś nowego można zacząć na wiele sposobów – programowanie nie jest tu wyjątkiem. Jednak bez względu na wybraną metodę nauki, jeśli chcesz nauczyć się programowania, będzie Ci potrzebna cierpliwość, wytrwałość i staranność.

Nauka indywidualna

Nauka indywidualna może być atrakcyjną opcją z kilku powodów. Jedną z jego największych zalet jest to, że możesz ustawić swój własny plan zajęć, spędzać tyle czasu na nauce, ile chcesz, i uczyć się w dogodnym dla Ciebie momencie. Możesz dostosowywać tempo oraz częstotliwość powtórek i ćwiczeń w zależności od swoich potrzeb – możesz przeglądać materiał tyle razy, ile potrzebujesz, bez potrzeby dostosowywania się do innych. W przypadku indywidualnej nauki dobrze jest korzystać z wielu różnych zasobów. Przejrzyj materiały online, samouczki, książki i znajdź format, który najbardziej Ci odpowiada. Nie musisz ograniczać się do jednej metody, różne metody mogą się doskonale uzupełniać.

 Jednak indywidualna nauka również ma swoje wady: oprócz forów nie ma wielu kanałów, przez które możesz poprosić o pomoc, jeśli utkniesz w jakiś momencie. Brakuje również zewnętrznej motywacji ze strony osób trzecich, która może przyczynić się do Twojego rozwoju.

Dobrym wyjściem w takim przypadku są rozwiązania pośrednie, łączące zalety uczenia się we własnym tempie ze wsparciem społeczności uczniowskiej i mentorów. Tak właśnie działa CodeBerry, gdzie możesz dołączyć do wirtualnej społeczności i uzyskać pomoc od mentorów online.

 

Kursy i programy studiów

Jeśli wolisz się uczyć na kursie z dobrze wyszkolonymi instruktorami, entuzjastycznymi kolegami i dobrze zorganizowanym programem nauczania masz możliwość wyboru spośród wielu opcji. Kiedy mówimy o kursach, większość z nas myśli o nauce „offline”, która odbywa się w klasie i daje wiele wspaniałych okazji do budowania zespołu, relacji, rozwoju umiejętności komunikacyjnych i zabawnych lekcjach z innymi. Jednak możesz też uczyć się programowania na kursach online, z każdego zakątka świata. Jeśli nie ma żadnych kursów programowania w Twoim mieście lub jeśli nie chcesz marnować czasu i pieniędzy na dojazdy to kurs online jest właśnie dla Ciebie. 

Możesz również uczyć się programowania na poziomie uniwersyteckim, co wiąże się z gromadzeniem znacznie większej wiedzy teoretycznej, ale jednocześnie daje mniej praktycznego doświadczenia. Będziesz mieć okazję, aby zrozumieć złożone problemy matematyczne i zyskać głębokie zrozumienie operacji, które mają miejsce na tle programowania.

Więcej wskazówek, jak nauczyć się podstaw programowania, znajdziesz w naszym artykule Jak nauczyć się programowania, który zawiera dużo szczegółowych informacji na temat metod uczenia się i języków programowania odpowiednich dla początkujących. Ale teraz pozwól nam zasugerować kilka materiałów, które pomogą Ci poprawić Twoje umiejętności pozaszkolne. 

 

Teoria programowania:

  • Martin, Robert C.: Czysty kod. Podręcznik dobrego programisty, Helion.
  • Coldwind, Gynvael: Zrozumieć programowanie, Wydawnictwo Naukowe PWN, 2020.
  • Hunt Andre, Thomas David: Pragmatyczny programista. Od czeladnika do mistrza, Helion.

 

Podstawy programowania w Pythona: 

 

Do nauki C

  • Skeet, Jon: C# od podszewki, Helion.
  • W wersji elektronicznej: Kempa Anna, Tomasz Staś: Wstęp do programowania w C#, Uniwersytet Ekonomiczny w Katowicach.

Materiały dla JavaScript:

  • Duckett, Jon: JavaScript i jQuery. Interaktywne strony WWW dla każdego. Podręcznik Front-End Developera, Helion.
  • Simpson, Kyle: Tajniki języka JavaScript. Na drodze do biegłości, Helion.

Top 10 materiałów i tutoriali YouTube:

 

Wymagania techniczne 

Jeśli od jakiegoś czasu interesujesz się programowaniem i masz już wiele informacji na ten temat lub dziedzina IT nie jest Ci kompletnie obca (po prostu jeszcze nie zacząłeś programować), to wyrażenia z tej sekcji będą Ci znane. Jeśli pochodzisz z zupełnie innej dziedziny i nie miałeś do tej pory nic wspólnego z programowaniem, być może przyszło Ci do głowy kilka pytań podobnych do poniższych.

Komputer i system operacyjny 

Jaki komputer i system operacyjny potrzebujesz do programowania; jakie muszą spełniać wymagania techniczne?

Możesz pisać kodu na zwykłym laptopie lub komputerze stacjonarnym, nie musisz mieć superkomputera wykonanego przez NASA. Wystarczające są najpopularniejsze komercyjne systemy operacyjne (Windows, Linux, MacOS).

Środowisko rozwoju

Gdzie pisać kod? Jakiego środowiska należy użyć? Możesz pisać programy w edytorach tekstu, zintegrowanych środowiskach programistycznych lub platformach edycji online. Każdy z nich ma swoje zalety, więc każdy może wybrać opcję, która pasuje do jego pracy, potrzeb i portfela.

Jeśli chcesz pracować w edytorze tekstu, możesz skorzystać z platform Atom, Notepad ++, Sublime Text itp. Umożliwiają one wygodne pisanie i edytowanie kodu, zapewniają przejrzystą prezentację i mają szereg dodatkowych funkcji, takich jak podświetlanie składni i menu pomocy. 

Zintegrowane środowiska programistyczne (IDE) to aplikacje, które rozpoznają składnię języka programowania, pomagają zapobiegać błędom i umożliwiają pisanie zagnieżdżonego kodu. Mają również szablony i można je dostosować za pomocą wtyczek i preferencji. Eclipse, Visual Studio Code, Webstorm itd. są przykładami IDE. Firmy często wymagają, aby ich programiści pracowali w określonym IDE i kupują im dostęp do profesjonalnego środowiska programistycznego.

Jednak jako osoba początkująca (a także później w wielu innych obszarach programowania), zwykłe platformy do edycji online, takie jak codepan.io czy repl.it, będą wystarczające.

W CodeBerry jedna z pierwszych rzeczy, które nauczamy, jest stworzenie środowiska rozwoju dla siebie i zapoznanie się z GitHub – bezpłatną platformą, na której możesz przechowywać i udostępniać swój kod. Oczywiście oprócz GitHub istnieją także inne podobne aplikacje, np. Bitbucket i GitLab.

Jakie umiejętności są potrzebne do programowania ? 

Myślenie analityczne

Jeśli myślisz o zapisaniu się na kurs programowania na poziomie uniwersyteckim, powinieneś wiedzieć, że aby go rozpocząć, będziesz potrzebować zaawansowanej wiedzy matematycznej – nie da się tego uniknąć. W przeciwieństwie do tego inne kursy, szkolenia i nauczanie indywidualne, nie wymagają tak  głębokiej wiedzy teoretycznej, jak programy uniwersyteckie, więc zazwyczaj nie potrzebujesz do nich tak zaawansowanej matematyki.

Bez wątpienia będziesz jednak potrzebować logicznego i analitycznego myślenia. Aby zrozumieć i nauczyć się algorytmów, będziesz potrzebować głębokiego, analitycznego i racjonalnego myślenia, jeśli nie tradycyjnych umiejętności matematycznych. Będziesz także musiał znać podstawowe pojęcia i rozumieć podstawowe operacje programistyczne. Najlepiej by było często nad nimi ćwiczyć i wracać do nich od czasu do czasu, aby móc z nich korzystać z maksymalną pewnością.

Kursy programowania w Twoim języku i rola języka angielskiego w programowaniu

Rola języka angielskiego w programowaniu jest ważną kwestią. Wiele osób może czuć się zniechęconych brakiem solidnej znajomości języka angielskiego, podczas gdy świat IT wydaje się pracować głównie w języku angielskim. Jak więc można do niego wejść, jeśli masz jakieś niedociągnięcia w tym zakresie? 

CodeBerry oferuje rozwiązanie dla tego problemu poprzez możliwość nauki kodowania w Twoim języku ojczystym. Dostępnych jest także coraz więcej materiałów (książek, podcastów, filmów, kursów) w języku polskim. W tym artykule możesz znaleźć kilka rekomendacji.

Nie potrzebujesz więc dobrze znać języka angielskiego, aby zacząć naukę i skutecznie doskonalić swoje umiejętności programowania. Warto jednak polepszyć swoją znajomość języka obcego: umiejętność czytania forów, artykułów, aktualności i międzynarodowych opisów, korzyści, jakie pojawiają się wraz z nim na rynku pracy oraz dostęp do globalnej sceny IT to tylko niektóre z powodów, dla których warto zapoznać się z językiem komunikacji międzynarodowej.

Osobiste umiejętności

W artykule o podstawach programowania nie możemy pominąć tego, co powinien wiedzieć każdy entuzjastyczny początkujący: wytrwałość i głęboka koncentracja potrzebne do nauki i pracy jako programista. Niezależnie od tego, w jaki sposób się uczysz, nie odniesiesz sukcesu bez pracowitości i zdyscyplinowanej praktyki. Jeśli jednak je posiadasz, możesz zanurzyć się w satysfakcjonującą pracę twórczą, ekscytujące i wymagające procesy rozwiązywania problemów, oraz zyskasz znaczącą przewagę na rynku pracy.

 

Umiejętność pracy zespołowej

Jeśli myślisz o programowaniu jako czymś więcej niż tylko hobby i widzisz siebie jako profesjonalnego programistę, to prawdopodobnie będziesz musiał pracować w zespole lub współpracować z klientami, co wymaga dobrej komunikacji i umiejętności współpracy. Ważne jest również, aby umieć przedstawić to, nad czym pracujesz, istotne kwestie i ustalenia w jasny, zwięzły i skuteczny sposób. Są to umiejętności, które można doskonalić i które są niezbędne do sprawnej pracy zespołowej w roli programisty.

 

Nie da się zawrzeć wszystkich aspektów podstaw programowania w jednym artykule, ale mamy nadzieję, że w tym poście znajdziecie kilka przydatnych informacji. Jeśli czytasz to w celu zbadania tej dziedziny przed rozpoczęciem nauki programowania, być może zainteresuje Cię ten opis początków, wyzwań i piękna nauki programowania, oraz nasz artykuł zatytułowany 10 powodów czemu nauka programowania odmieni twoje życie.