Tuesday, April 14, 2015

Koji programski jezik da učim?

Sve! Šta… kako… zašto? Najiskreniji odgovor koji bi vam ja mogao dati jeste učite TypeScript jer sve ostalo je zastarelo. Problem je što TypeScript ne može da radi sve to što rade svi ostali programski jezici. Kroz sve ove godine; programiranje se drastično pomerilo sa desktop programiranja na veb programiranje i mobilne aplikacije. Danas hoćete da vaša aplikacija bude na Internetu i da joj možete pristupati sa koje god hoćete lokacije i sa bilo kog uređaja i sa bilo kog operativnog sistema. A sve to je kompleksno i zahteva da se koristiti više programski jezika. Zato čak i ako znate neki programski jezik profesionalno, teško da nećete imati potrebu da učite i druge programske jezike koje će biti uključene u projekat na kom radite. Najednostavnije rečeno; nemoguće je učiti JavaScript ili PHP a da ne znate HTML5, CSSAjax itd. Zatim tu su i mnogobrojni framework-ovi koji u principu olakšavaju kodiranje kad rade, ali to takođe zavisi od vaših finansija. Kako? Ako možete plaćati hosting i preko 1000 evra godišnje onda vam preporučujem Azure, ASP .Net Core, MSSQL i svu Microsoft tehnologiju ili Java programski jezik sa Oracle tehnologijom i bazama podataka. Ako možete plaćati hosting oko 200 evra godišnje, da zakupite svoj server; onda možete koristiti i Django ili Laravel. Ali ako je vaš godišnji budžet za hosting manji od 100 evra; onda ste prisiljeni da koristite share hosting sa svim njegovim ograničenjama. U tom slučaju ostaje vam da koristite čist PHP i MySQL baze podataka. Tako da izbor programskog jezika zavisi od mnogo čega nego što vi mislite. 


( Top lista najboljih programski jezika za 2022 godinu )

Svake godine postoje liste i rangiranje programski jezika, bazirano na tome šta se najviše traži od najveći svetski kompanija, statistike ili samo nečijeg mišljenja. Te liste možete pogledati na YouTube 
u stotinama video-a. Sve liste su slične, ali mnogo je važnije da znate šta hoćete da programirate i da realizujete. Jer tek tako se prilagođavate vašem projektu i poslu. Isto tako ako programirate mobilnu aplikaciju, vi možete isprogramirati vašu mobilnu aplikaciju samo za Android uređaje, ali ako ona ne radi i na iOS uređajima vi ste već u startu izgubili 50% tržišta! Ako pitate za igrice to zavisi od kompanije koja pravi igrice, C# ili C++ programski jezik; ali u suštini treba znati obadva. Zato vam kažem, učite sve što vam dođe pod ruku. Niste ni svesni koliko imate sreće što danas postoji Internet i sve informacije su vam na dohvatu ruke. Šta vas sprečava da naučite bilo šta?

Ali… koji prvi jezik da učim?

Da li vi želite da budete programer? Da li vi želite da se snalazite u svakom projektu bez obzira koja kompanija i tehnologija je u pitanju? Onda se prvo vratite malo u 80te, i krenite sa najlakšim programskim jezikom na svetu. QBasic! Pogledajte tutorijal ovde. Zatim počnite od osnova Python programskog jezika. Pogledajte tutorijal ovde. Zatim izađite iz udobnosti Windows okruženja, naučite da se snalazite u Linux operativnom sistemima i probajte da koristite mnogobrojna distro-a. Pogledajte tutorijal ovde. Zatim krenite sa CC++ i C# da znate sve o desktop programiranju, formama, WPF itd. Uz ove stvari se uče uporedo i MSSQL baze podataka, ali i LINQ. Tek onda pređite na HTML5CSS, Bootstrap, JavaScript, JQueryAjaxPHPJavaDjango, Node, React, AngularLaravel itd, ali se koristi i MySQL, Postgresql, MongoDB i obavezno TypeScript. Za mobilne telefone preporučujem Kotlin. Ali računajte da se morate posvetiti i mnogobrojnim uslužnim programima poput Photoshop-a, da se razumete i u veb dizajn i video editovanje. 

Pa koliko ti to programski jezika znaš?

Ja sam skoro celi svoj život posvetio računarima i programiranju. Zato je odgovor mnogo. Često kažem da znam više od 15 programski jezika, samo zato što imam sertifikate za 15 programski jezika. Inače ja sam samouk. Opet imajte na umu sve to što se kodira i uči se lako i zaboravi, promeni ali je mnogo lakše se podsetiti nečega i za kratko vreme se prilagoditi potrebama projekta nego učiti sve iz početka. Neka iskustva ostaju i nikad se ne zaboravljaju.      


