eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo jest nie tak z C++ (było: Rust)Re: Co jest nie tak z C++ (było: Rust)
  • Data: 2017-08-26 19:32:20
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: Adam M <a...@m...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Friday, August 25, 2017 at 4:52:15 PM UTC-4, slawek wrote:
    > On Fri, 25 Aug 2017 11:57:45 -0700 (PDT), Adam M

    > > On Friday, August 25, 2017 at 2:04:20 PM UTC-4, slawek wrote:
    > > > On Fri, 25 Aug 2017 07:04:07 -0700 (PDT), Adam M
    > > > Amdahl jest przereklamowany.
    >
    > > To jest bardzo mocne stwierdzenie.
    >
    > Wiem.
    >
    > > Czy mozna poprosic o dokladniejsze wyjasnienie
    > > co tez kolega mial na mysli
    >
    > Wyjaśnię to dwa razy: raz na chłopski rozum, raz na przykładzie
    > pewnego programu.
    >
    > Wyobraź sobie że jesteś gospodarzem. Masz jakieś 20 morgów i 4
    > parobków. Prawo Ahmadla i zdrowy rozsądek podpowiadają że 4000
    > parobków nie zapewni 1000 krotnego wzrostu tempa żniw. True.
    >
    > A co byłoby, gdybyś miał nie 20 morgów, ale 20 tysięcy morgów? Nadal
    > "zrównoleglenie" prac przez zatrudnienie armii tysięcy parobków nie
    > miałoby sensu?
    >
    > Innymi słowy: gdyby kurczowo trzymać się prawa Ahmadla to nie
    > istniałaby takie firmy jak MS, Intel, Google, Samsung itd. - każda
    > zatrudnia olbrzymie ilości ludzi, a przecież z prawa Ahmadla wynika
    > że to niepotrzebne.
    >
    > A teraz drugi przykład. Program czyta liczbę 64 bitową, wykonuje
    > obliczenia, wypisuje wynik jako ułamek dziesiętny. Czytania i
    > wpisywania nie da się zrównoleglić. Obliczenie każdej cyfry wyniku
    > jest całkowicie niezależne. Program oblicza wynik z dokładnością do 4
    > cyfr po przecinku.
    >
    > Zgodnie z prawem Ahmadla nie ma sensu używać zbyt wielu procesorów.
    > To oczywiste.
    >
    > Ale jeżeli zamiast 4 cyfr będziesz chciał mieć wynik z 40 cyframi
    > (albo z 40 tysiącami cyfr), to prawo Ahmadla nie podważa sensowności
    > zastosowania odpowiednio większej liczby procesorów.
    >
    > Czyli prawo Ahmadla nie jest do stosowania w ciemno, bez sprawdzania
    > założeń przy jakich je sformułowano. Przecież nie używasz twierdzenia
    > Pitagorasa do obliczania objętości kuli.
    >
    > Podobna sytuacja była ze słynnym "640 kilobajtów wystarczy każdemu".
    > To była prawda... Ale tylko przy założeniu że PC będzie służył tylko
    > do tego co robiono na Spectrum itp. A to założenie okazało się
    > fałszywe.

    To bardzo ładne stwierdzenia - niestety nie do końca prawdziwe:
    - po pierwsze kolega myli problem szczegółowy z problemami ogólnym biorac przyklad
    kolegi z morgami - tak to jest prawda ze do 20tysiecy potrzeba znacznie wiecej
    parobkow - ale problem tych 20morgow dalej jest tak samo trudny - miałem niestety
    doczyniania wielokrotnie z takimi programistami/projektantami systmow - z punktu
    wiedzy byli nie do pobicia - znali wiele języków perfekcyjnie, znali algorytmy, cala
    teoria w jednym palcu - jednym slowem tytan wiedzy - gdy przyszlo do rozwiazania
    problemu to padali jak muchy bo nie potrafili sie zdecydowac jak zabrac sie za
    problem (widzieli drzewa ale nie las)
    - co do ilosci procesorow - niestety jest bardzo wiele problemow ktore sa niestety
    typowo jedno-watkowe - w tym przypadku zastosowanie nawet miliona procesorow nic nie
    pomoze dopuki toria algorytmow nie znadzie lepszego algorytmu - ktory da sie
    zrownoleglic.

    Nie jestem fundamentalista w dziedzinie programowania - ale slepa wiara ze da sie
    oderwac programowanie od sprzetu, ze mozna poprawnie programowac bez zrozumienia jak
    sprzet na ktorym program bedzie sie wykonywal dziala prowadzi do bardzo poprawnie i
    elegancko napisanych i bardzo nieefektywnie dzialajacych programow. I nie mam tu na
    mysli 100 linikowego programu pokazujacego wyzszosc np Erlang czy Rust nad C++ ale
    zlozonego systemu zaierajacego setk tysiecy lini kodu. Np. eie zycze napisania w
    Pytonie czegos wiekszego jak 10-15tys lini kodu:
    a) jest to zadanie dla masochisty
    b) wiekszosc czasu zostanie spedzona na wyszukiwani bledow spowodowanych zlymi
    nazwami zmiennych lub nieporawnymi konwersjami pomiedzy typami (ktore rzekomo w
    Pytnie nie powinny stanowic problemu).
    c) przez litosc nie wspomne tu nawet o wielowatkowosci w Pytonie

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: