понедељак, 07. септембар 2015.

Uvod u C++ programski jezik

C++ programski jezik je viši programski jezik nastao 1983 godine kao poboljšanje C programskog jezika i to ne samo zbog uvođenja klasa; dodatnog omogućavanja objektno orjentisanog programiranja već što je uveo i mnoštvo poboljšanja ali i prilagođavanja radu sa kompleksnim sistemima poput grafičkog korisničkog interfejsa i mrežnih okruženja. Vi ne morate poznavati C programski jezik da bi ste učili C++ programski jezik, posebno što za razliku od C programskog jezika, C++ programski jezik mnoge stvari obavlja drugačije; plus se i dalje razvija. Moja preporuka vama je da bar naučite najosnovnije stvari u C programskom jeziku pre nego što se posvetite C++ programskom jeziku i pored toga što će vam reći da učenje C++ programskog jezika može biti prednost ako ne znate C programski jezik. Neznanje nečega za mene nije nikad prednost. Mnoštvo današnjih programa koje viđate u računaru je uglavnom programirano u C++ programskom jeziku; posebno igrice. Mnogi programi danas prelaze u C#  programerski jezik zato što je mnogo lakši i jednostavniji za programiranje, međutim neke kompanije ne žele da njihov projekat zavisi od Windows platforme i .NET tehnologije, što C++ programski jezik još uvek svrstava među najtraženijima na tržištu rada. Što se tiče nekog mog ličnog mišljenja, C++ programski jezik je definitivno najteži programski jezik ali se može koristiti na svim platformama uz minimalne korekcije. C++ programski jezik zahteva od programera da prvo projektuje program više nego drugi programski jezici pre nego što ga napišete. Ne možete da pravite WPF aplikacije u C++ programskom jeziku iako mnogi tvrde da je to moguće preko .NET API-a koji takođe zahteva .NET Framework ali možete programirati aplikacije i za iOS i Android platforme.


( C++ Programming )

Za učenje C++ programskog jezika možete koristiti mnogobrojne tekst editore, kompajlere i IDE-e u zavisnosti od operativnog sistema i vaših potreba, ali za ozbiljnije projekte najbolje je da koristite Qt razvojno okruženje ako koristite Linux operativni sistem, ali ako koristite Windows; najbolje odmah pređite na Microsoft Visual Studio 2015 čak iako vas u školama uče da koristite DEV-C++.

Kako da napravite jednostavan „Hello World“ program u C++ programskom jeziku?


Za razliku od C programskog jezika o kojem takođe pišem na svom blogu; koristim VIM tekstualni editor i GCC kompajler na Linux platformi dok za učenje C++ programskog jezika koristim Microsoft Visual Studio 2015 i Windows 10 platformu.  Microsoft Visual Studio je odličan IDE i ja ga smatram najboljim. Microsoft Visual Studio nije projektovan za jednostavne aplikacije već za pravljenje ozbiljnih programa i projekata ali je definitivno najbolje okruženje za programiranje. Vama će pre svega olakšati kodiranje, preuzeće na sebe debug-ovanje i kompajliranje tako da se vi možete isključivo posvetiti C++ programskom jeziku.

Pokrenite Microsoft Visual Studio; kliknite na New; zatim Project… ; Visual C++; Win32 i izaberite Win32 Console Application šablon. Unesite naziv programa i podesite direktorijum u kom želite da snimite vaš program. Program nazovite „Hello World“ zatim pritisnite „OK“. Pokrenuće se čarobnjak i pritisnite „Finish“. 


( Izbor Console Application šablona u Microsoft Visual Studio 2015 )

Pogledajte sa vaše desne strane monitora „Solution Explorer“ i potražite Hello World.cpp fajl i kliknite na njega ukoliko ne vidite prikaz istog fajla sa vaše leve strane u Code Editor-u.



// Hello World.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int main()
{
    return 0;
}
 

Na već napisani kod, dodajte naredni da vaš kod kompletan izgleda ovako. Naravno u vašem programu koristite vaše ime i prezime. Kod celog programa izgleda ovako:



// Hello World.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;


int main()
{
       cout << "Hello World" << endl;
       cout << "from Manuel Radovanovic" << endl;
       system("PAUSE");

    return 0;

}


Kliknite na File; zatim na Save All. Sad možete pokrenuti vaš program na F5. Ukoliko imate instaliran Avast antivirusni program, on će se aktivirati da proveri vaš program koji ste upravo napravili i ukoliko prekinete kod Avast-a tu proceduru pre nego što on proveri vaš program, Avast će ga izbrisati i Microsoft Visual Studio će vam prijaviti grešku. U tom slučaju pritisnite opet F5 i pustite Avast antivirusni program da odradi svoje. Takvo ponašanje antivirusnog programa može biti iritirajuće ali će vam na kraju otvoriti Command Prompt sa rezultatom vašeg programiranja. 

Hello World
from Manuel Radovanovic
Press any key to continue . . .       

Ukoliko ste dobili ovakav rezultat ali sa vašim imenom i prezimenom. Čestitam! Upravo ste napravili vaš prvi program u C++ programskom jeziku.

Ali šta znači C++ kod koji je napisan?

Prva linija koda vam je generisani komentar. Komentari u jednom redu se uglavnom označavaju sa // dok komentare koje pišete u više redova označavate početkom komentara /* i krajem komentara */.

Komentari služe isključivo programerima da se lakše snađu u kodiranju dok ih kompajler apsolutno ignoriše. Ovako se komentari pišu i u C programskom jeziku, ali treba da imate u vidu da je // komentar nastao u C++ programskom jeziku i da je uveden u C programski jezik i da ovaj tip komentara će te retko sresti u starijim C programima. Navedeni komentar možete ostaviti, obrisati ili promeniti po vašoj želji.

Kad god pokrenete novi projekat za konzolnu aplikaciju, Microsoft Visual Studio će unapred generisati jednu datoteku zaglavlja stdafx.h koju nećete videti ukoliko ne koristite Microsoft Visual Studio već neki drugi  IDE-e. Ali u Microsoft Visual Studio-u, ova datoteka je obavezna i nemojte je brisati. Pored datoteke zaglavlja, generisani kod sadrži i praznu main() funkciju identičnu kao u C programskom jeziku. Od ove funkcije počinje izvršavanje vašeg programa i na nju će te se brzo navići. Nemojte ovoj funkciji da menjate naziv jer funkcija mora da se zove main() kako bi zadržala posebno mesto u strukturi programa iznad svih drugih funkcija.

Pored datoteke zaglavlja koju je generisao Microsoft Visual Studio, prvo dodajemo pretprocesorsku direktivu iostream koja je takođe datoteka zaglavlja ali za razliku od C programskog jezika, zaglavlja standardnih biblioteka za C++ programski jezik nemaju nastavak „.h“. Unapred prevedena zaglavlja su tehnika koju moderni kompajleri koriste radi ubrzanja procesa prevođenja programa. Naredbom #include vi u stvari deklarišete određenu datoteku zaglavlja. Ova iostream datoteka zaglavlja vam u ovom primeru omogućava da koristite objekat cout ( Console Out ) sa kojim ispisujete tekst na konzoli sledećom naredbom.



using namespace std;

Vi u stvari omogućavate da pristupate direktno objektu std koji se nalazi u datoteci zaglavlja. To u prevodu znači da zbog ove naredbe vi ne morate pisati ovako sledeću liniju koda:



std::cout << "Hello World" << endl;

Već skraćeno.



cout << "Hello World" << endl;
 

Naredba ili preciznije konstanta endl označava prelaz u novi red. To je isto kao da ste pritisnuli Enter na tastaturi prilikom kucanja teksta. Bez naredbe endl, dobili bi ste dva reda teksta u jednom redu:

Hello World from Manuel Radovanovic

Naredba system("PAUSE")se koristi da nam zaustavi konzolu da konzola posle izvršavanja nebi nestala sa ekrana. Uvek se dodaje iznad naredbe:



return 0;

koja jednostavno vraća funkciji main() rezultat 0 i na taj način gasi vaš program. Ovu liniju koda jednostavno shvatite kao naredbu za kraj programa.

Kako to sve izgleda možete pogledati i na video-u:

 
( C++ Tutorial - 1. Hello World video file )