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
  • X-Received: by 2002:ac8:5249:: with SMTP id y9mr619402qtn.7.1546504661522; Thu, 03
    Jan 2019 00:37:41 -0800 (PST)
    X-Received: by 2002:ac8:5249:: with SMTP id y9mr619402qtn.7.1546504661522; Thu, 03
    Jan 2019 00:37:41 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
    iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v55no11
    582612qtk.0!news-out.google.com!m21ni12379qta.0!nntp.google.com!v55no11582609qt
    k.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 3 Jan 2019 00:37:41 -0800 (PST)
    In-Reply-To: <a...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.81;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 165.225.84.81
    References: <c...@g...com>
    <f...@g...com>
    <a...@g...com>
    <7...@g...com>
    <a...@g...com>
    <6...@g...com>
    <0...@g...com>
    <a...@g...com>
    <5...@g...com>
    <d...@g...com>
    <2...@g...com>
    <a...@g...com>
    <2...@g...com>
    <a...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <6...@g...com>
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Thu, 03 Jan 2019 08:37:41 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 54
    Xref: news-archive.icm.edu.pl pl.comp.programming:213138
    [ ukryj 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: