P-Programowanie

Jak nauczyć się programowania?

Ostatania modyfikacja: 27 września 2017, kategoria: Studia i praca

Być może od dawna zastanawiasz się jak zabrać się za naukę programowania? Po przeczytaniu tego krótkiego artykułu sytuacja będzie dla Ciebie o wiele jaśniejsza. Wyjaśnię czym jest programowanie oraz jak najlepiej zabrać się za jego naukę, gdzie szukać najlepszych materiałów i jak długo zajmie Ci nauczenie się programowania. Opiszę kwestię wyboru języka programowania, co jest problemowe dla wielu początkujących.

Czym jest programowanie?

Inżynieria Oprogramowania jest jedną z głównych dziedzin współczesnej informatyki. Opisuje ona proces wytwarzania systemów informatycznych. Programowanie jest jednym z działów Inżynierii Oprogramowania i zajmuje się ściśle produkowaniem i utrzymywaniem aplikacji (programów).

Programowanie daje niesamowite możliwości i pełną elastyczność jeśli chodzi o świat cyfrowy. Jest ściśle związane z elektroniką i przetwarzaniem sygnałów. Prawie każde urządzenie elektryczne w Twoim otoczeniu musiało zostać w jakiś sposób zaprogramowane przez człowieka. Dotyczy to przede wszystkim urządzeń wyposażonych w interfejsy użytkownika, wchodzących w interakcję z użytkownikiem. Może to być np. pralka, telefon komórkowy, elektrycznie sterowana brama wjazdowa, samochód z komputerem. Ponieważ zostały zaprogramowane, zostały wyposażone w program, który wykonuje jakąś logikę i przetwarza informacje.

Najprostszym przykładem może być automat na monety. Może on być sterowany dwojako: albo jako system mechaniczny zbudowany z wielu skomplikowanych przekładni albo jako system cyfrowy wyposażony w program. Kolejnym przykładem jest bankomat, ten już z całą pewnością jest systemem czysto cyfrowym. W bankomacie musi istnieć zapisany program, który po pierwsze przetwarza informacje (pobiera od użytownika PIN) oraz wykonuje logikę.

Informacje zawarte w tym artykule nie nauczą Cię programować, ani nie pokażą Ci prostej drogi do celu. Możliwe, że znajdziesz tu odpowiedź na kilka nurtujących Cię pytań, jednak ostatecznie i tak wszystko leży w Twoich rękach.

Kim jest programista?

Programista to osoba, która pisze programy mające na celu rozwiązanie danego problemu. Narzędziem programisty jest rzecz jasna komputer oraz język programowania, którym programista porozumiewa się z komputerem. Ujmując rzecz ściślej, język programowania pozwala tworzyć logikę w postaci kodu programu, która zostanie przetworzona przez procesor komputera.

Programista jest osobą, która rozwiązuje Twoje problemy,
które nie wiesz że masz, w sposób którego nie rozumiesz

Charakterystyczną cechą dla programistów jest omylność. Systemy komputerowe naszpikowane są błędami, stąd wszelkie włamania, wycieki danych i inne wielkie cyfrowe afery. Chociaż komputery działają zawsze dobrze i nieomylnie, zawsze słabym ogniwem jest człowiek, który musi ten komputer zaprogramować.

Podział na front-end i back-end

Od dawna istnieją dwa zróżnicowane nurty jeśli chodzi o programowanie. Pierwszy z nich – front-end – nastawiony jest na końcową fazę procesu wytwarzania oprogramowania. Back-end odpowiada za wnętrze i logikę działania aplikacji. To w jakim kierunku zaczniesz się rozwijać będzie miało znaczący wpływ na Twoją późniejszą karierę (szczególnie na jej początek).

Sytuacją idealną dla każdego programisty jest dobre opanowanie front i back-endu. Zapewni Ci do szerokie spojrzenie na każdy projekt i wszelkie problemy. Jednak opanowanie w stopniu dobrym kilku technologii z jednej jak i drugiej strony, wiąże się z wieloma latami nauki i nabieraniem doświadczenia.

Nie ma sensu udowadniać co jest lepsze. Zarówno jedni jak i drudzy programiści są potrzebni a ich zarobki praktycznie wcale się od siebie nie różnią.

Front-end aplikacji

Jest to warstwa, która jest odpowiedzialna za:

  • dostarczenie użytkownikowi interfejsu użytkownika
  • komunikację z użytkownikiem (pobieranie i wyświetlanie danych)
  • pobieranie/wysyłanie danych z/do back-endu

Kilka lat temu front-end był bardzo ubogi jeśli chodzi o możliwości. W przypadku aplikacji internetowych podstawowym narzędziem pracy programisty była znajomość HTML & CSS oraz JavaScriptu. Zawsze mile widziane jest aby osoba odpowiedzialna za front-end miała także zmysł graficzny, umiała dopasować do siebie różne elementy systemu i zaprojektować widoki.

W ostatnich kilku latach sytuacja radykalnie się zmieniła. Z powodu rozwoju i ciągle rosnącej popularności sieci internetowej, technologie webowe przeżywają bardzo szybki rozwój. Na rynku w krótkim czasie pojawiło się dziesiątki nowych frameworków JavaScriptowych, które nie przypominają już starego nudnego JavaScripta. Sam język JavaScript także bardzo ewoluował. Dawniej spostrzegany był na stronach jako coś negatywnego, teraz stanowi numer jeden w budowie interfejsu użytkownika.

Z tego powodu podział na front-endowców i back-endowców jest silniejszy niż kiedykolwiek. Obecnie na rynku mało jest osób, które podołałyby elastycznemu przeskakiwaniu raz na jedną raz na drugą stronę. Firmy skupiają się raczej na zatrudnieniu osobnych programistów do interfejsu aplikacji i osobnych do jej wnętrza.

Warto dodać, że front-end sam w sobie niczym nie przypomina już klepania HTMLowych znaczników. Frameworki takie jak AngularJS mają bardzo rozbudowane możliwości, pozwalają na używanie wielu skomplikowanych mechanizmów oraz na dzielenie kodu na moduły. W rozbudowanych projektach front-end nie ustępuje objętością kodu back-endowi. Odzwierciedlenie rozwoju tej warstwy aplikacji widać bardzo dobrze w proponowanych widełkach finansowych w ogłoszeniach.

Back-end aplikacji

Jest to warstwa, która skupia system w jedną całość. Jest odpowiedzialna za przetwarzania informacji i całą logikę. Poza tym, back-end odpowiada za komunikację z bazą danych oraz z wszelkimi innymi serwisami używanymi w projekcie.

Dominacja back-endu na rynku (czyli wszelkich języków kompilowalnych działających bezpośrednio na systemie operacyjnym) trochę spadła, przez dynamiczny rozwój front-endu. Nie jest to jakaś szczególnie zauważalna różnica, jednak przez rozwój internetu odchodzi się od aplikacji ściśle desktopowych. Wszelkie duże systemy do zarządzania firmami, aplikacje bankowe, systemy ERP itp. zmierzają w stronę sieci WEB i działają w sieci internetowej bądź intranetowej.

Zamiast tworzyć oprogramowanie dedykowane np. dla systemu Windows, które będzie komunikować się z serwerem głównym i łączyć z nim za pomocą bibliotek, producenci często decydują się na stworzenie aplikacji internetowej dostępnej dla każdego urządzania z poziomu przeglądarki za pomocą protokołu HTTP. Niesie to ze sobą szereg konsekwencji pozytywnych i negatywnych.

Przypadkiem skrajnym są mało zaawansowane aplikacje, gdzie serwer (czyli back-end) tworzy jedynie pomost komunikacyjny pomiędzy front-endem a bazą danych, jest stricte odpowiedzialny za dostarczanie danych w jedną i drugą stronę.

Nie chcę aby bardziej doświadczeni czytelnicy mojego bloga przyczepili się do tego akapitu. Jest on napisany jedynie poglądowo językiem przystępnym dla osoby początkującej, aby rozumiała ten podział. Nie da się udowodnić wyższości jednej warstwy nad drugą.

Od czego zacząć naukę programowania

W najlepszej sytuacji są osoby, które czują pociąg do programowania i po prostu ich to interesuje. Nauka programowania przypomina trochę rozwiązywanie zadań np. z matematyki. Musisz poznać kilka dostępnych mechanizmów i nauczyć się je ze sobą łączyć. Rozwiązanie wielu podobnych do siebie problemów da Ci zrozumienie problemów bardziej złożonych.

W odróżnieniu do innych dziedzin nauki, które są teoretycznie skończone, programowania można uczyć się przez wiele długich lat. Różnorodność języków programowania i frameworków jest tak szeroka, że nie sposób wszystkiego ogarnąć.

Znalezienie w sobie odpowiedniej motywacji do poświęcenia pewnej ilości czasu dziennie jest chyba największym wyzwaniem. Wielu ludzi poddaje się po kilku dniach lub tygodniach, ponieważ przytłacza ich ogrom informacji.

Przez cały czas odkąd mam styczność z programowaniem zawsze trafiam na rzeczy, których nie rozumiem. Było tak 6 lat temu gdy napisałem swój pierwszy program, było tak 3 lata temu gdy uczyłem się do matury i jest tak teraz gdy pracuję już jako zawodowy programista. Świat informatyki jest bardzo rozległy i nie można się przez to zniechęcać.

Jaki język programowania wybrać?

jezykiTo jaki język programowania będzie najlepszy na początek jest głównym pytaniem pojawiającym się w głowie każdego początkującego programisty. Dodatkowo warto wspomnieć, że jest to typowy problem nierozwiązalny. Nie da się wybrać czegoś najlepszego, każdy wybór będzie obarczony jakimiś wadami i zaletami. Wynika to po prostu ze specyfikacji platform i różnego wykorzystania poszczególnych języków i technologii.

Po pierwsze zastanów się, czy chcesz kierować się w stronę back czy front-endu? Front-end to przede wszystkim języki skryptowe. Kiedyś będziesz w stanie szybko przeskoczyć z front do back-endu i na odwrót, jednak będzie to możliwe dopiero po nabraniu pewnego doświadczenia.

Jedną z ważniejszych kwestii na którą proponuję zwrócić uwagę są trendy rynkowe. Uważam, że nie ma sensu uczyć się Pascala, którego tak namiętnie ćwiczy się w liceach. Oczywiście, jeżeli od niego zaczniesz, na pewno wiele się nauczysz. Problem jest tylko w tym, że nie wykorzystasz go zawodowo.

C++ należy do języków niższego poziomu (w porównaniu do C# i Javy), daje bardzo zaawansowane możliwości i jest bardzo dobrym wyborem. Jest najczęściej wykorzystywany w firmach zajmujących się rozwiązaniami elektronicznymi, komunikacyjnymi oraz wszędzie tam gdzie istnieje połączenie z mikrokontrolerami. C++ daje dobre pojęcie o programowaniu oraz uczy działania programowania. Nie wyręcza programisty w dbaniu o porządek w pamięci jak robią to języki wyższych poziomów. Programując w C++ można nabrać wiele dobrych nawyków.

C# i Java są językami stosunkowo nowymi, dającymi możliwość szybkiego wytwarzania aplikacji. Są obudowane setkami gotowych klas, interfejsów, rozwiązań i mechanizmów. Są bardzo często spotykane w firmach nastawionych na szybkie tworzenie aplikacji dla wielu klientów. Są wyposażone w wiele współpracujących z nimi frameworków. To bardzo ułatwia sprawę i zamienia te technologie w prawdziwe kombajny. Można posunąć się do stwierdzenia, że są używane wszędzie tam gdzie nad wydajność i szybkość działania stawia się szybkość wytwarzania oprogramowania.

Wybierając jakikolwiek język skryptowy np. JavaScript lub PHP na pewno zachwyci Cię ich prostota. Brak jest w nich silnego typowania i kilku innych zaawansowanych mechanizmów. Mimo tego nauka podstaw (zmienne, tablice, pętle, instrukcje warunkowe, funkcje) jest możliwa.

To co wybierzesz na pewno zaowocuje i przyniesie korzyści.

Skąd brać materiały do nauki programowania?

Istnieje wiele źródeł, z których można czerpać wiedzę. Podstawowym źródłem danych jest na pewno internet. Jest tu wiele darmowych i płatnych kursów, opisujących przeróżne języki programowania. Miej na uwadze serwisy anglojęzyczne ponieważ to one są największą skarbnicą wiedzy. Język angielski jest naturalnym językiem każdego programisty, dlatego to właśnie po angielsku można znaleźć wszystko co nas interesuję.

Bardzo dobrym źródłem wiedzy są serwisy i blogi specjalistyczne, wyczerpujące kompletnie dane zagadnienia. Przykładem takiego serwisu jest np. codeproject.com. Jest to portal, który nie jest prowadzony w formie kursu. Są tam setki artykułów nie ułożonych według żadnej kolejności.

Źródłem nauki, które polecam najbardziej są książki. Argumentem za tym jest fakt, że są one idealnie ułożone tematycznie. Uczysz się odpowiednich rzeczy w odpowiedniej kolejności, a w przypadku początkujących programistów jest to niezwykle ważne. Renomowane książki w mojej opinii zapewniają największą skuteczność i są popularne nie bez powodu.

Przykładami takich książek, które gorąco polecam są:

  • dla C++ „Symfonia” aut. Jerzy Grębosz (około 1100 stron)
  • dla C# „Język C# i platforma .NET 4.0” aut. Andrew Troelsen (około 1400 stron)

Nie jest to z mojej żadna reklama, są to powszechnie znane dzieła uważane przez wielu za najlepsze. Sam przeczytałem obie książki i obydwoma byłem zachwycony.

Pisanie własnych projektów

Niezależnie na jakim etapie nauki programowania jesteś, zawsze staraj się prowadzić mniejsze lub większe projekty. Tematyka, język i sposób wykonania nie mają żadnego znaczenia. Dzięki temu nauczysz się wykorzystywać mechanizmy, o których przeczytałeś w kursach. Utrwalisz swoją wiedzę a dodatkowo natrafisz na problemy, których rozwiązanie pociągnie za sobą szereg korzyści.

Wszystkie projekty zapisuj i archiwizuj. Po kilku miesiącach nauki będziesz widział jakie postępy w programowaniu zrobiłeś. Przekonasz się jakich sposobów używałeś kiedyś a jakich użyłbyś dziś.

Bardzo wskazane jest aby z czasem poddawać swój stary kod refaktoryzacji. Jest to proces zmian w kodzie programu mający na celu poprawienie jego jakości. Refaktoryzacja nie jest zjawiskiem negatywnym, można się z tego naprawdę wiele nauczyć. Będzie Ci ona towarzyszyła w całym życiu zawodowym.

Uczestnictwo w konferencjach i kołach naukowych

Jeżeli masz możliwość to oczywiście warto zapisać się do koła naukowego. Spotkania wyglądają przeważnie tak, że jakaś osoba deklaruje chęć przygotowania referatu na dany temat. Reszta zgromadzonych osób słucha i zadaje ewentualne pytania. Korzyści są obustronne. Oczywiście na początku będziemy jedynie biernymi słuchaczami, ale z czasem warto jak najwięcej prezentować, ponieważ ucząc innych uczymy się z podwójną skutecznością. Zawsze trafiamy wtedy na przypadki, których nie wymyślilibyśmy sami.

Osobiście mam bardzo sceptyczne podejście do konferencji naukowych. Koło naukowe tworzy określona, mała liczba słuchaczy, więc każdy z łatwością może coś dodać lub zapytać. Dodatkowo spotkania koła są luźne, często pracuje się na komputerach. W przypadku konferencji IT jest typowa masówka. Większość prelekcji wygłaszana jest pokazując fragmenty kodu na rzutniku. Zwykle trwają dość długo i mamy ogromne szczęście, jeżeli chociaż połowa pokrywa się z naszymi zainteresowaniami.

Byłem na kilku konferencjach informatycznych i zawsze, niestety, miałem poczucie zmarnowanego czasu. Przez pół dnia byłbym w stanie nauczyć się naprawdę bardzo wiele na własną rękę. To, że ktoś czyta coś z kartki i przewija fragmenty kodu na slajdach rzutnika kompletnie nie trafiło w mój sposób rozwoju.

Sytuacją totalnie najgorszą jest gdy wykładowca na konferencji ma zły styl przekazywania wiedzy. Zamiast przedstawić daną technologię posługując się naukowymi faktami, zaczyna opowiadać za dużo kawałów i rzucać określenia charakterystyczne dla trenerów personalnych w stylu „dasz radę!”, „najważniejsze to uwierzyć w siebie wtedy się uda!”.

Jak długo zajmie nauczenie się programowania?

Podstaw programowania można nauczyć się w kilka dni lub kilka tygodni. Wystarczy, że poznasz kilka konstrukcji programistycznych a będziesz w stanie rozwiązywać proste problemy algorytmiczne oraz manipulować wyjściem/wejściem przetwarzając informacje w prosty sposób. Po kilku tygodniach będziesz umiał rozwiązywać proste problemy maturalne oraz poradzisz sobie z zadaniami na studiach.

Programowania trzeba uczyć się latami,
dany język programowania nauczysz się w kilka dni

Dany język programowania można opanować w zależności od umiejętności w kilka dni, kilka tygodni lub w przypadku początkujących kilka miesięcy. Zależy to też oczywiście od stopnia złożoności danego języka programowania. Do języków najprostszych zaliczane były te z rodziny Basic. Są one bardzo rzadko spotykane, częściej wykorzystywane jako języki do krokowego programowania robotów.

Jeżeli będziesz programistą z pewnym stażem, poznanie kolejnego języka przeważnie jest niezwykłe proste. Mechanizmy w programowaniu są bardzo podobne, różnią się tylko sposoby ich zapisu w poszczególnych językach. W przypadku dobrego rozumienia programowania, poznanie nowego języka skupia się na poznaniu jego syntaksy.

Generalnie rzecz biorąc, nauka programowania się nie kończy. Brzmi to dość dziwnie i dość zniechęcająco, ale jest prawdą. Na rynku pracy nie ma osoby, która umie wszystko. W większości przypadków każdy jest specem od innej technologii i innego języka. Jeżeli umiesz kilka języków stajesz się bardzo wartościowy dla każdego pracodawcy.

Nierealna natomiast wydaje się sytuacja, aby ktoś umiał wszystko. Hipotetycznie próbując uczyć się każdego języka i każdej technologii po kolei, zanim ukończysz naukę języka X w tym samym czasie powstanie już Y i Z. Świat informatyki rozwija się niezwykle szybko, mimo że nowe języki nie pojawiają się z roku na rok, to niestety frameworki stanowiące o ich sile już tak, jedne powstają, inne są rozwijane, inne są zamykane.

Podsumowując akapit, nie da się bezpośrednio na te pytanie odpowiedzieć. Najważniejsze to uczyć się, ćwiczyć i rozwijać w jakimś kierunku.

Umiejętności zawodowego programisty

Dobry programista kojarzy mi się z osobą, która tworzy nieskazitelnie dobry i czysty kod. W przypadku osób zaawansowanych, znanie jakiegoś języka programowania to żadna zasługa. Obrazując przykład: kowal nie powinien chwalić się tym, że umie machać młotkiem, a pokazać jak dobre przedmioty umie wykonać. Język programowania jest tylko narzędziem, tak jak narzędziem jest młotek w ręku kowala.

Tworzenie oprogramowania to umiejętność zorganizowania projektu, znajomość wzorców projektowych i umiejętność ich zastosowania, dbanie o czysty i poprawny kod.

Najgorszą cechą programisty w mojej opinii jest niechlujstwo. Jest to cecha o wiele gorsza niż lenistwo. Leniwy programista po prostu pracuje wolno, a niechlujny programista wcześniej czy później spowolni pracę całego zespołu, tworząc kod przypominający spagetti, w którym nikt nie będzie umiał się połapać. Skutkiem tego zawsze jest konieczność przymusowej refaktoryzacji, a w gorszym wypadku nawet napisanie funkcjonalności od nowa. Innym czarnym scenariuszem jest brnięcie w to co najgorsze i nieodwracalne czyli dopisywanie kodu do istniejącego dziadostwa. Gdy ktoś stworzy złe fundamenty, cokolwiek byśmy nie dopisali i jak dobre by to nie było, cała konstrukcja i tak spisana będzie na zawalenie.

Aby nabrać dobrych nawyków potrzebne jest doświadczenie i uczenie się na własnych błędach (a jeszcze lepiej na cudzych). Tworząc swoje projekty nie raz i nie dwa zrobisz coś tak głupiego, że próba rozwoju okaże się niemożliwa. Stwierdzisz wtedy, że droga którą obrałeś była zła. Dzięki temu nie powtórzysz wpadki w przyszłości.

Takimi zagadnieniami i planowaniem zajmuje się cała inżynieria oprogramowania. Skuteczną bronią mogą okazać się wzorce projektowe, pisanie testów jednostkowych, stosowanie zasad SOLID itd. Warta polecenia może być w tym momencie książka „Pragmatyczny programista” oraz „Czysty kod”. Istnieje szansa, że są nawet reklamowane w menu na tym blogu.

Nauka programowania dla dzieci

Informatyka jest prężnie rozwijającym się rynkiem, któremu ciągle brakuje pracowników. Nic więc dziwnego, że rynek odpowiedział i pojawiły się na nim narzędzia pozwalające uczyć programowania dzieci już od najmłodszych lat. Jest to oczywiście nauka poprzez zabawę, w mojej opinii może dać dziecku niezłą zajawkę na przyszłość.

Strony udostępniające naukę programowania dla dzieci to np. code.org oraz tynker.com. Jeżeli nie umiesz programować a jesteś ciekawy jak to wygląda, spróbuj sam rozwiązać kilka zadań znajdujących się na dwóch wspomnianych wcześniej stronach. Przekonasz się jakie to proste!

Użytkownik Mat napisał:

25 listopada 2015


Najważniejsze to brnąć do celu i niezrażać się tym, że czegoś nie rozumiem lub nie ogarnę. Świetnym przykładem są studenci po liceach, którzy zazwyczaj nie mają nic wspólnego z infromatyką, przychodzą na studia bo tak. Niektórzy są zawzięci podpytują swoich kolegów i tak nawet nieświadomi na koniec semestru dzięki swojej woli i pomocy kolegów mają już spore umiejętności chociażby z C++/C#.
Odnośnie estetyki kodu i stosowania algorytmów/wzorców to łatwiej nauczyć się stosowania do pewnych reguł „nowemu”, który zaczyna przygodę niż takiemu samoukowi, który brnie do rozwiązania problemu nie patrząc jak prezentuje się kod i ile pamięci pożera :)

