Osobně znám C++ i Javu. Můj názor je, že by se konečně mělo informovat pravdivě. Podle mého názoru je C++ vyšší jazyk, co se týká objektovosti, ať už proto, že zvládá na rozdíl od Javy objektové metaprogramování (šablony), definování vlastních operátorů, čistá vícenásobná dědičnost, apod.. Pokud je Vám ISO norma C++ k smíchu, tak se nemáme o čem bavit, a Vás názor na C++ je pak jen zaujatost.
C++ je na nízké úrovni, zejména co se týká práce s pamětí. A jinak nic. Nemá garbage collector, což znamená v zásadě nutnost dealokace a taky zvýšení rychlosti programu odpadnutím nutnosti spouštět úklid paměti.
Co se týká psaní programů, skoro vždycky se opakuje totéž. Projekt začne v C, a po nějakém čase se přepíše do C++. Důvod je podstatně lepší jazyk, snadněji udržovatelný, vysoce objektový a z toho vyplývající výhody. Navíc dnes již slušná přenositelnost a existující C++ standard. Systém Windows je napsán jakožot operační systém v C++. Nedávno se například přepisoval databázový systém Firebird (Interbase nástupce) do C++, apod..
Linux nemá jádro psané v C++, ale v C. Je to proto, že kolem roku 1900, kdy se začal linuxový kernel psát, ještě standard C++ neexistoval.
Podle mého je dnes C++ nejlepší volba pro kompilované jazyky, které mají běžet ve strojovém kódu.
Java je dobrý jazyk určný do jiných prostředí. Java má především velmi slušnou režii, jak paměťovou, tak výkonností. Pokud v Javě něco běží na 107% rychlosti C programu, mám jediný závěr. Program v C byl špatně napsán někým, kdo C neovládá. Java umožňuje abstrahovat od některých věcí, jako je třeba správa paměti, synchronizace threadů, apod.. Na druhé straně považuji Javu za jazyk, který už by se slušelo vylepšit. Takové C# a vůbec celou koncepci .NET považuji za podstatně promyšlenější, a odstraňující právě nevýhody Javy. Osobně si myslím, že klasické C++ vůči Javě má mnoho výhod. A domnívám se, že .NET koncept byl zvolen proto, aby se konečně dalo slušně programovat a člověk se neustále nepotýkal s nevýhodami Javy.
A když jsem u těch vysokoúrovňových jazyků, za skutečně povedený jazyk považuji Eiffel. Smalltalk k tomu řeknu jenom to, kolik toho bylo ve smalltalku napsáno? O Smalltalku se víc namluvilo, než naprogramovalo, učil jsem se ho před 10 lety. Nakonec Smalltalk je spíš předchůdce Objective C a dalších, ale jinak je to prakticky mrtvý jazyk. A syntaxi Smalltalku tedy nechci. Python dejme tomu. Ruby bohužel osladil svou syntaxi Perlem, takže Ruby taky nechci. LISP a Scheme je skoro totéž, Scheme totiž není nic jiného, než zjednodušený LISP. U obou jazyků potřebujete editor, který umí hledat párové závorky, ono se dost blbě orientujete v tom, když přemýšlíte, jestli dvacáté páté zanoření závorek je správně, a nebo jestli musíte závorku přidat, a nakonec musíte pomocí funkcí editoru najít odpovídající o 3 obrazovky výše.
Možná z toho, co jste napsal je to vysoúrovnové, ale koneckonců je to jen termín. Sám mohu říci, že ve většině vysokoúrovňových jazyků, co jste uvedl bych nerad psal, protože mám rád život a sebe. Zejména ne pro složitější projekty. Ale připouštím, že je to můj názor je jen osobní, ale všechny uvedené jazyky znám a zkoušel jsem. Dávám přednost tomu, když je jazyk vhodný pro psaní i větších projektů a rychlý vývoj předtím, jestli je teoreticky někým označen jako vysokoúrovňový, nebo nízkoúrovňový.
Osobně se mi pro skutečné programování líbí toto: C++, Objective C, Eiffel, C#, Ada, a trochu Java, to jsou programovací jazyky, které mě zaujaly z příkazových programovacích jazyků, a které považuji za schopné pro psaní větších projektů. Připouštím, že neznám všechny programovací jazyky, takže se omlouvám pokud jsem neuvedl nikomu jeho oblíbený jazyk.