eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 › Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • Data: 2019-01-14 09:36:34
    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 ]

    [kolejność ewaluacji]

    > Jezyki takie jak Algolu/Simula, Pascalu, Modula2, Fortran, PL/I, Java,
    > Python, C#, VB o to zadbaly. C++ nie.

    Ada też nie. Z tych samych powodów, co C++.
    A ponieważ Ada i Pascal mają wspólne mianowniki, to sprawdziłem z ciekawości dla
    Pascala:

    https://www.freepascal.org/docs-html/ref/refch12.htm
    l

    "
    The order in which expressions of the same precedence are evaluated is not guaranteed
    to be left-to-right. In general, no assumptions on which expression is evaluated
    first should be made in such a case. The compiler will decide which expression to
    evaluate first based on optimization rules. Thus, in the following expression:

    a := g(3) + f(2);
    f(2) may be executed before g(3). This behaviour is distinctly different from Delphi
    or Turbo Pascal.
    "

    Znaczy - nie masz racji co do Pascala, który w obrębie swojej rodziny sam ze sobą
    jest w ten sprawie niespójny. Nie chce mi się sprawdzać dla innych języków, ale
    nieustalona kolejność ewaluacji podwyrażeń jest czymś, co akceptuję jako naturalne,
    ale nadal różne od tego:

    a+b-c

    vs:

    a-c+b

    W pozyższym chcę wiedzieć, że kolejność wykonania jest od lewej do prawej, bo to
    sprawia, że te wyrażenia są jednak różne i mają różną dziedzinę.

    Niemniej - jedna z rzeczy, które mi się podobają w Adzie to właśnie podział
    podprogramów na procedury i funkcje. Procedur nie da się użyć w wyrażeniu a funkcje
    muszą być w wyrażeniu. Język tego nie wymusza, ale naturalnie łatwiej wtedy o
    konwencję, że funkcje robi się "czyste" a procedury zostawia się na te okazje, kiedy
    efekty uboczne są celowe.
    I przy okazji nie ma tego kuriozalnego pół-typu void, bo jest wtedy w ogóle
    niepotrzebny.

    --
    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: