-
Data: 2018-12-30 00:21:15
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 ]> > [operator przypisania]
> >
> > > W większości miejsc nie jest konieczne.
> > > A jest to zły nawyk, ponieważ - mówiąc skrótowo - zwiększa złożoność
> > > środków analizy programów
> >
> > Nie, nie zwiększa.
>
> Owszem, zwiększa.
To tak, jakbyś powiedział, że silnik zwiększa koszt samochodu.
Otóż nie zwiększa, bo jest jego integralną częścią. Klima albo automat może
zwiększać, ale nie silnik.
Podobnie jest z operatorem przypisania w językach imperatywnych. On niczego nie
zwiększa, bo nie może go nie być.
> Proponuję, żebyś - zamiast zgadywać w ciemno o czym mówię
> - spróbował przeczytać tę książkę, i dopiero wtedy się
> wypowiedzieć.
Czytałem. Tylko jakoś nie uległem czarowi języków funkcjonalnych do tego stopnia,
żeby uznać je jako teoretyczną podstawę do czegokolwiek.
I mam wrażenie (również z poprzednich naszych dyskusji), że tak właśnie sądzisz - że
języki funkcjonalne są podstawą, z której można budować inne konstrukcje. Dlatego
zastanawiasz się, jaki jest koszt dodania operatora przypisania.
Tymczasem w informatyce, jeżeli w ogóle jest jakaś podstawa dla innych konstrukcji,
to zwyczajowo była nią maszyna Turinga (i nie widzę powodu, żeby miała stracić ten
status) a akurat tam jest już koncepcja modyfikacji wartości. Głowica zapisująca nową
wartość w tym samym miejscu to właśnie operator przypisania.
W tym kontekście zamiast pytać, jaki jest koszt dodania operatora przypisania do
czegokolwiek, należałoby zapytać, jaki jest koszt udawania, że go może nie być.
Otóż ten koszt to jest między innymi ta dyskusja. :-)
> To dobra książka, naprawdę.
https://cemerick.com/2009/03/24/why-mit-now-uses-pyt
hon-instead-of-scheme-for-its-undergraduate-cs-progr
am/
Wracając do tematu: jeżeli operator przypisania jest problemem w Scheme, to jest to
problem w Scheme. W językch imperatywnych ten operator nie jest problemem, tylko
integralną częścią języka. A narzędzi analitycznych to w ogóle nie komplikuje,
naprawdę.
> > Nadal nie wiem, czy trzeba zmienić język, żeby pisać lepiej.
>
> Też nie wiem. Ale jeżeli idzie o mnie, to nie umiem pisać
> w C++ kodu tak, żeby być z niego zadowolonym.
Mi się zdarzyło. Natomiast przyznam, że moje własne niezadowolenie z języka C++
skierowało mnie ku nauce Ady. I paradoksalnie, mój C++ się wtedy też poprawił.
> Wydaje mi się, że pytanie "czy C++ jest dobry do nauki"
> to trochę mało. Raczej należałoby zapytać, czy dane materiały
> dydaktyczne są dobre, albo czy określona metodologia nauczania
> jest skuteczna.
Tak, to prawda. Ale znam ludzi, którzy twardo stosują C++ jako platformę do nauki
programowania i struktur danych. Myślę, że przy odpowiednim prowadzeniu to nie jest
zły pomysł.
Ale sam osobiście poleciłbym nowicjuszom język Wolfram. Również dzieciom, jak im się
już Scratch znudził. C++ nie jest dobrym pierwszym językiem, chociaż może być bardzo
praktycznym językiem w późniejszej pracy czy innym realnym projekcie.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 30.12.18 13:06 g...@g...com
- 30.12.18 16:46 Mateusz Bogusz
- 30.12.18 18:08 s...@g...com
- 30.12.18 19:17 g...@g...com
- 31.12.18 08:18 Tomasz Kaczanowski
- 31.12.18 10:14 g...@g...com
- 02.01.19 09:41 Maciej Sobczak
- 02.01.19 09:48 Maciej Sobczak
- 02.01.19 10:17 Maciej Sobczak
- 02.01.19 10:53 Wojciech Muła
- 02.01.19 13:23 g...@g...com
- 02.01.19 13:42 g...@g...com
- 02.01.19 14:00 g...@g...com
- 03.01.19 09:37 Maciej Sobczak
- 03.01.19 09:44 Maciej Sobczak
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=