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:3558:: with SMTP id z24mr564013qtb.3.1546432970964; Wed, 02
    Jan 2019 04:42:50 -0800 (PST)
    X-Received: by 2002:ac8:3558:: with SMTP id z24mr564013qtb.3.1546432970964; Wed, 02
    Jan 2019 04:42:50 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.
    com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.h
    ighwinds-media.com!news.highwinds-media.com!v55no9963380qtk.0!news-out.google.c
    om!m21ni11503qta.0!nntp.google.com!v55no9963376qtk.0!postnews.google.com!glegro
    upsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 2 Jan 2019 04:42:50 -0800 (PST)
    In-Reply-To: <1...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.186.77.192;
    posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
    NNTP-Posting-Host: 46.186.77.192
    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>
    <1...@g...com>
    <e...@g...com>
    <6...@g...com>
    <1...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <2...@g...com>
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    From: g...@g...com
    Injection-Date: Wed, 02 Jan 2019 12:42:51 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 6366
    X-Received-Body-CRC: 3936202882
    Xref: news-archive.icm.edu.pl pl.comp.programming:213129
    [ ukryj nagłówki ]

    W dniu środa, 2 stycznia 2019 10:17:08 UTC+1 użytkownik Maciej Sobczak napisał:
    > > Nie. Programy, które nie posiadają instrukcji przypisania,
    > > można analizować, po prostu zastępując wyrażenia ich wartościami.
    > > Programów, w których używa się instrukcji przypisania, nie
    > > można analizować w taki sposób
    >
    > Dlaczego?
    > Pytam, bo analizuję i może coś źle robię.

    No to weźmy taki przykład:

    int f(void) {
    static n = 0;
    return ++n;
    }

    Jaką wartość ma wyrażenie f()?

    > > - trzeba zaprzęgać inne środki
    > > analizy.
    >
    > Jakie?

    Inne. Różne. Zależy od uwarunkowań problemu.

    > Czy te inne środki analizy są gorsze - w sensie, że dają gorsze efekty?

    Myślę, że jedyną odpowiedzią, jakiej mogę udzielić, jest
    "to zależy".

    > > Tzn. ściśle rzecz biorąc cała informatyka teoretyczna bazuje na
    > > "czystych funkcjach"
    >
    > To ja chyba czytałem inną książkę.

    Bardzo możliwe. Istnieje na świecie wiele książek.

    > > > Tymczasem w informatyce, jeżeli w ogóle jest jakaś podstawa dla innych
    konstrukcji, to zwyczajowo była nią maszyna Turinga
    >
    > > Jeśli zapytamy, jaki model obliczeń jest współcześnie
    > > najbardziej rozpowszechniony
    >
    > Zdecydowanie nie jest nim programowanie funkcjonalne.
    >
    > > i najlepiej zrozumiany, to prawdopodobnie
    > > tym modelem obliczeń będzie arkusz kalkulacyjny: jest bardzo duża
    > > rzesza osób, które umieją korzystać z arkuszy kalkulacyjnych,
    > > a które nawet nie wiedzą, że to jest programowanie.
    > > Ten model obliczeń charakteryzuje się tym, że nie ma w nim
    > > przepływu sterowania ani operacji przypisania.
    >
    > Brniesz.
    >
    > https://www.google.com/search?q=Excel+assign+value+t
    o+cell

    Widzę, że próbujesz zabłysnąć ekwiwokacją.

    > > Tutaj nie chodzi o to, że operatora przypisania ma nie być.
    > > Chodzi o to, żeby nie używać go wtedy, kiedy to nie jest konieczne.
    >
    > I po długiej dyskusji, w której gdzieś tam wcześniej wspomniałeś o złych nawykach z
    C++, nadal nie wiem, gdzie w C++ nie jest to konieczne.

    Cóż, w takim razie chyba bardziej nie pomogę.

    > > Programy, które nie polegają na globalnym stanie, analizuje
    > > się łatwiej
    >
    > Jesteś pierwszy, który wspomniał o globalnym stanie. Po co?

    Ponieważ to jeden ze złych nawyków.

    > > > https://cemerick.com/2009/03/24/why-mit-now-uses-pyt
    hon-instead-of-scheme-for-its-undergraduate-cs-progr
    am/
    > >
    > > Nie wiem co miałoby z tego linka wynikać dla tej dyskusji.
    >
    > A taki tam przypominacz, że nawet u źródeł SICP traci autorytet.

    "while I had Prof. Sussman's ear, I asked him whether he thought that the shift in
    the nature of a typical programmer's world minimizes the relevancy of the themes and
    principles embodied in scheme. His response was an emphatic 'no'; in the general
    case, those core ideas and principles that scheme and SICP have helped to spread for
    so many years are just as important as they ever were. "

    > > Owo ustalenie, że stosowanie operatora przypisania (oraz operatów
    > > wyrażających przepływ sterowania) komplikuje
    > > środki analizy programu,
    >
    > W jaki sposób komplikuje?

    Po raz dziesiąty pytasz o to samo.
    W taki sposób, że proste środki analizy programu (podstawianie
    wartości za wyrażenia) przestają być wystarczające, i potrzebne
    są bardziej skomplikowane środki.

    > > Jak dla mnie Wolfram pewnie byłby OK, gdyby był open-source'owy.
    >
    > Dlaczego?

    Bo lubię móc poznawać w jaki sposób są zrobione różne rzeczy.

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: