-
Data: 2019-01-02 13:42:50
Temat: Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie 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.
Następne wpisy z tego wątku
- 02.01.19 14:00 g...@g...com
- 03.01.19 09:37 Maciej Sobczak
- 03.01.19 09:44 Maciej Sobczak
- 03.01.19 09:57 Maciej Sobczak
- 03.01.19 14:19 g...@g...com
- 03.01.19 14:34 g...@g...com
- 03.01.19 17:15 Roman Tyczka
- 03.01.19 17:24 AK
- 03.01.19 17:30 g...@g...com
- 03.01.19 17:44 AK
- 03.01.19 18:20 g...@g...com
- 03.01.19 19:37 g...@g...com
- 03.01.19 21:51 fir
- 03.01.19 22:21 g...@g...com
- 04.01.19 01:13 fir
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=