Na ovom mestu baviću se pitanjima:
Šta je to programiranje?
Ko može time da se bavi?
Koliko dugo je potrebno da se to nauči?
Da li je teško kao što se misli?
Programiranje je moguće naučiti na fakultetu ili kursevima, ali je takođe moguće samostalno naučiti uz Internet.
Podeliću svoje iskustvo i davaću razne linkove ka besplatnim materijalima i kursevima. U svojim člancima predstaviću najpoznatije programske jezike i osnovne koncepte u programiranju. U suštini, reći ću sve ono što bih voleo da je meni neko rekao kada sam počinjao da učim programiranje što bi mi uštedelo dosta vremena i gubljenja u okeanu informacija!
Sve na jednom mestu!
Sada to svi znaju! Čak i domaćice koje misle da je Windows novi deterdžent za pranje rublja, doktori koji pretpostavljaju da kada se spomene C misli na začin C, i frizeri koji za C++ misle da je neki novi obogaćeni vitamin C. Čak i oni znaju da su programeri dobro plaćeni!
Gotovo svakom kada sam spomenuo da učim programiranje odreagovao je na sličan način: "A pa odlično, čuo sam da su tu dobre plate!"
To je stvarno tako. Pa šta onda čekamo, hajdemo svi da učimo programiranje! Uskoro će sve nas i onako zameniti roboti i programi!
Polako.
Prvo, verovanje (a često i strah) da će mašina i veštačka inteligencija preuzeti sve poslove i da ništa neće ostati za nas ljude, naravno nije na mestu. Isto kao što ni otkriće parne mašine nije ostavilo ljude potpuno besposlene.
Drugo, i još bitnije... Programiranje nije za svakoga! To je bitno shvatiti. Reći da je taj posao težak opet nije dovoljno dobar opis, jer svi poslovi umeju da budu teški i imaju svoje dobre i loše strane. Programiranje tu nije izuzetak, ali jeste specifična delatnost i kao takva traži osobe koji poseduju određeni mentalni sklop i interesovanja.
Tako da je tu prva i najbitnija stvar videti da li ste vi zaista želite da budete programer. Na svu sreću to nije teško proveriti. Pokušaću u narednih nekoliko tekstova da prestavim šta znači programiranje i šta znači biti programer.
U vremenu početka razvitka komjutera i programskih jezika, u drugoj polovini prošlog veka, programiranjem su se bavili inženjeri koji su bili obrazovani na raznim tehničkim fakultetima i koji su uglavnom zaista izgledali kako zamišljamo klasične programere. Zaluđenici i fanatici, koji su po ceo dan provodili pored svojih dragocenih mašina i samo u tome videli svoj smisao života.
Međutim, razvojem tehnologije i posebno Interneta, sve više se stvarala potreba za ljudima koji poznaju programiranje. Obzirom da fakultetski obrazovani programeri nisu mogli ni blizu da pokriju poslove koji postoje, sve više se stvarao prostor za ljude koji nemaju diplomu ali su naučili taj zanat sami ili na raznim kursevima. Zato danas postoji manje-više trajni poziv na mobilizaciju svih koji žele da se bave ovim poslom. Takav trend postoji već dugi niz godina i samo raste. Sva predviđanja koja postoje, govore o rastu broja upražnjenih mesta koji će morati da se popune sa radnicima koji nemaju fakultetsku diplomu.
Danas svako može da se odluči i počne da uči programiranje, apsolutno siguran da ga tamo negde čeka i posao. Retka su zanimanja koja garantuju tako izvestan posao i dobre zarade! Zvuči skoro kao neka prevarantska šema, prosto previše dobro da bismo poverovali.
Ali, uvek postoji ono „ali“. Programiranje zaista zahteva posebnu vrstu ljude. Naravno, ne mislim da to moraju da budu neki čudaci ili vanzemaljci, ali svi koji žele da se time bave trebaju biti svesni šta ih čeka. Krenuti sa učenjem programiranja samo zato što će nam to doneti novac, je potpuno pogrešan pristup, i ako je to jedini razlog dovešće pre ili kasnije to odustajanja, te će to značiti prosto izgubljeno vreme koje je moglo konstruktivnije da se iskoristi.
Sada, dolazimo do najbitnije stvari.
Razmišljati previše na temu „da li sam ja rođen da budem programer“ nije pravi način rešavanja te dileme. Naravno, treba uzeti u obzir da li vas uopšte zanimaju kompjuteri i da li ste zainteresovani da pišete programe, što faktički znači da ćete najveći deo radnog vremena provoditi gledajuči u ekran i kucajći kodove. Čak i da su odgovori na ova pitanja pozitivni, jedini pravi način da saznate da li će vam odgovarati ta vrsta posla je da prosto počnete da kucate kodove i pravite kratke programe.
Pre samo nekoliko decenija da biste to probali bilo je potrebno mnogo vremena provedenih na fakultetu, pronalaženja kompjuterske literature do koje je bilo veoma teško doći i naravno imati pristup samim kompjuterima što je bila privegija samo bogatih firmi i institucija.
Danas, na vašu sreću, tih nekoliko godina se svodi na samo nekoliko sekundi koje vam je potrebno da iskopirate Internet adresu sajta koji se bavi učenjem programiranja.
U sutrašnjem tekstu daću vam adresu sajta gde možete da probate programiranje, i otrkiću vam koja je najbitnija stvar u programiranju, a sigurno i u životu opšte.
Najbitnija stvar u životu, a i u programiranju je SADA! Filozofski gledano, može se reći da je to i jedini trenutak koji imamo, ali ostavimo filozofiju po strani za sada. Bitno je da ovaj link koji vam dam isprobate odmah, bez odlaganja. Odlaganje često dovodi do potpunog neizvršenja. Dakle, bitno je da ovo probate ODMAH!
Evo adrese sajta na kome možete na najlakši i najzanimljiviji način naučiti programiranje.
https://www.codecademy.com/
Možete da se ulogujete sa Facebook ili Gmail nalogom.
Postoji dosta raznih kurseva, ali preporučujem da se krene od HTML & CSS kursa. HTML je osnovna konstrukcija Interneta, temelji i noseći zidovi, koji drže sve, uključujući i ovu web stranu koju upravo gledate. CSS su tapete, fasade, ukrasni ornamenti, boje vaših fotelja itd. Na sve to dolazi JavaScript: on se brine o tome da uključi peć i svetlo, ili da menja programe na vašem TV-u kada vi to poželite.
Probajte odmah, nemojte odlagati! Videćete, vežbe na početku su veoma lake i ne zahtevaju nikakvo prethodno znanje, sem da znate da koristite tastaturu.
Nemate šta da izgubite, a možete da dobijete toliko mnogo. Pored moguće karijere i zarade, učite se jednom posebnom načinu razmišljanja koji će vam vam pomoći u raznim stvarima, čak i svakodnevnom životu, posebno u planiranju, donošenju odluka i rešavanja problema. Od pravljenja liste za kupovinu do komunikacije sa najbližima imaćete jedan nov i svež pogled na svet.
Stiv Džobs reče da su kompjuteri bicikli za mozak, a učenje kompjuterskih jezika biće vožnja na najboljim mountain bike-ovima po visokim planinama gde je vazduh čist a divan pogled se prostire nadaleko.
Ako vam bude dobro išlo, super, učite programiranje i bližite se jednom zanimljivom, dinamičnom i dobro plaćenom poslu.
Ako vam ne bude išlo, bar ćete znati da to nije za vas, i možete to da napustite znajući da ste dali sve od sebe i probali. Sada bar nećete više imati dileme da li je to bilo za vas ili ne. Svoju energiju moći ćete da usmerite na druge stvari koje će vam više odgovarati.
Ali treba pokušati. Link za Codecademy koji sam dao u prošlom članku je najlakši način da se to uradi.
Probajte!
Codedademy - Akademija koda
U jučerašnjem tekstu sam preporučio Codecademy za učenje kodiranja, evo i preporuka koje kurseve izabrati i kojim redosledom možete ići.
Istina, postoji mnogo sajtova za učenje programiranja, ali niti jedan od njih ne ide tom brzinom "pravo u meso", kao što Codecademy to radi.
HTML/CSS
Najbolje je početi sa HTML/CSS. Tu ćete videti kako je sagrađen Internet! Čak i da vas uopšte ne zanima programiranje prosto je lepo znati na koji način se gradi Internet, u koji gledate svakoga dana po ko zna koliko sati.
Kurs je veoma lak čak i za potpune početnike.
JavaScript
Ovo je dobar i logičan nastavak na HTML/CSS. Za one koji žele da se bave pravljenjem web sajtova, ovo je dobitna kombinacija.
Ovaj kurs je malo teži, pa možda nije loša ideja završiti JQuery pre njega. JQuery bi mogli da nazovemo pojednostavljenom verzijom JavaScript-a.
PHP
PHP isto predstavlja jezik koji čini osnovu Interneta, s’ tim što HTML/CSS/JS stvaraju izgled onoga što gledate vi na vašem računaru, a PHP se bavi logikom na strani servera, dakle kompjutera gde je izvor samog sajta. To isto mogu raditi i Python i Ruby.
PHP je jedan od lakših kurseva i ne traje dugo.
Python
Python je na neki način najlakši jezik za učenje programiranja. Kada pogledate Python kod, videćete da najviše liči na običan engleski jezik i može se čitati i razumeti (relativno) lako.
Ipak, sam kurs je najduži od svih mogućih na ovom sajtu, te će vam trebati malo više vremena, ali ćete posle završenog kursa imati čvrste temelje ovog jezika, ali i programiranja uopšte.
Kurs spada u malo teže, ali ništa preterano teško i nerešivo.
Ruby
Ruby je isto pogodan jezik za početnike. Kod, slično kao Python, veoma liči na engleski jezik. Japanac koji ga je osmislio, Yukihiro Matsumoto, je baš to želeo kada ga je stvarao; programski jezik koji će biti lak i razumljiv za programere.
Ovaj kurs je neke srednje dužine, i nije mnogo težak.
SQL
SQL upravlja bazama podataka. Ovaj kurs nije neophodan, sem ako ne želite baš time da se bavite. Mada, ako imate vremena i volje, svakako da treba da ga završite, radi stvaranje opšte slike.
Veoma je lak, gotovo svuda vam se govori šta treba da unesete, i traje baš kratko.
Java
Java već godinama drži vodeće pozicije po popularnosti i poslovima. Koristi se bukvalno svuda, od mobilnih telefona i osnovnih sistema u zgradama i autobusima, pa do Interenta.
Kurs je zaista lak i traje veoma kratko, zahteva se samo da se unose određeni kodovi, i onda vidite kakve rezultate daju.
Programiranje zaista nikada nije bilo zabavnije!
Sada možete učeti osnove programiranja uz devojke koje se skidaju ako dajete tačne odgovore!
Na sajtu
Code Babes (
https://codebabes.com) stvarno su se potrudili da motivišu one koji odgledaju njihove kurseve uz nekoliko atraktivnih devojaka. Svaka devojka vodi po jedan kurs. Ukupno ima 7 kurseva: HTML, CSS, JavaScript, PHP, Android(Java), SEO i opšti Internet kurs. Svi su namenjeni za apsolutne početnike, ali i ako ste prešli taj nivo, možete utvrditi znanje ... i uživate.
Funkcioniše ovako: odgledate jedan youtube klip, i nakon toga sledi nekoliko pitanja iz te lekcije. Ako date tačne odgovore, devojke počinju da se skidaju. Počinju od naočara i gumice za kosu, preko majce, pa sve do... gole kože!
Posle prvih par lekcija ćete morati da se ulogujete preko svog Gmail ili Twiter računa, da bi nastavili besplatno.
Ljudi koje zanima književnost i strani jezici beže od programiranja, misleći da je to nešto što je suprotno njihovim verovanjima, ali...
Postoji vrlo zanimljiva sličnost između programskih jezika i stranih jezika! Na prvi pogled, ove dve discipline nemaju ništa zajedničko, sem reči „jezik“. Strani jezici su u vrsti društvenih nauka, tiču se lingvistike i književnosti i time kao da su u suštoj suprotnosti sa programskim jezicima, koji izviru iz prirodnih nauka i matematike.
Ipak, to je daleko od istine! Tako, samo učenje programskih jezika vrlo je slično učenju bilo kojeg stranog jezika. Počinjete sa tim da bilo koji tekst koji je napisan na tom stranom jeziku gledate sa potpunim nerazumevanjem i blagim očajanjem. Ko će sve te simbole da nauči? A onda počinjete da učite, slovo po slovo, reč po reč... Sve vam je više jasno i sve ste zadovoljniji. U programiranju, isto tako postoje naredbe čije značenje morate da naučite i zapamtite. Onda sve te divne reči treba spojiti i dati im celinu i smisao. Sintaksa i semantika postoji u programiranju baš kao i govornim jezicima, i ima slično značenje.
Ovo mnogo lakše pada ljudima koji su počeli sve ovo da uče mladi i u školi; tada se taj prvi i najteži deo procesa brzo savlada.
Sjajna stvar u vezi Codecademy je što ima krajnje pragmatičan pristup i što vi od prve lekcije počinjete da kucate kodove i odmah vidite rezultate. Kao na privatnim kursevima stranih jezika, odmah se ide na to da počnete da govorite prve reči i „razmišljate na tom jeziku“. Time se razlikuje od našeg klasičnog školskog pristupa gde se gubi puno vremena na gramatiku i nagomilava se pasivno znanje dok se praktično znanje zanemaruje.
Sećam se kada sam prvi put uzeo roman na francuskom, pre nego što sam počeo da učim francuski... Sve mi je bilo nejasno! Nisam mogao ni jednu reč da uhvatim da razumem. Onda, posle nekoliko godina, kada sam uzeo istu tu knjigu, kao da se otvorila i zasijala na potpuno drugi način! Razumeo sam ne samo pojedinačne reči, nego i smisao svega, i mogao sam sa zadovoljstvom da čitam taj roman!
Slično je i sa programiranjem. Prvi put kada pogledate neki kod napisan na programskom jeziku sve će vam biti nejasno. No, vremenom, uz konstantan rad, razumećete sve više i na kraju ćete doći do toga da apsolutno razumete sve o čemu se radi, a imaćete i sposobnost da isto tako nešto i sami napišete.
Istina, put je dug, ali verujte mi na reč: baš kao i Jelen pivo, ovo je nešto što zaista VREDI! (Navijači znaju zašto).
Nekada je važilo ono da je "samo smrt siguran posao". No, kako godine idu, a medicina postiže sve više čuda, možda ni smrt više neće biti siguran posao! Ipak, postoji sad nešto drugo što je sigurno...
Pre 30 ili 40 godina ono što su radili programeri uglavnom se ticalo kompjutera koje su posedovale velike firme i institucije. Njihov rad vrlo se malo ticao i dolazio do običnog čoveka.
Ipak, danas se to je mnogo drugačije. Čim vam zazvoni alarm na mobilnom ujutro i vi pritisnete dugme da se isključi (ili češće snooze za produžetak zadovoljstva) vi koristite program koji je neko osmislio da baš tako izgleda i baš to radi. Na vašem poslu, gotovo sigurno koristite računar i programe koji značajno pomažu u vašem radu. Na ličnom računaru, od Windows-a, pa sve do igrica, filmova i Interneta... sve to je delo programera!
Programi će sve više preuzimati poslove koji su rađeni ručno ili mašinski. Sasvim je izvesno da i nezaposlenost koja vlada u svetu dolazi kao logična posledica brzih promena koje se dešavaju izazvane informatičkom revolucijom.
Uostalom, meni je prilično čudno da je 21. vek već dobro poodmakao a da ljudi još uvek peru zube četkicama i, da izvinite, brišu zadnjicu rukama, sa nekakvim papirima. U akcionom filmu „Judge Dredd“, Silvester Stalone putuje u budućnost (naravno, da bi izvršio neko grandiozno delo američke pravde) i tamo, tražeći toalet papir za WC bude dočekan smehom i sprdnjom, jer se tamo negde u toj budućnosti više ne koriste tako primitivna sredstva. Koriste se nekakve „školjke“, mada nisu baš prikazali kako to funkcioniše.
Evo isečka iz tog filma: https://www.youtube.com/watch?v=OrWcEGDXOUg
Sve više poslova će preuzimati računari i veštačka inteligencija. Nekada sam mislio da ljudi koji se bave prevođenjem i stranim jezicima nikada neće moći da budu zamenjeni programima zbog specifičnosti takvog poziva i nijansi koje su uvek pristutne u jeziku i lingvistici, a koje mogu biti presudne u krajnjem smislu. Ipak, vreme je pokazalo drugačije, i samo jedan običan Google translate dostupan svima već postiže izuzetne rezulate, a mogu ne mogu ni da zamislim koliko bi napredniji sistemi mogli da postignu. U stvari, lažem, mogu jasno da vidim; mogli bi prosto da dođu do apsolutne preciznosti, kojom bi čak prevazišli način govora i izražavanja većine običnih prevodilaca.
Onda sam verovao da će bar psiholozi i psihijatri biti pošteđeni terora mašina, jer oni ipak moraju dosta da osluškuju svoje pacijente, i da reaguju svaki put na drugačiji način na osnovu svojih znanja, empatije i intuicije. Ali čak i sve to može biti, kroz dugotrajan proces i nove programske jezike, učitano i u memoriju inteligente mašine. U stvari, sa takvim ogromnim kapacitetima, mašina automatski postiže mnogo bolje rezultate nego čovek, jer mašina ne može da ima pad koncetracije, ne može da ima „loš dan“, ne može da „dobije“, ne može da joj se spava ili da prosto bude nezainteresovana u datom trenutku.
Na kraju nas sve to vraća na programere. Oni su ti koji će stvarati takve visoko inteligentne mašine, koji će im davati život kroz pisanje odgovarajućih programa. Zato je programiranje jedan od najizvesnijih poslova budućnosti.
Powered by blog.rs