Uvod u programiranje – saveti za početnike

Share

U samom uvodu ovog teksta želeo bih da vam prenesem svoje iskustvo, ponudim nekoliko saveta u vezi sa tehnologijama i njihovom primenom, napišem kratak vodič kroz jezike koje sam i sam prošao i kako sam, učeći, postao Frontend programer.
Prvo pitanje koje treba da postavite sebi i budete realni sa odgovorom – “Zbog čega želim da se bavim programiranjem?”
Veoma jednostavno, zar ne?

Zašto je najvažnije pozabaviti se ovim pitanjem? Upravo zbog toga što uz programiranje i rad u IT firmama pored cool stvari, dobre zarade, česte organizacije meetup-ova, druženja, izleta, remote rada, postoji i druga strana – a to je velika odgovornost, požrtvovanost, odricanje zarad napredovanja i učenja novih tehnologija, a sve u cilju praćenja novih trendova u vremenu gde je tehnologija uzela velikog maha i brzo napreduje.

Osnovni i prvi preduslov za brzo i lako savladanje tehnologija jeste poznavanje engleskog jezika. Svi tutorijali, sve knjige jesu na engleskom jeziku. Svaka komunikacija se vrši na istom, a svaki problem ili rešenje koje pretražujete je, takođe, na engleskom jeziku.

Bitne stvari koje treba imati na umu prilikom ulaska u svet kompjutera, programiranja ili nekog drugog IT posla su:

  • Početi postepeno od osnova, i to savetujem za svaki jezik. Ma koliko ste odmakli sa Javom, ako planirate da se prebacite na C# obavezno neka to bude učenje od samog početka.
  • Ne poredi se sa drugim developerima, ne napreduju svi istom brzinom. Važno je biti uporan i istrajan u svemu ma koliko bilo teško. Treba izaći iz zone komfora jer je programiranje takvo – svaki problem je rešiv ali je svaki problem jedinstven i treba mu prići na takav način.
  • Takmičiti se sa drugima može da ima negativno delovanje po vas jer ćete tada sve da prelazite brže kako bi sustigli nekog. To nije rešenje.
    Iz iskustva govoreći: na samom početku, nakon istraživanja o programiranju i jezicima kao takvima, treba se opredeliti u kom pravcu želite da se usavršavate, učite i na kraju čime da se bavite. Programiranje je veoma širok pojam i provlači se kroz mnoštvo sfera – od weba, programa ili igrica pa sve do robotike, nauke, IoT projekata.
  • Treba naučiti kako da raspodelite vreme kako u učenju tako i u radu na projektima. Bitno je da se stekne radna navika kao i navika kodiranja.
  • Postavite sebi male ciljeve za početak, ne zbog toga što ste nemarni prema svom napretku, već zbog toga što brinete upravo za taj napredak. Napravite To do listu stvari koje želite da završite tog dana makar to bila samo jedna stranica čitanja, gledanje jednog video tutorijala ili pisanje 20 linija koda.
  • Napravite git account i commitujte svakog dana značajne promene. Na taj način ćete najbolje pratiti svoj napredak.

Programming Language

Dakle imamo osnovne podele (pravce) a to su: Operativni sistemi, aplikacije za telefone, web aplikacije i web generalno, VR, AR, Game development, Robotika, Mreže, Sistem Administratori, DevOps, IoT.

Popularni programski jezici:

Java, C, C#, C++, Objective-C, Swift
, JavaScript, PHP, Python, Ruby

Kao što smo rekli, najbolje je odlučiti se za jedan pravac i držati se toga. Niko ne garantuje da će biti lako i brzo. Tutorijale i knjige koje nude učenje za 21 dan, 10 dana i tome slično preskočite. Najbolje je izabrati jedan jezik, držati se osnova, pravila, razumeti strukturu podataka, varijable, naredbe, sintaksu samog jezika i naravno nakon teorije dolazi samo praksa, praksa i praksa.
Posle toga prelazi se na viši level, a to je rad na projektu. Moj prvi projekat je bio lični portfolio sajt.

U narednom delu teksta ću vas, ukratko, provesti kroz programske jezike i njihovu primenu.

Java

Najviše se koristi za android aplikacije. Takođe imamo veliku primenu u IoT.
Java je veoma portabilna, cross-platform, (JVM) – java virtual machine. Inače je statically-typed jezik što znači da se code proveri pre nego što se aplikacija izbilduje. Dizajnirana je da bude slična C++. Java je OOP – objektno orijentisano programiranje.
Najpoznatiji framework – Spring.
U Javi su napisane mnoge stvari, najpoznatije: Eclipse, Hadoop, Android, App za Android…
* Statically typed language je brži od dynamically typed.

Python

Veoma svestran jezik, nalazi primenu skoro svuda, moćan i jednostavan za učenje. Preporučuje se za početnike jer razvija dobru logiku programiranja. Njegova moć i raznovrsnost se ogleda u tome što može da bude dobar kako za web aplikacije (backend framework Django) tako i za data analize, AI, analize u naučne svrhe. Većina developera koristi python kako bi napravili neki tool ili mini igricu za raspberry pi ili arduino.
Python je dynamically typed jezik, međutim kao takav je dosta brz.
Stvari napisane u python-u:
Atom, Eclipse, Sublime Text, PyCharm, Blender, BitTorrent, part of Ubuntu, Civilization VI koristi python za većinu taskova, Overwatch.

