HL++ (High Level C++) to zestaw bibliotek specjalistycznych umożliwiający programowanie naukowe w C++. Został stworzony w celu ułatwienia pracy nad zagadnieniami statystycznymi i matematycznymi. Pakiet oddaje do dyspozycji użytkownika znane obiekty matematyczne (np. macierz, tabela, wykres) i ogólne (np. tekst, data) wraz z kompletem funkcji umożliwiających programowanie wysokiego poziomu, podobne jak w językach specjalistycznych, typu R czy Matlab, ale ukierunkowane na złożone projekty obiektowe i dające rozwiązania o większej wydajności obliczeniowej.

Uniwersalność
Obliczenia wykonywane za pomocą HL++ bez trudu mogą być wykorzystane w dowolnym projekcie C++. Programy naukowe są pisane instrukcjami bliższymi języka naturalnego niż w standardowym C++, a przy tym zachowane są wszystkie zalety uniwersalnego języka programowania, z których w miarę potrzeb może skorzystać.

• Łatwe programowanie funkcji dzięki statycznemu typowaniu zmiennych
• Wiele rozwiązań wbudowanych – przeciążanie funkcji i operatorów, swobodne zarządzanie pamięcią, tworzenie wzorców kodu, obsługa wyjątków
• Standardowe kontenery danych (liczba zespolona, lista, mapa, kolejka, stos, krotka itp.)
• Możliwość pisania aplikacji okienkowych (wxWidgets, Quick Time)
• Wieloprocesorowość (OpenMP)
• Wielozadaniowość – uruchamianie zadań na wielu maszynach, pracujących pod kontrolą dowolnych systemów operacyjnych (Tasks)
• Wieloplatformowość kodu (Windows/Linux)

Szybkość działania
Kod programu w HL++ jest kompilowany, co zapewnia największą szybkość działania, w niektórych przypadkach nawet do kilkuset razy większą od uzyskiwanej w językach interpretowanych lub częściowo kompilowanych (np. Matlab, R, Python). Przykładowo, wielokrotne wywołania funkcji przy rekurencji oraz instrukcje pętli nie spowalniają programu i nie są przeszkodą, którą trzeba obchodzić. Poniżej porównanie czasów wykonania przykładowych algorytmów napisanych w HL++ i R.
| Micro benchmark | Czas HL++ | Czas R | Czas R/Czas HL++ |
| recursion_fibonacci | 3,712807 | 1210 | 325,9x |
| userfunc_mandelbrot | 0,155999 | 10 | 64,1x |
| recursion_quicksort | 62.399892 | 2730 | 43,8x |
| iteration_pi_sum | 15,600107 | 440 | 28,2x |
| parse_integers | 15,444021 | 50 | 3,2x |
| matrix_statistics | 62,400037 | 60 | 1,0x |
| matrix_multiply | 904,902019 | 890 | 1,0x |
| print_to_file | 218,400009 | 190 | 0,9x |
Testy wykonano dla kompilatora g++ v4.9.2 i R v.3.5.1 na komputerze z procesorem Intel i5

Produktywność
W porównaniu do czystego C/C++ rozszerzenie HL++ pozwala pisać programy łatwiej. Dzięki wprowadzeniu różnego rodzaju obiektów i funkcji matematycznych i innych użytkownik ma do dyspozycji całą gamę gotowych rozwiązań. HL++ cechuje wysoka produktywność programowania, co można wykazać porównując długość kodu programu. Kod przeprowadzonych benchmarków wynosi odpowiednio:

Różnica długości między HL++ a R czy Matlabem bierze się stąd, że te ostatnie są pozbawione linii z deklaracjami zmiennych. Brak tych deklaracji w większym projekcie utrudnia wykrywanie błędów typów.

Kompletność
HL++ udostępnia operacje na danych, metody numeryczne i działania macierzowe, za pomocą których można zapisać dowolny algorytm realizujący postawione zadanie naukowe. W porównaniu do innych języków przeznaczonych do analiz, HL++ pozwala zaimplementować komplet algorytmów obejmujący rozwiązania niemożliwe do zaimplementowania w innych językach analiz ze względu na niedostępność lub niepełną efektywność mechanizmów programistycznych, takich jak:
• rekurencja i pętle
• mechanizm wskaźników
• zarządzanie pamięcią
• kontrola wątków i zasięgu zmiennych przy wieloprocesowości

Jednocześnie można korzystać z gotowych funkcji R i przykładowo:
• przekształcać dane w gramatyce Dplyr lub za pomocą Tidyr
• modelować z użyciem pakietów Caret lub MLR
W pakiecie HL++ istnieje rozwiązanie R Tools ułatwiające pracę z kodami R. Przygotowane zostały narzędzia odpowiadające za podświetlanie składni R, Help do R i uruchamianie kodów R w środowisku Code::Blocks.

Rozwojowość
Język C i jego odmiany (C++, C#) należą do najpopularniejszych języków programowania. Daje to gwarancję, że przygotowane oprogramowanie będzie przez najbliższe lata wspierane poprzez rozwój narzędzi programistycznych, jak i samego języka. Indeks popularności TIOBE dla maja 2018:

Wysoki ranking w zestawieniu TIOBE przekłada się na dużą ilość dostępnego w Internecie oprogramowania i stron tematycznych:
• darmowe narzędzia do dowolnego tematu (Oracle, Excel, Python, Gzip, R, PDF, XML)
• biblioteki matematyczne (np. GNU Scientific Library, NAG C++ Library, Boost)
• kursy, tutoriale, pomoce i fora
Język C++ jest stale rozwijany i aktualizowany. W cyklu 3-letnim wychodzą jego nowe standardy, ostatni to C++17 udostępniony w 2017 roku.
