Jako, że od jakiegoś czasu uczę się programowania w języku C++ i mam już w miarę ugruntowaną podstawową wiedzę (13 rozdział "Symfonii C++ Standard" Jerzego Grębosza; swoją drogą bardzo dobra książka), chciałbym stworzyć swoisty kurs programowania, w którym postarałbym się wszystko wytłumaczyć, aby nawet pani Krysia zrozumiała :-) . Zanim kupiłem wcześniej wspomnianą książkę, szukałem poradnika w sieci, ale w każdym po trzeciej, czy czwartej lekcji pojawiały się błędy z którymi nie umiałem sobie wtedy poradzić. Bazując więc na dosyć niedawnym doświadczeniu (około 4 miesiące temu) chcę zrobić serię wpisów na temat C++.
Kilka słów wstępu
Język programowania to najprościej mówiąc zbiór poleceń, które komputer jest w stanie zrozumieć i zastosować się do poleceń. C++ jest językiem, który w przeciwieństwie do coraz bardziej lansowanych języków takich jak Html5*, JavaScript, czy PHP zapewnia większą kontrolę nad programem i większą wydajność. Jest tak, ponieważ C++ wymaga tzw. Kompilatora, czyli programu, który jednokrotnie zamienia tekst napisany przez człowieka na plik zrozumiały dla komputera, podczas gdy inne przeze mnie wymienione używają interpretera, który na bierząco przetwarza kod źródłowy (o tym później). Łatwo się domyślić, co jest szybsze ;) Przejdźmy do sedna.
Wybór narzędzi
Jak już wspomniałem potrzebny nam będzie kompilator. Musimy także mieć program do edycji plików tekstowych. Istnieją też tak zwane Zintegrowane Środowiska Programistyczne (po angielsku IDE - Integrated Development Enviroment). Są bardzo pomocne, bo oprócz umożliwienia uruchomienia naszego programu jednym przyciskiem w edytorze często program "przewiduje" co chcemy napisać i oferuje autouzupełnianie, co pozytywnie wpływa na szybkość pisania. Teraz musimy wiedzieć jakiego systemu operacyjnego będziemy używać. Miałem doświadczenie w pisaniu pod Windowsem i Linuksem, niestety posiadaczom Maców mogę polecić tylko instalację dowolnej wspieranej dystrybucji Linuksa.
Programy pod Windows
Polecane przeze mnie IDE dla Windows , to:
- Microsoft Visual Studio Express
- Code::Blocks
- Qt Creator
Microsoft Visual Studio Epress
Jak mówi nazwa jest to wersja Express, czyli darmowa (także dla przedsiębiorstw!), ale ma trochę okrojone możliwości. Dla nauki programowania nadaje się jednak prawie idealnie.
Wymagania systemowe to
Program Visual Studio Express 2013 for Windows DesktopWymagania systemowe:
Obsługiwane systemy operacyjne
Windows 7 z dodatkiem SP1 (x86 i x64)
Windows 8 (x86 i x64)
Windows 8.1 (x86 i x64)
Windows Server 2008 R2 z dodatkiem SP1 (x64)
Windows Server 2012 (x64)
Windows Server 2012 R2 (x64)
Wymagane składniki
Internet Explorer 10
Wymagania sprzętowe
Procesor 1,6 GHz lub szybszy
1 GB pamięci RAM (1,5 GB w przypadku uruchamiania na maszynie wirtualnej)
4 GB dostępnego miejsca na dysku twardym
Dysk twardy 5400 RPM
Karta wideo obsługująca program DirectX 9, działająca w rozdzielczości co najmniej 1024 x 768
Należy wybrać wersję "for Windows Desktop". Instalator jest intuicyjny i łatwo się w nim połapać. Bez darmowej rejestracji można używać programu przez maksymalnie 30 dni. Można pobrać albo instalator sieciowy ("Zainstaluj teraz") albo pobrać obraz dysku i zamontować go np. programem Daemon Tools Lite. Wspomnę, że VS ma najlepszy IMO kompilator i debugger. Visual Studio można pobrać z tej strony.
Code::Blocks
Jest to bardzo ciekawe środowisko, chociaż na pierwszy rzut oka może zdawać się, że ma za dużo opcji. Mi osobiście jednak nie przypadło do gustu. Program jest całkowicie darmowy. Jeszcze jedna uwaga: początkującym polecam pobrać ten większy plik (około 90 MB), bo jest od razu skonfigurowany z kompilatorem i nie trzeba się o nic martwić.
To jest strona pobrań dla Windowsa. Jak opisano pod linkami do plików wersja z USER w nazwie pozwala na instalację bez uprawnień administratora. W zasadzie nie ma żadnych szczególnych wymagań. Z doświadczenia wiem, że uruchamia się na Viście z 512 MB ramu :-) .
Qt Creator
Jedno z najczytelniejszych środowisk. Gdyby nie to, że nie ma zintegrowanego kompilatora, to byłby to mój faworyt. Program, tak jak Code::Blocks jest darmowy.
Jeżeli chcemy tylko zestaw narzędzi do czystego C++, to wystarczy pobrać ten plik. W mojej opinii jest to jeden z najszybszych IDE.
EDYCJA:
Jest dostępna wersja Qt Creatora z kompilatorem MinGW, napisałem wpis z instrukcją instalacji.
i dla Linuksa
W tym wypadku mam podobne narzędzia jak w Windowsie (oczywiście pomijając MS VS), czyli
Do obu opisy się zgadzają z tymi z poprzedniego paragrafu, tylko sposób instalacji jest inny. Podam sposób instalacji dla przykładowych dystrybucji. Wystarczy wykonać podane polecenie w terminalu.
Qt Creator
Ubuntu, Linux Mint, Debian:
sudo apt-get install build-essential qtcreator
Fedora:
sudo groupinstall development-libs development-tools
sudo yum install qt-creator gcc-c++ gcc gdb
openSUSE:
sudo zypper install -t pattern devel_C_C++ && sudo zypper install qt-creator
Code::Blocks
Ubuntu, Linux Mint, Debian:
sudo apt-get install build-essential codeblocks
Fedora:
sudo yum groupinstall development-libs development-tools
sudo yum install codeblocks gcc-c++ gcc gdb
openSUSE:
sudo zypper install -t pattern devel_C_C++ && sudo zypper install \
gdb codeblocks
Zakończenie
Właśnie mamy zainstalowane środowisko pracy. W następnych częściach przedstawię podstawy pisania aplikacji.
PS. Gdyby coś było nie jasne, to piszcie w komentarzach.
* Tak, to nie jest właściwie język programowania.
;D