( Programski jezik C#, najmoćniji jezik za Windows desktop aplikacije )

Pogledajte moj početak, za mene je on najbitniji; tako treba da bude i vaš početak najbitniji. Krajem 80tih, jedini programski jezik koji ste i mogli učiti u školskom sistemu bivše Jugoslavije, bio je Basic. Za ostale ste programske jezike samo čuli. Tražiti od roditelja da vam kupe računar bilo je nemoguća misija. Zato imati čas informatike, sedeti sa još tri prijatelja za jednim računarom u školi, bila je pravi informatički događaj koji se ne zaboravlja. Uključite Amiga računar, ubacite prvu veliku tanku disketu i sa njom podignete DOS sistem. Zatim ubacite drugu disketu sa kojom instalirate Basic okruženje i tek onda pišete kod. I stalno ste morali tako da prođete sve korake instaliranja ako ste hteli da koristite računar. O kopijama vaših malih programa i da ih nosite kući nije bilo ni govora. Niko u školi nije imao računar kod kuće. 


( MS-DOS - 80tih )

Ali i pored toga se uvek učilo naporno ali i sa zadovoljstvom. Crtali smo tastaturu, znali smo napamet gde stoji koje slovo na tastaturi, rešavali smo matematičke zadatke, crtali smo časovnik sa kazaljkama kodom, pretvarali smo brojeve u nula i jedinice, dok osnovne komande kao što su CLS da očisti ekran, PRINT da pišete po ekranu, INPUT da prihvatite unos, GO TO da skočite na neki drugi red, IF... THEN... uslov, REM komentar  i END da završite program; to jednostavno niste mogli da zaboravite.
Koliko pamtim te komande, govori činjenica, da ni posle građanskog rata u bivšoj Jugoslaviji, ja ih nisam zaboravio i samo sam razmišljao da ću jednog dana kupiti svoj prvi računar i programirati. Sad su komande mnogo složenije, a što se računara tiče, trenutno bi volio da imam Tianhe 2.  


( Tianhe 2 - Super računar ) 

Jedan od mojih najradosniji dana, bio je jedan dan 1997 godine u Beogradu, kad sam došao premoren sa posla i kod kuće zatekao moj prvi računar na stolu. Prodavci računara su ga doneli i sklopili. Bio je to 386 računar, sa monitorom od 15“ i sa operativnim sistemom Windows3.1  


( Microsoft Windows 3.1 )

Korišćenje i najosnovnije stvari u svom kompjuteru nisam učio na kursu za početnike. Taj kurs sam preskočio. Sećam se da sam kupovao nekoliko starih informatičkih knjiga na ulici, jer sam pretpostavljao da ću za moje programiranje naći pomoć, ali te knjige nisu imale nikakve veze sa stvarima u mom računaru. Tako prva lekcija koju sam naučio je: Čitajte Help! Posle osnovih Windows aplikacija, čak i Microsoft Office3.0; ja sam i dalje preturao po kompjuteru da nađem gde i kako se piše Basic program. I da li je to bila sreća ili sudbina; ne znam, ali sam našao u Control Panel-u, nešto što se zvalo QBasic i što je radilo u DOS-u. Kad sam to pokrenuo, pročitao Help, otkucao sam komande na plavom Screen-u QBasic editora, a rezultate dobijao na crnom od DOS-a, pritiskom na taster F5. Zbog uzbuđenja nisam mogao ni da spavam. Moja želja za programiranjem bila je ogromna.  


( QBasic - moje prvo integranisano razvojno okruženje za programiranje u Basic-u)

Brzo sam naučio da pravim programe koji rade u DOS-u, ali sam još brže postao i svestan ograničenja QBasic-a. Izvršni fajlovi koje je QBasic pravio su bili u formatu *.bat, dok sam ja hteo da moji programi budu u *.exe fajlu. Preko oglasa sam iznajmio časove QBasic-aali čovek nije znao ni upola QBasic kao ja i nije bilo smisla da ga dalje angažujem. Predložio mi je da pređem na Paskal. Instalirao mi je Turbo Pascal na hard disk ali mi se taj programski jezik nije ni malo svideo. Ja sam hteo QBasic koji je jednostavan.


(Turbo Pascal - izrazito popularan programski jezik polovinom 90tih )

Zato sam se obratio privatnoj školi računara. Oni nisu imali časove QBasic-a, ali jedan od profesora u toj školi je bio stručnjak za QBasic. Odmah sam ga angažovao za privatne časove i pored toga što ti časovi nisu bili baš jeftini svaki je vredeo pravo bogatstvo. Taj profesor mi je promenio život i danas smo veliki prijatelji. Svoj 386 kompjuter sam nadogradio na Pentijum 1, dok sa Windows3.1 prešao na Windows 98. QBasic je napredovao. Jednostavno je kompajlirao fajlove u *.exe fajl. 

                                          
( QuickBasic - integranisano razvojno okruženje za Basic, sa kompajlerom ) 

Profesor mi je takođe poklonio mnoštvo korisnog koda sa kojima sam mogao praviti interesantne male programe, ali u suštini DOS mi je sam po sebi brzo postao ograničen. Zato sam sa DOS-a prešao na Windows operativni sistem. Visual Basic 4, 5 i 6 su proširile moje znanje ali i upoznale sa principima korišćenja baza podataka. Završio sam kurs Access-a, 1997 godine, koji mi je mnogo značio u mnogim projektima.


( Jedna od izuzetnih knjiga, Visual Basic 6 knjiga sa CD-om ) 

Posle 2002 godine, Visual Studio .NET i sva .NET tehnologija je promenila Visual Basic za čak 90%, ali je takođe sa Framework 1.0 dala velika krila u programiranju. Posebno što su se tada najviše pojavile knjige za većinu stvari koje su bile za svakog programera nove i nepoznate. 


( Microsoft .Net Tehnologija ) 

Danas jedna od najboljih tehnologija je .NET  Danas je C# najjednostavniji i najtraženiji programski jezik za Windows desktop aplikacije. Znam da mnogi veruju da Objectiv C odlazi u istoriju dok je Swift budućnost, ali ja ne mislim tako.

Jedno je sigurno, treba da učite sve jezike! Internet je u tome prava riznica tutorijala.     















No comments:

Post a Comment