Postanowiłem dowiedzieć się więcej o C ++ i stałem się jego wiernym pasjonatem - obejmuje to także moje zainteresowanie ewolucją tego języka. Ponadto zauważyłem, że do opracowania użytecznych bibliotek potrzebne są najbardziej zaawansowane i najnowocześniejsze techniki , a nie rzeczywiste aplikacje. Mając to na uwadze, próbowałem napisać kilka własnych bibliotek do różnych celów (patrz moja strona pobierania), a także staram się przejrzeć ramiona programistów C ++ Boost (patrz moja strona z linkami), aby dowiedzieć się, co to jest zaawansowane techniki są. Poświęcenie czasu na tworzenie bibliotek, które powinny być ogólne i przydatne jednocześnie, jest naprawdę wymagające. Dlatego programiści nigdy nie przestają się uczyć.
[…]
Wciąż gram z C ++ i technikami pisania solidnego oprogramowania. Aby zyskać szerszą perspektywę w dziedzinie niezawodnego oprogramowania, postanowiłem poświęcić trochę czasu na naukę Ada (i pokrewnych rzeczy), który jest językiem, który wydaje się całkowicie opuszczony przez biznes, mimo że to Ada naprawdę została zaprojektowana z myślą o złożonym i niezawodnym systemy. Muszę przyznać, że nauka Ady była dla mnie naprawdę korzystna w tym sensie, że pozwoliła mi bardziej świeżo spojrzeć na moje podejście do pracy i rozwoju. Co najważniejsze, niektóre pomysły ze świata Ada można mniej więcej bezpośrednio zastosować do C ++ z dobrymi wynikami w zakresie niezawodności i poprawności.
[…]
OK, zapomniałem. Pewnego dnia przysiągłem, że nie będę uczył się Java. Ale to zrobiłem. Cóż, w zakresie, który pozwala mi czytać i pisać działający kod. Przeczytałem „Myślenie w Javie” (dostępne on-line, za darmo) i „Core Java” (nie online, nie za darmo), byłem również pośrednio zaangażowany w rozwój Java i ... Cóż, nie kupuję to. Po prostu nie lubię, gdy ktoś podaje mi połowę języka i mówi, że to dla mojej własnej ochrony. Jest jak papierowy młotek, wykonany tak, aby nikt nie zranił się po uderzeniu w palec ... To samo dotyczy C #. Wybieram stalowy młot, aby mieć pewność, że gdy będę chciał grać w macho, wytrzyma.
Pytanie brzmi - dlaczego korzysta z niego tak wiele osób (Java, C # itp.)? Hmmm ... Może dlatego, że w niektórych miejscach jest bardzo dobra. Są jednak sytuacje, w których zarówno język, jak i biblioteka pokazują, że zostały zaprojektowane raczej dla apletów (początkowo) niż po to, by stały się narzędziami do wszystkiego. Po prostu obiecuje za dużo i daje za mało jak na technologię catch-all. Lub jako rozwiązanie, które może przeorywać konkurencję.
Lubię C ++, gdy potrzebna jest maksymalna moc i najszersza perspektywa. W miejscach, w których ekspresja C ++ nie jest koniecznością, języki takie jak Tcl lub Python wydają się pasować. Są nie tylko otwarci pod względem ewolucji, ale można je rozszerzać i osadzać, w zależności od konkretnych potrzeb. Widzę wiele możliwości marzeń w tych technologiach. Zwykle rezygnuję z języka C jako języka do regularnego programowania - wydaje się to rozsądnym wyborem tylko jako cel do generowania kodu, w przeciwnym razie jest zbyt podatny na błędy. Dzisiaj Ada jest moim drugim wyborem dla poważniejszych projektów, pod warunkiem, że mam wolny wybór (co niestety nie jest tak przez większość czasu).
Innymi słowy, autor tego cytatu lubi C ++, a on nie lubi Javy i uważa, że Java nie ma połowy C ++. I to wszystko, co zawiera ten cytat.