07/09/2015

Nauči C++ kao profesionalac, izgradi čvrste osnove od nule

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 jedan od teži programski jezika 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. Smatra se brži od C# i Java programskog jezika. 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++ Programski jezik je brži od C# i Java programskog jezika )

Za učenje C++ programskog jezika možete koristiti mnogobrojne tekst editore, kompajlere i IDE - integranisana razvojna okruženja u zavisnosti od operativnog sistema i vaših potreba. Profesionalni C++ programeri koriste komercionalna integranisana razvojna okruženja poput CLion i ReSharper C++. Međutim i vi možete koristiti jedno od najboljih integranisani razvojni okruženja poput Microsoft Visual Studio Community zato što je Community edicija besplatna. Ali uzmite u obzir da ovo razvojno okruženje na žalost ne možete da koristite na Linux operativnom sistemu. Nego umesto njega možete koristiti Visual Studio Code. Što se tiče mnoštva drugih, starijih i manjih integransiani razvojni okruženja kao što je na primer DEV-C++. On se pre dosta koristio u školama u Srbiji. To takođe možete koristiti. Možete čak pogledati i Manuel's No-Talk Programming Videos i na njemu pronaći kako se instalira Blocks::Code ili Notepad++ i za Windows i za Linux operativni sistem. Nije retkost da neki korisnici Linux operativnog sistema koriste čak Vim tekstualni editor. Izbor je samo na vama. Što se nas tiče, s obzirom da je ovo tutorial za C++ početnike, mi ćemo koristiti Visual Studio Code. Svejedno je da li ovo integranisano razvojno okruženje koristite za WindowsLinux  ili MacOS operativni sistem, ali postoji razlika u instalaciji kompajlera koje morate imati instaliranog u vašem operativnom sistemu. 

Kako da to instaliram i napišem moj prvi C++ program?

Ukoliko koristite Windows operativni sistem; neophodno je da instalirate MinGW-w64. Ukoliko ne znate kako da to uradite najbolje je da pogledate sledeći video. U njemu je pre instalacije Notepad++ prikazano kako se instalira MinGW-w64


( Windows - 12. - How to install Notepad++ ? )

Ukoliko ste pogledali video i uspešno instalirali MinGW-w64 , otvorite Command Prompt i proverite sledeće:

C:\>gcc --version
gcc (MinGW-W64 x86_64-msvcrt-posix-seh, built by Brecht Sanders) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


C:\>g++ --version
g++ (MinGW-W64 x86_64-msvcrt-posix-seh, built by Brecht Sanders) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


C:\>gdb --version
GNU gdb (GDB for MinGW-W64 x86_64, built by Brecht Sanders) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\>clang --version
(built by Brecht Sanders) clang version 15.0.7
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: D:/mingw64/bin

C:\> 

Ukoliko je sve u redu tek sad možete instalirati neko integranisano okruženje koje hoćete da koristite za učenje C++ programskog jezika. Pogledajte na primer video kako se instalira Microsoft Visual Studio Community .


 ( Windows - 4. How to install Microsoft Visual Studio Community? )

Ili pogledajte video kako se instalira Visual Studio Code. koji ćemo mi da koristimo.


( Windows - 1. How to install Visual Studio Code & .Net Core ? )

Ukoliko i vi koristite Linux operativni sistem, vama je neophodno da imate instaliran GCC. Na nekim linux distribucijama on je po defaultu već instaliran ali ako nije ukucajte sledeće komande u terminalu.

sudo apt-get update
$ sudo apt-get install build-essential gdb

Zatim proverite da li je sve uspešno instalirano:

$ gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Jel to sve, kako da napišemo i izvršimo prvi program u C++ programskom jeziku?

Ono najvažnije ste već odradili. Dalje zavisi od vašeg izbora integranisanog razvojnog okružena. U nekim ne morate više ništa da podešavate dok u nekim možda trebate izabrati odgovarajući kompajler u settings-u aplikacije koju koristite. Prvo kreirajte direktorijum helloworld u kom ćete kreirati vaš program i pokrenite Visual Studio Code

manuel@manuel-virtual-machine:~$ mkdir cpp_tutorial
manuel@manuel-virtual-machine:~$ cd cpp_tutorial/
manuel@manuel-virtual-machine:~/cpp_tutorial$ mkdir helloworld
manuel@manuel-virtual-machine:~/cpp_tutorial$ cd helloworld/
manuel@manuel-virtual-machine:~/cpp_tutorial/helloworld$ code .
manuel@manuel-virtual-machine:~/cpp_tutorial/helloworld$ code .
manuel@manuel-virtual-machine:~/cpp_tutorial/helloworld$ code .
manuel@manuel-virtual-machine:~/cpp_tutorial/helloworld$  

Kad vam se otvori Visual Studio Code , kliknite levo na dugme extensions i instalirajte sledeće:
  • C/C++ IntelliSense, debugging, and code browsing.
  • Popular extensions for C++ development in Visual Studio Code.
  • UI Themes for C/C++ extension.
  • The bleeding edge of the C++ syntax
Zatim zatvorite i ponovo otvorite Visual Studio Code. Kreirajte u direktorijumu helloworld novu datoteku i nazovite je helloworld.cpp. Unesite sledeći kod:

#include <iostream>

/*
    My first C++ program 
*/

int main() 
{
    std::cout << "Hello World" << std::endl; // print hello world
}  

Snimite vaš projekat ili još bolje podesite u Visual Studio Codu-u da on sam automatski snima još dok kodirate. Koliko to vredi znaćete kad vam iznenada nestane struja a vaš trud sačuvan. Prvo obratite pažnju da prva linija koda je pretprocesorska direktiva iostream. To je 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 komandom:

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

Komanda endl vam služi da pređete u novi red. To vam je isto kao da ste u terminalu pritisnuli Enter na tastaturi, inače bi se u slučaju više komandi za ispis teksta; sav tekst pisao u istom redu. Ukoliko koristite Microsoft Visual Studio Community , on će unapred generisati jednu datoteku zaglavlja stdafx.h koju nećete videti ukoliko ne koristite neku ediciju Microsoft Visual Studio-a već neki drugi  IDE-e. Ali u Microsoft Visual Studio-u, ova datoteka je obavezna i nemojte je brisati. Sledeće linija koda je višelinijski komentar. 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. Višelinijski i jednolinijski komentari u kodu su apsolutno isti u mnogim programskim jezicima, tako da se lako naviknete na njih. I na kraju da objasnimo najvažnije; specijalnu 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. Ukoliko ste sve odradili kako treba i shvatili šta ste kodirali kliknite ikonicu Run ili pritisnite taster F5 na tastaturi. Kad to uradite dobićete sledeći rezultat:

Hello World
[1] + Done                       "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-vn3yaggg.mjy" 1>"/tmp/Microsoft-MIEngine-Out-x3wnxytc.k1p"
manuel@manuel-virtual-machine:~/cpp_tutorial/helloworld

Ako ste dobili isti ili sličan Hello World rezultat; čestitam; upravo ste napisali i izvršili svoj prvi C++ program. Kako ovo sve izgleda možete pogledati i u video-u.


 
( C++ Tutorial - 1. Hello World )










 













 

  

Nema komentara:

Objavi komentar