eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • Data: 2019-01-03 09:37:41
    Temat: Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
    Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    > > > Jak to kiedyś powiedział mój kolega,
    > > > "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
    > > > nakazującą mu krojenie chleba, albo do chleba, nakazującą
    > > > mu się pokroić".
    > >
    > > Zły poziom abstrakcji.
    >
    > Kto decyduje o tym, jaki poziom abstrakcji jest dobry, a jaki zły?

    Twój kolega. Zauważył, że nie wysyła się wiadomości do noża.

    > > Pomyśl, o zespole kucharzy, którzy wydają sobie właśnie takie polecenia. Dlaczego
    wtedy to ma sens?
    >
    > A wtedy to ma sens?

    - Hej, młody, pokrój chleb.

    Jak najbardziej ma sens.

    > Do ludzi mówimy na różne sposoby, i oni na różne sposoby reagują.
    > Obgadują się, zawierają sojusze, proponują rozwiązania, i potrafią
    > się obrazić, jak im ktoś będzie wydawał rozkazy.
    > Po obiektach w językach obiektowych raczej oczekuje się przewidywalności
    > i bezwzględnego posłuszeństwa.

    Właśnie. Dlatego mówimy, że w języku obiektowym *modelujemy* jakiś system a nie
    odtwarzamy rzeczywistość. Model z natury jest zawsze uproszczony.

    Gdzieś jednak jest granica abstrakcji, której przekroczenie nie wnosi wartości
    dodanej. Nie wysyłamy komunikatu do zmiennych całkowitych, żeby się do siebie dodały.
    I nie wysyłamy komunikatu do noża, żeby pokroił chleb. Ale do elektrycznej krajalnicy
    wysyłamy, naciskając guzik na jej froncie. Być może w środku krajalnicy jest jakiś
    nóż, ale nas to nie obchodzi, bo to nie jemu wysyłamy komunikat. I w ogóle obudowa z
    guzikiem jest po to, żebyśmy nie wnikali, co tam w środku jest. Dla nas jest guzik na
    tej obudowie - właśnie po to, żebyśmy mogli tej krajalnicy wysłać komunikat.

    Widzisz już o co chodzi?
    Programowanie obiektowe jest po to, żeby czytelnie modelować rzeczywiste systemy.
    Oczywiście, jak każde narzędzie, to też może być źle użyte. Np. na złym poziomie
    abstrakcji.

    --
    Maciej Sobczak * http://www.inspirel.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: