-
Data: 2017-08-23 12:14:59
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > Musiał. Musiał przeczytać o hd, tl, ttl, nil i null oraz wiedzieć, co robią
operatory v oraz &. I jeszcze parę innych rzeczy.
>
> Nie.
Urodził się z tą wiedzą? Naprawdę?
> Musiał nauczyć się języka, który potem zmieścił się w jego głowie.
To stwierdzenie dotyczy wszystkich języków. Mam wrażenie, że ideologizujesz i
dorabiasz mitologię do czegoś, co na to nie zasługuje.
> Ale przynajmniej będziesz miał szanse je wypowiedzieć bez dokumentacji.
Ale przecież operatory w Wolframie też można wypowiedzieć. Np. operator indeksowania
(to te podwójne nawiasy) nazywa się Part. I co ciekawe, jest to po prostu inna
składnia na to samo, więc a[[idx]] oraz Part[a,idx] to są te same operacje. Różnią
się tylko w pisowni. Podobnie, x+y to Plus[x,y]. Itd.
Oznacza to też, że każdy program w Wolframie można napisać nie używając żadnych
operatorów. Czyli jeśli nieczytelne operatory są dla Ciebie problemem i wolisz
samodokumentujący się zapis słowny, to w Wolframie możesz mieć tego nawet więcej, niż
w SmallTalku.
> Jednak w moim odczuciu linijka
>
> oddsEvens(x) = append(odds(x), evens(x))
>
> jest zdecydowanie czytelniejsza od
>
> oddsEvens[x_] := Join[x[[1 ;; ;; 2]], x[[2 ;; ;; 2]]]
No bez jaj. Naprawdę nie zrozumiałeś?
oddsEvens[x_] := Join[odds[x], evens[x]]
Teraz lepiej? Oczywiście, teraz potrzebujesz zdefiniować osobno czym jest odds[x_]
oraz evens[x_], np.:
odds[x_]:=x[[1 ;; ;; 2]]
evens[x_]:=x[[2 ;; ;; 2]]
albo nawet:
odds[x_]:=Part[x, 1 ;; ;; 2]
evens[x_]:=Part[x, 2 ;; ;; 2]
jeśli bardzo nie lubisz podwójnych nawiasów.
Ale uznałem, że taka "refaktoryzacja" jest tutaj przesadą, bo jeśli jakaś funkcja
pomocnicza jest implementowana jedną operacją, to nie ma po co takiej funkcji
definiować i można od razu rozwiązać właściwy (ten zadany) problem.
> Nie przekonał do czego?
A do czego miał przekonać? :-)
> Że język jest narzędziem do myślenia.
Każdy jest. Dlatego ten Twój przykład niczego szczególnego w tym zakresie nie
pokazał. Ot, dawno temu jakiś koleś napisał długi i skomplikowany program na
zrobienie prostej rzeczy. Dzisiaj proste rzeczy robi się krótkimi programami, dzięki
czemu można podnieść poziom i łatwiej/szybciej myśleć o rzeczach bardziej
skomplikowanych.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 23.08.17 13:42 g...@g...com
- 23.08.17 15:13 slawek
- 23.08.17 15:22 slawek
- 23.08.17 15:24 slawek
- 23.08.17 17:05 g...@g...com
- 23.08.17 17:18 g...@g...com
- 23.08.17 17:31 slawek
- 23.08.17 17:35 slawek
- 23.08.17 17:38 slawek
- 23.08.17 18:15 Piotr Chamera
- 23.08.17 20:52 AK
- 23.08.17 21:00 AK
- 23.08.17 22:02 AK
- 23.08.17 22:11 AK
- 23.08.17 22:17 AK
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-09 Lublin => Delphi Programmer <=
- 2025-09-09 Lublin => Programista Delphi <=
- 2025-09-09 Warszawa => Specialist in Administration <=
- 2025-09-09 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-09-09 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-09-08 Długi kabel zasilający a na końcu procek
- 2025-09-08 Dużo niższe temperatury procesora po obudzeniu komputera... tak ma być czy jest coś nie tak?
- 2025-09-08 Warszawa => Senior Fullstack Developer <=
- 2025-09-08 Warszawa => Head of Technology <=
- 2025-09-08 Pozbawianie obywatelstwa: Rosja olewa konstytucyjny zakaz "jak RP3"?
- 2025-09-08 Wrocław => Android Developer (Java) <=
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych