Krótki opis języka C oraz C++.

Dla całkowicie "zielonych" postanowiłem umieścić skrócony opis tych języków. Można się z niego dowiedzieć o najprostszych podstawach. Opisałem tutaj pewne cechy, składnię i porady dotyczące programowania. Bardziej wtajemniczeni programniści mogą sobie "odświeżyć" swoje wiadomości, lecz nikt nie nauczy się tu programować. Tego trzeba nauczyć się samemu - najlepiej pisząc jak najwięcej programów. Zakładam jednak, że czytając ten opis posiadasz już jakiś zasób wiadomości na temat podstawowych pojęć komputerowych, takich jak bajt, słowo, system szesnastkowy, kod ASCII, adres pamięci itp.

Na tej podstronie ukazuję różnicę pomiędzy C/C++ a innymi językami. Wszystkie bowiem języki można zaklasyfikować do dwóch rodzajów.

Języki C i C++ są kompilowane. Po skompilowaniu programu otrzymuje się tzw. moduły, które muszą być następnie połączone z tzw. bibliotekami. Dokonuje tego program zwany linkerem. Co oznacza linkowanie z bibliotekami? W innych językach zawarte są już pewne procedury, np. wejścia/wyjścia lub graficzne. W C/C++ tak nie jest. W samym języku nie ma żadnych takich procedur; wszystkie one znajdują się w zewnętrznych bibliotekach. Co ciekawe, samemu można sobie takie biblioteki pisać i dołączać je do swoich programów. Na przykład po napisaniu jakiejś gry pewne procedury możnaby w ten sposób użyć w innej grze, po co je pisać jeszcze raz? Producent danego kompilatora zadbał jednak już o to, by w bibliotekach statndardowych umieścić te najpotrzebniejsze procedury, na przykład wyświetlające coś na ekranie, operujące na plikach, a czasem nawet graficzne. A zatem gotowy do uruchomienia program składa się ze skompilowanych modułów i dołączonych bibliotek.

Jezyki C/C++strukturalne, co oznacza, że każdy program ma specyficzną strukturę (budowę); może to też oznaczać możliwość operowania przez programy na strukturach danych czyli danych odpowiednio poukładanych i pogrupowanych. Inne języki często operują na prostych danych, takich jak bajt, słowo. W języku C i C++ oprócz takich podstawowych typów danych, możemy definiować swoje poprzez łączenie danych o różnych typach w tzw. struktury lub klasy. Przykładami mogą być liczby zespolone czy zbiory. Język C++ wprowadza dodatkowo pojęcie obiektu, który jest reprezentantem zdefiniowanej klasy, a może oprócz danych składowych określać też czynności możliwe do wykonania na nim (metody). Szczegóły są opisane na dalszych podstronach.

Na koniec tego wstępu można napisać, że języki te są bardzo zwięzłe w swojej składni. Opierają się często na pojedynczych symbolach składających się z jednego lub dwóch znaków. Twórcy tych języków położyli duży nacisk na czytelność takich krótkich form. Często skomplikowane obliczenia (tzw. wyrażenia) da się napisać z jednej linijce kodu źródłowego. Częstokroć zadany problem da się rozwiązać przy użyciu kilku różnych konstrukcji programowych. Wydaje się, że te wymienione zalety przyczyniły się do tak szybiego zdobycia popularności przez języki C i C++. Nowsze języki takie jak Java™ lub jego młodszy kuzyn JavaScript opierają się właśnie na znanej z C składni. Warto się więc z nią zapoznać.

Powrót na początek