PHP

Programski jezik koji je namenjen konkretno za web – njegov fokus je na backend-u, programiranje web aplikacija na serverskoj strani. Veoma popularan i tražen jezik jer ipak, kao i kod JS, veliki deo web-a radi na php-u.
PHP je dynamically typed.
Najpoznatija web aplikacija napisana u PHP-u je upravo Facebook.

C, C++, C#

Slični jedan drugome, svi proizilaze iz C jezika, izuzev C#-a koji je Microsoftova perjanica. Sa fruge strane C i C++ su veoma teški za učenje. Ako se upustite u avanturu sa ovim jezicima imajte na umu da nećete naučiti samo jezik kao takav, već i kako kompjuter u stvari radi, šta se to sve dešava na low level programiranju jer je C najbliži maschine language.
C# razvijen od strane Microsofta služi za pravljenje aplikacija, takođe i za pravljenje igrica kroz Unity Game engine.
C# je statically typed jezik.
.NET kao framework koji ide uz C# koristi se za web.
C++, poznat po tome da je veoma moćan jezik, dozvoljava kontrolisanje kompjuterskih resursa – procesor, memorija.
Koristi se u game industriji, game engines, desktop programima. Mnoge AAA video igrice su napravljene u ovom jeziku. Veoma je kompleksan, statically typed jezik neverovatne brzine. Jednostavno rečeno – stvoren za sve i za bilo koju platformu.
U C/C++ su napisani pre svega operativni sistemi. C je odličan jezik za pisanje drivera za OS, a takođe i za pisanje kernela OS-a. Ovu moć mu daje upravo to što je low level jezik.
Napoznatije aplikacije/programi napisani u ovom jeziku su Winamp, Sublime TEXT.

JavaScript

JS nam omogućava da gradimo interaktivne web sajtove. Kao glavni programski jezik koji se koristi u webu, na frontend delu web-a nosi veliku popularnost – iz njega proističe mnoštvo framework-a i biblioteka kao što su React, Vue, Angular, Ember, jQuery. Primenu JS odnosno njegovog frameworka možemo naći i u backend-u, nodeJS-u, a isto tako i sa electronom može napraviti cross platform desktop aplikaciju.
Kao dynamically typed jezik, JS je spor za pravljenje desktop aplikacija ali koristi se i sve je bolji u tome.
JS, kao i PHP, je zaslužan za ceo web, tako da nema smisla nabrajati šta je sve napisano u JS-u.

Swift

Ako želite da se isključivo bavite razvojem native iOS i MacOS aplikacija, onda je upravo Swift za vas.
Swift je statically typed jezik, xCode (njegov IDE) će proveriti sve pre nego što se aplikacija izbilduje. Jezik je veoma mlad ali isto tako i veoma popularan i ima tendenciju da zameni Objective-C koji, takođe, služi za pisanje bilo čega što je pod Apple-om.
Čisto radi nabrajanja u Swiftu je napisan Firefox za iOS, Flappy bird, HN Reader.

Ruby

Popularnost Ruby jezika nalazimo prvo u njegovoj sintaksi koja je, pa skoro, kao da pišete nešto na engleskom jeziku. Ruby on Rails je framework koji je u stvari full stack web framework.
Dizajniran sa ciljem da programiranje načini lakšim i zabavnijim, našao je primenu u webu a isto tako i u pravljenju igrica. Ruby je dynamically typed jezik.

Nadam se da, nakon svega ovoga, imate bar malo jasniju sliku o tome kako izgleda put ukoliko se odlučite za programiranje. I nebitno je za koji jezik ste se opredelili, bitno je da istrajete u učenju istog. Učenje programiranja najbolje je kroz fakultet ili neki licencirani kurs, ali kroz celo školovanje bitno je motivisati sebe da učite i sami. Dobra knjiga, internet i dobri tutoriali su sve što vam treba za dobar početak.
Ako si gamer napravi tic-tac-toe, sudoku ili flappy bird. Pratite logiku same aplikacije.
Ako želis da bolje razumeš frontend, napravi svoj sajt.
Ako želis da napraviš full proizvod, web aplikaciju ili slično počni tako što ćeš napraviti neki online bookstore, blog, upotrebi google maps api za svoju ličnu web navigaciju.
Završavam ovaj tekst sa primerima nekoliko sajtova za početnike, koji vam mogu poslužiti za pravljenje dobre osnove programiranja. Sve najbolje.

W3Schools
CodeCademy
Udemy
WebnStudy
WebProgramiranje
EnkiApp
BestProgrammingLanguageForMe

 

Share

Prijavi se da prvi dobijaš nove blogove i vesti.

Ostavite odgovor

Stefan Radosavljević

Frontend developer @Quantox Technology
mm

Stefan već dve godine radi u Quantoxu kao Front-end programer a nedavno se okušao i kao predavač. Njegovi trenutni fokusi u radu su VueJS, Webpack, a od skoro i React. Uvek je spreman da pomogne kolegama a slobodno vreme provodi tako što uči nove stvari i trendove u vezi sa web developmentom i veliki je ljubitelj mačaka, linuxa i fotografije.

Prijavi se da prvi dobijaš nove blogove i vesti.

Kategorije