Użytkownik Phemistrily napisał:

29 listopada 2015


Ja ze swojej strony polecam się uczyć, ćwiczyć na takich stronach jak pl.spoj.com/ nie jest problemem się czegoś nauczyć, ale później trzeba umieć też to zastosować w praktyce.

Użytkownik Marek napisał:

14 grudnia 2015


Co do estetyki, polecam książke „czysty kod”. Jest mega fajna :)

Użytkownik Bogdan napisał:

21 grudnia 2015


Jak dla mnie najlepszym źródłem informacji są książki. Wiadomo, że są takie, z których nie idzie ogarnąć nic, bo przypominają jakąś biblię (mam taką książke od php – 1400 stron, czyta się jak „Pana Tadeusza zmiksowanego z kodeksem karnym i encyklopedią. Kupiłem ją jakoś na początku mojej przygody z programowaniem i przez pierwszy rok w ogóle jej nie tknąłem, ale dopiero później, gdy miałem solidne podstawy, okazało się że jest nieoceniona. Dziś w sumie znam ją prawie że na pamięć (jakieś 90-95%). Do czego dąże – jeśli kupujesz książke – kupuj ją na swój poziom. Większość książke jakie kupuje, kupujęz helionu – mają fajne promocje + to, że użytkownicy często komentują daną książke i idzie dowiedzieć się, czego się po niej spodziewać. Dzięki temu początkujący nie zaliczy takiej wtopy jak ja. Do tego wiadomo, kursy z youtuba, udzielanie się na forum i analizowanie kodu innych ludzi – bardzo dużo idzie się z rtego nauczyć. Pozostaje mi życzyć wam miłej nauki i pamiętajcie – informatyk uczy się przez całe życie!

Użytkownik BartekK napisał:

29 grudnia 2015


Jeśli ktoś mówi, że potrafi programować na poziomie akademickim to znaczy, że… nie potrafi programować w ogóle. Niestety obecnie uczelnie pozwalają poznać studentowi jedynie strukturę danego jeżyka, ale w żaden sposób nie wykorzystuje się go kreatywnie. Przekazać umiejętności programistyczne to prawdziwa sztuka, dlatego obecnie jak i zapewne w przyszłości nic nie zastąpi samokształcenia, lub krótkich, ale za to efektywnych kursów z praktykami i pasjonatami. Nasze uczelnie (zarówno politechniki jak i uniwersytety) nie wypuszczają programistów, a jedynie ludzi, którzy znają strukturę języka. Pozdrawiam

Użytkownik Sylwester napisał:

04 stycznia 2016


Są jeszcze takie platformy jak Codecademy, Udemy czy Lynda gdzie całkiem solidnie można poznać podstawy danego języka obserwując jak ktoś tłumaczy określone zagadnienia na swoim monitorze (są to co prawda platformy po angielsku, a niektóre kursy są płatne). Problemem w domowej nauce jest jednak moim zdaniem motywacja. Po całym dniu pracy lub na uczelni ciężko jest usiąść i z pełnym zaangażowaniem przyswajać wiedzę. Najlepszym rozwiązaniem w tej sytuacji jest moim wybrać się na szkolenie, gdzie czynnikiem motywującym będzie praca grupowa i zainwestowane w rozwój środki.

Użytkownik Agmar napisał:

25 stycznia 2016


Bardzo dobry artykuł. Warto uczyć się programowania w dzisiejszych czasach, bo daje to później wielkie możliwości na przyszłość. Szkoda tylko że na niektórych uczelniach przekazywana jest teoria a mało podejmowanych jest działań w praktyce. Pozdrawiam

Użytkownik Adrian napisał:

15 marca 2016


Fajny poradnik, który jakby nie patrzeć motywuje do działania w tym kierunku. Jestem absolwentem politechniki i patrząc jak tak wygląda programowanie to można się za głowę złapać. Za mało praktyki, za dużo do niczego nie potrzebnej teorii (człowiek jak potrzebuje i ma jakiś problem to wtedy się douczy).

Użytkownik Fabian napisał:

13 kwietnia 2016


Programowanie to świetna sprawa. W temacie tym wypowiedzieć się szczególnie powinni ci programiści, którzy zaczynali już jakiś czas temu, a dzisiaj mają niemałe doświadczenie. Dobry programista jest na wagę złota. Już nie tylko duże firmy, ale i małe przedsiębiorstwa inwestują w pomoc programistyczną. Tak na prawdę, to sztukę programowania – tak jak i innych rzeczy – zdobywa się z czasem. Na studiach też nie nauczą od razu wszystkiego. To praktyka czyni mistrzem ;) Szkoda tylko, że niewiele osób o tym pamięta i są „alfą i omegą” od pierwszych dni w pracy.

Użytkownik Kaczus napisał:

09 sierpnia 2016


Niestety wkradło się wiele nieścisłości.
1) kierowanie się tym co jest popularne teraz przy nauce to ślepa uliczka, za rok, czy dwa technologia może wejść w niszę.
2) Polecanie w kontekście tego co jest nowe książki Pana Grębosza (bardzo dobrej, ale o bardzo nieaktualnej wersji języka), to nieporozumienie… Obecnie minimum jakiego należy szukać, to coś opisujące standard C++11 i to tylko dlatego tak stary, ponieważ książki opisujące nowsze wersje są słabo dostępne, a to jest dobra baza. W C++ od 2003 roku (na tym standardzie oparte jest najnowsze z wydań Symfonii) bardzo dużo się zmieniło. W zasadzie standard C++11 to taki trochę rewolucyjny – więc nie należy się dziwić, jeśli w którymś z nowszych kompilatorów przykład z książki się nie skompiluje, albo będzie działał inaczej… Zmiany nie sa tylko w bibliotece standardowej, ale do języka doszedł choćby konstruktor przenoszący (wraz z otoczką), czy wymusza zapis:
char *napis = „moj napis”;
wyglądał jednak:
const char *napis = „moj napis”;
O ile przed standaryzacją pierwszy z zapisów był prawidłowym, w c++03 powinno pojawić się ostrzeżenie, to w c++11 pierwszy zapis jest błędem! Różnic jest więcej i zachęcanie do nauki z tej nieaktualnej książki dziś, to wyrrządzanie komus niedźwiedziej przysługi….

Użytkownik Idoctor napisał:

17 października 2016


Według mnie najważniejszą częścią bycia dobrym programistą jest praktyka. Bez tego nigdy nie będziemy nadążali za rynkiem pracy :).

Użytkownik Kinga napisał:

14 listopada 2016


Witam! W kwestii programowania jestem kompletnym laikiem, więc trudno jest mi się odnieść do treści wpisu. Natomiast przekazujesz informacje w sposób jasny i zrozumiały dla amatora, za co serdecznie dziękuję :)

Użytkownik Adrian napisał:

03 stycznia 2017


Programowania najlepiej się uczyć na własną rękę. Jestem absolwentem politechniki i to co było na zajęciach można włożyć między palce. Przestarzałe rzeczy, nauka polegała na zrobieniu konkretnych problemów według jednego toku myślenia. Dopiero po szkole zacząłem sam próbować programować, dało mi to najlepsze efekty. Samodzielne szukanie rozwiązania danego problemu, później zastosować takie triki, żeby algorytm wykonywał się szybciej.

Fajny artykuł dla początkujących, który pokazuje, ze jednak programowanie nie musi być wcale takie nudne jak przedstawione przez niektórych.

Zachęcam Cię do zostawienia komentarza!

Ilość znaków: 0