Efektywne tworzenie i konserwacja kodu

Jedną z największych zalet stosowania HL++ jest wygodne programowanie obiektowe, czyli umieszczanie danych w zorganizowanych strukturach i tworzenie relacji między nimi oraz odwzorowywanie rzeczywistych związków między pojęciami w naturalny dla człowieka sposób. C++ znany jest z jednych z najlepszych mechanizmów programowania obiektowego, dających pełen wachlarz możliwości konfiguracji, wyróżniający ten język spośród innych rozwiązań.

Tworząc model jakiegoś zjawiska, można zdefiniować ten model jako obiekt, jego składowe (np. zmienne) również zaimplementować jako obiekty (posiadające właściwości np.: nazwa, rodzaj, parametry). Funkcje obliczające wartości modelu, estymujące parametry czy wczytujące/zapisujące parametry można wówczas zakodować jako tzw. metody obiektu. Stosowanie metod zabezpiecza dane zgromadzone w obiekcie przed ich niewłaściwą modyfikacją, poprzez kontrolę dostępu do nich. W ten sposób wykluczyć można np. pomylenie zmiennej liczbowej z kategorialną lub zamianę parametrów w definicji zapisanej na dysku. Piszący metody korzysta z prostych funkcji działających na składowych obiektu. W ten sposób zagadnienie zastaje podzielone na mniejsze fragmenty. Dzięki temu przygotowanie programu jest dużo łatwiejsze niż w przypadku, gdy wszystkie zmienne są niezależne, a dostęp do nich jest „z jednego poziomu”.

Programowanie obiektowe posiada kilka cech, które umożliwiają bardzo efektywne i szybkie tworzenie programów. Cechy te uwidaczniają się tym bardziej, im więcej programów tworzymy. Posiadamy wtedy w swoich zasobach coraz więcej obiektów, które mogą być wykorzystane w dalszej pracy coraz niższym nakładem. Niebagatelne znaczenie ma też przejrzystość kodu, co podnosi jakość pracy grupowej. Zaleta programowania obiektowego ujawnia się również w okresie konserwacji, rozbudowy oraz optymalizacji oprogramowania. Poszczególne elementy składowe można poprawiać bądź wymieniać przy bardzo niewielkim ryzyku utraty funkcjonalności czy błędów w działaniu poprawionego programu.

Zaletą jest też jednorazowe opracowanie struktury obiektów i wykorzystywanie jej do wszystkich zadań. Bez obiektów praca często jest nieświadomie powielana, co niepotrzebnie zajmuje czas, komplikuje kod i prowadzi do niespójności. Przykładowo, program wykonuje obliczenia i zapisuje wyniki do tabel lub na wykresach – to jedna struktura w kodzie. Następnie program odczytuje wyniki z dysku i tworzy z nich dokument prezentacyjny – to druga niezależna struktura. Przy programowaniu obiektowym takie problemy nie występują.