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:a37:48d3:: with SMTP id v202mr220133qka.6.1546522480612; Thu, 03
    Jan 2019 05:34:40 -0800 (PST)
    X-Received: by 2002:a37:48d3:: with SMTP id v202mr220133qka.6.1546522480612; Thu, 03
    Jan 2019 05:34:40 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!v55no9839qtk.0!news-out.go
    ogle.com!m21ni12677qta.0!nntp.google.com!v55no9833qtk.0!postnews.google.com!gle
    groupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 3 Jan 2019 05:34:40 -0800 (PST)
    In-Reply-To: <5...@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>
    <2...@g...com>
    <5...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <9...@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: Thu, 03 Jan 2019 13:34:40 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:213144
    [ ukryj nagłówki ]

    W dniu czwartek, 3 stycznia 2019 09:57:06 UTC+1 użytkownik Maciej Sobczak napisał:
    > > No to weźmy taki przykład:
    > >
    > > int f(void) {
    > > static n = 0;
    > > return ++n;
    > > }
    > >
    > > Jaką wartość ma wyrażenie f()?
    >
    > A jaką miał poprzednio?

    Bardzo dobre pytanie. Nie będziemy na nie na razie odpowiadać,
    ale zapamiętajmy je sobie.

    A teraz inny przykład:

    int g(int x) {
    return x + 2;
    }

    Jaką wartość ma wyrażenie g(5)?
    Na to pytanie odpowiesz bez problemu.
    Nie będziesz musiał zadawać dodatkowego pytania
    w rodzaju "jaka była poprzednia wartość tego wyrażenia?".

    I to właśnie brak tego rodzaju pytań sprawia, że
    ten model jest prostszy.

    > I dlaczego użyłeś słowa static?

    Dla przykładu.

    > Czy musisz sięgać aż po tak bardzo niszowe przykłady, żeby wykazać, że C++ jest
    zły?

    Mój przykład nie miał na celu wykazania "że C++ jest zły"
    (cokolwiek by ono miało oznaczać).
    Używanie statycznych zmiennych w obrębie funkcji nie jest
    niszowe. W niektórych sytuacjach jest użyteczne.

    > Czy to znaczy, że w programie C++, w którym nie ma słowa static, opisywane przez
    Ciebie problemy nie występują?

    Nie. To, o czym mówię, nie ma związku z użyciem słowa "static".

    > Czy to znaczy, że taki program jest równie dobry, jak program, w którym przypisań
    nie ma?

    Nie rozumiem pytania. Nie wiem, co miałoby znaczyć, że "taki program
    jest równie dobry jak jakiś inny program".
    Programy są o tyle dobre, o ile służą do celów, do których mają służyć.

    > > > 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".
    >
    > W takim razie jest to też odpowiedź na pytanie, czy C++ jest zły albo gorszy od
    czegoś tam, albo czy kreuje złe nawyki. I w sumie do tego zmierzałem.

    Jedyną osobą, która w tym wątku użyła określeń "C++ jest zły"
    czy "C++ kreuje złe nawyki" jesteś Ty.

    > Przyjmijmy więc, że C++ jest dobry tam, gdzie kryterium "to zależy" wypada na jego
    korzyść. To chyba dobry wniosek?

    To samo można powiedzieć o wszystkim zawsze.
    Toteż nie jest to szczególnie wartościowy poznawczo wniosek.

    > > > > 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.
    >
    > Poznawanie jak coś jest zrobione jest wciągające, ale nie wymagam tego od każdego
    narzędzia, którego używam. Ze względu na naturę projektów wbudowanych lubię wiedzieć,
    jak działa C++ (albo Ada, SPARK, itp.). Ale są też inne projekty, gdzie mogę pozwolić
    sobie na niewiedzę i zastąpić ją zaufaniem. Wtedy używam Wolframa. Polecam -
    zwłaszcza, że jest mocno Lispowaty w swoich fundamentach i sądząc po tym co piszesz
    na tej grupie, jest szansa, że by Ci się bardzo spodobał.

    Swego czasu nawet wyjechałem z taką propozycją na Quorze:
    https://quora-feature-requests-notepad.quora.com/Mat
    hematica-style-notebook

    ale niestety pomysł nie został podchwycony.

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: