Szukasz kursu specjalistycznego z BHP, SEP lub kursu na wózki widłowe? Kurs edukacyjny!

Programowanie obiektowe – Czy wystarczy mosiężna kula?

Budowanie z większych części. Gdy montuje się całość z części, z których każda może być złożona, a które zostały zaprojektowane tak, żeby miały gładkie interfejsy, dość szybko można uzyskać bogatą strukturę.

Mówi się, że programowanie obiektowe to dyscyplina, która wymusza modularność i czyste interfejsy. Podkreśla się charakterystyczny dla niego mechanizm, zwany hermetyzacją, polegający na tym, że nie można zobaczyć, a tym bardziej zaprojektować wewnętrznej struktury części składowych. Kładzie się też nacisk na dziedziczenie i towarzyszącą mu hierarchiczną strukturę klas z funkcjami wirtualnymi. Podkreśla się rygorystyczne stosowanie w nim abstrakcyjnych typów danych, które gwarantuje, że do określonego typu danych ma się dostęp, wykonując jedynie właściwe dla niego operacje.

Otóż wszystko to można osiągnąć bez konieczności korzystania z całego pakietu Smalltalk lub C++ – wiele z tych udogodnień zostało wprowadzonych przed technologię obiektową. Atrakcyjność podejścia obiektowego jest taka sama jak tabletki multiwitarninowej: za jednym zamachem otrzymuje się wszystko (to znaczy po jednorazowym przeszkoleniu programisty). Jest to koncepcja bardzo obiecująca.

Dlaczego technologia obiektowa rozwijała się tak powoli? W ciągu 9 lat, jakie upłynęły od ukazania się eseju „Brakująca srebrna kula”, nadzieje na poprawę sytuacji były coraz większe. Dlaczego rozwój był tak powolny? Jest na ten temat wiele teorii. James Coggins, który przez 4 lata pisał felietony „The Best of comp.lang.c++” („Najlepsze z comp.lang.c++”) w C++ Report, wyjaśnia to w następujący sposób:

Problem polega na tym, że programiści obiektowi eksperymentowali z dziwacznymi programami użytkowymi i dążyli do niskiego poziomu abstrakcji, a nie do zuysokiego. Budowali na przykład klasy w rodzaju list z dowiązaniami lub zbioru zamiast takich jak interfejs użytkownika, wiązka promieniowania albo model o elementach skończonych. Niestety, ta sama mocna kontrola zgodności typóio w C++, która pomaga programistom unikać błędów, utrudnia budowę rzeczy wielkich z małych21.

Podobne Artykuły

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany.