web-code

Kako naučiti programirati danas?

Kako i od kuda krenuti učiti programirati? Koji programski jezik i alate odabrati a koje ne.

Ovdje se nalazi popis “resursa” nastao iz mojih razgovora ovih dana, na temu kako ući u svijet programiranja bez ikakvog predznanja, pa dalje, da se napravi nešto konkretno i upotrebljivo za druge i dalje prema “profi” radu.

Ukratko

Codecademy: ”Learn core programming concepts by doing”

  •  to je trenutno najbolje mjesto za početak, uči se programirati po konceptu “learn by doing”
  •  tu naučiti Javascript, HTML i CSS
  •  ne trošiti vrijeme na učenje PHP, Python a pogotovo ne Ruby i sve ostalo
  •  imaju i lekcije za cijeli “Web Developer Skills” kao i kako se povezati sa: “popular APIs to make your own applications” radi motivacije za zagristi dublje i nešto konkretno napraviti.
  • koristi JSFiddle kao online javni IDE (editor) za HTML, CSS, JavaScript, pravljanje malih online aplikacija i dijeljenje istih s drugim kao i za suradnju sa drugima na svom kodu.

I to je to za naučiti programirati u programskom jeziku interneta (JavaScript) i upoznati se sa web tehnologijom.

Korak dalje (za napredne):

Nakon naučenih osnova programerskih koraka potrebno je pametno odabrati “radnu/developersku okolinu” da bi se moglo nešto i napraviti.
Developerski svijet je “tehnološki” dosta raznolik i u stalnom turbulentnom razvoju.
Pogrešno odabrani alat, razvojna okolina često znači “izgubljeno vrijeme”.

Sljedi niz preporuka:

Node.js:
  • “runtime environment” (programski jezik JavaScript) za serversku stranu (platform for building applications) – pojednostavljeno: ono za programiranje “aplikacije” koja se vrti na serveru
  • velika zajednica, rast popularnosti Node.js, jednostavnost, … big plus
  • How do I get started with Node.js:

MongoDB:

  • “document-oriented database” aka NOSQL , Server-side JavaScript execution
  • iskustvo s MongoDB mi je jako pozitivno, uopće ne znam da ta DB postoji u mojim aplikacijama, jednostavno radi!

Sve ovo gore navedeno do sada, Node.JS, MongoDB, client side (web browser) ima nešto zajedničko, a to je JavaScript kao programski jezik.

JavaScript kao programski jezik weba se protegnuo i na serversku stranu aplikacija i na database.
Stoga je to trenutno najbolja investicija za učenje programskog jezika kako za početak ulaska u svijet software developmenta tako i za napraviti veliki skalabilni proizvod.
MongoDB je 4. po popularnosti u svijetu baza podataka a Javascript isto grabi prema vrhu.

U slučaju potrebe izbora “strong typing” programerskog jezika tu su C Sharp i Java, po meni jedino smisleni izbor.

Resursi za pomoć u učenju i radu:

Mozilla Developer Network

Kao referenca za web tehnologije, mjesto gdje ćete tražiti objašnjenja pojedine funkcionalnosti (JS, HTML5, CSS,…), dosta bolje nego w3schools ili po PDF knjigama po webu ili web sitovima .

GitHub:

  • Web-based Git repository hosting service  - praktički glavno mjesto na Internetu gdje sad svi stavljaju svoj open soruce kod. Od početnika do velikih tvrtki
  • tu programer provede većinu svog vremena u traženju odgovarajućih modula
  • potrebno je steći određenu vještinu u odabiru koji i čiji kod uzeti i ubaciti ga u svoj: minimalno par stotina zvjezdica, jaka zajednica, relativno nedavno ubačen novi kod.. itd..
  • popis koji je repozitorij najpopularniji
  • Git kao “revision control system” , ono gdje ćeš držati svoj “soruce code” i dijeliti ga s kolegama… danas najbolji izbor

Visual Studio

Za ostale editorske programerske zadatke koristan je Notepad++ –  tekst editor za svakodnevnu upotrebu. Ja ga koristi za svu dokumentaciju u txt, zapisivanje zadataka i sl. 

“Frameworks” koji dosta olakšavaju “programiranje”:

  • AngularJS – Javascript must framework – čudo deklarativnog programiranja ;) – nešto što se prije radilo mjesec dana sad se uradi u desetak minuta!
  • Bootstrap - “client front end framework” je definitivno ono sto u 95% slučajeva trebaš za napraviti ljusku web stranice
  • JQuery –  za rješavati sve ono što sa AngularJS ne uspiješ uraditi.

Razni informacijski resursi:

  • Stackoverflow - mjesto sa najtočnijim odgovorima za programere, systemsce i sl. Strogo je regulirano, boduje se sve,..  Nije loše otvoriti “account” na Stackoverflow i umjesto da se gubi vrijeme na Googlanje “nerješivog” problema okolo postavljati pitanja tamo. Otvaranje “accounta” na Stackoverflow, GitHub i sličnim web stranicama gdje se skupljaju “ljudi od struke” pomalo  se pametno gradi svoj “brand” u struci.
  • Hacker News  - praćenje vijesti oko “software development”, IT i šire 
  • Redditmust ”forum” za *svašta*, a oko ove teme za učiti programirati , općenito ili konkretno npr. JavaScript subreddit

Fullstack JavaScript platform

Za one koji se ne žele previše gnjaviti sa podešavanjem  i povezivanjem “alata” i “servera” da bi počeli sa programiranjem na vlastitom računalu postoji cijela paleta već pripremljenih “paketa” koji im nekom čarolijom sve to “podešeno”.

P.S.
Ako vas zanimaju ovakve teme i teme pokretanja vlastitog “businessa” u softverskoj industriji možete pratiti moje objave linkova/resoursa koji su mi korisni u svakodnevnom razvoju softverskih proizvoda na Facebook page BootstrapGo.

3 thoughts on “Kako naučiti programirati danas?”

Komentiraj