Jezyk C++Bardziej Efektywny

Pomimo, że w tytule jest słowo efektywność to nie o efektywność czasu wykonania programu tu chodzi ale o efektywność pisania. Scott Meyers w bardzo przyjemny sposób przekonuje że należy zaprzyjaźnić się ze statycznym typowaniem kompilatora a nie z nim walczyć. Pokazuje w jaki sposób możemy zaprząc kompilator do wykrywania mnóstwa błędów które w innych przypadkach mogły by pozostać niewychwycone.

Wiedza prakazana w tej książce to sprawdzone zasady programistyczne (głównie tyczące języków statycznych zauważone- C++ w szczególności). Autor przeprowadza także analizę kosztów używania różnych konstrukcji języka C++.

Na początku wydało mi się śmieszne wykorzystywanie wszystkich tych sztuczek, ale z czasem przekonałem się, że większy rygor przy implementacji to mniejsza stopa błędów.

Książka skłania mnie do zadania sobie pytania: czy istnieje optymalny poziom asekuracji implementacji (w sensie szczegółowości specyfikacji/testów) powyżej którego dalsze rozpracowywanie potencjalnych błędów staje się nieefektywne, czy też kolejne techniki dają wzrost wskaźnika jakość/czas realizacji. Scott używa chyba wszystkich możliwych udogodnień kompilatora więc pewnie jest zdania, że im szczegółowiej tym lepiej. Ja jak na razie nie dotarłem jeszcze do granicy opłacalności technik asekuracji przy programowaniu.

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"