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)
  • X-Received: by 10.31.153.196 with SMTP id b187mr102816vke.14.1503669847693; Fri, 25
    Aug 2017 07:04:07 -0700 (PDT)
    X-Received: by 10.31.153.196 with SMTP id b187mr102816vke.14.1503669847693; Fri, 25
    Aug 2017 07:04:07 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.
    weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.
    nntp.dca1.giganews.com!nntp.giganews.com!v29no427480qtv.0!news-out.google.com!f
    21ni415qta.1!nntp.google.com!v29no427474qtv.0!postnews.google.com!glegroupsg200
    0goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 25 Aug 2017 07:04:07 -0700 (PDT)
    In-Reply-To: <1...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.89.204.241;
    posting-account=aFGPVQoAAADngh59qlchYygiuB87zBBU
    NNTP-Posting-Host: 70.89.204.241
    References: <f...@g...com>
    <1...@g...com>
    <7...@g...com>
    <b...@g...com>
    <a...@n...v.pl>
    <2...@g...com>
    <a...@n...v.pl>
    <on23a3$85s$1@node1.news.atman.pl>
    <a...@n...v.pl>
    <on75ke$g4u$1@node2.news.atman.pl>
    <5...@g...com>
    <onfotu$lh6$1@node1.news.atman.pl>
    <0...@g...com>
    <3...@g...com>
    <6...@g...com>
    <c...@g...com>
    <d...@g...com>
    <5...@g...com>
    <c...@g...com>
    <3...@g...com>
    <6...@g...com>
    <c...@g...com>
    <6...@g...com>
    <f...@g...com>
    <0...@g...com>
    <f...@g...com>
    <d...@g...com>
    <5...@g...com>
    <0...@g...com>
    <1...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <0...@g...com>
    Subject: Re: Co jest nie tak z C++ (było: Rust)
    From: Adam M <a...@m...com>
    Injection-Date: Fri, 25 Aug 2017 14:04:07 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 83
    Xref: news-archive.icm.edu.pl pl.comp.programming:211310
    [ ukryj nagłówki ]

    On Thursday, August 24, 2017 at 6:23:30 PM UTC-4, g...@g...com wrote:
    > W dniu czwartek, 24 sierpnia 2017 23:48:16 UTC+2 użytkownik Adam M napisał:
    >
    > > >
    > > > Tyle że programiści często myślą, że to, że C++ daje dużą kontrolę
    > > > nad sprzętem, to dobra rzecz.
    > > > Myślę, że jest dokładnie odwrotnie. Im mniej intymnych szczegółów
    > > > język może wiedzieć o systemie, na którym jest uruchamiany, tym
    > > > lepszą robotę mogą odwalić narzędzia uruchomieniowe.
    > >
    > > Widzę że wszyscy tutaj wieszaja psy na tych biednych krzyżowcach
    >
    > nie "wieszają psy", tylko używają argumentów.
    >
    > > - ale jak mówi przsłowie - Jak trwoga to do Boga
    > > - i tak jeśli musisz napisac program który musi rozmawiac
    > > ze sprzętem to masz tak naprawdę tylko trzy jezyki popularne
    > > do dyspozycji: Macro Assembler (nazwywanie tego językiem to
    > > dość duże naciągniecie - ale niech bedzie), C lub C++
    > > (przez miłosierdzie nie wspominam tu ADY ;-) )
    > >
    > > Osobiście uważam ze ignorowanie sprzetu prowadzi braku
    > > zrozumienia dlaczego oprogramowanie zachowuje sie w ten
    > > a nie inny sposób.
    >
    > często właśnie ignorowanie sprzętu jest zbawienne dla twojego programu.
    > dlatego jak uruchamiasz program napisany w clojure czy erlangu
    > na 16-rdzeniowym komputerze, to działa prawie 16 razy szybciej
    > niż na 1-rdzeniowym. A w C++, o ile nie użyjesz jakichś bibliotek,
    > to raczej nie masz co liczyć na tego rodzaju przyspieszenie (a jeśli
    > nawet użyjesz, to pewnie i tak masz błędy)

    To jest przyklad tzw. magicznego myslenia - napisze program w Erlangu (to nic ze
    dziadowski algorytm i jest tylko jedno-watkowy) ale uruchomie go na 16-to rdzeniowym
    procesorze i to spowoduje magiczne ulepszenie algorytmu i 16-kroty przyrost
    predkosci. Czysta magia. Amdahl sie w grobie przewraca jak slyszy takie nonsensy na
    temat przyrostu predkosci na systemach wieloprocesorowych.
    Dodakowo ten biedny Erlang wie w jakis magiczny sposob jak ma to uruchomic na tym
    16-rdzeniowym procesorze.
    >
    > > Jeśli kolega zadaje takie pytanie to tutaj jest link który
    > > może się przydać aby zrozumieć za automatyczne zwalnianie
    > > i odśmiecanie nie zawsze jest dobrym rozwiązaniem:
    > > https://www.dynatrace.com/resources/ebooks/javabook/
    impact-of-garbage-collection-on-performance/
    >
    > problem z tą lekturą jest taki, że niewiele z niej wynika.
    > proponuję zerknąć np, tutaj
    > https://scholarship.rice.edu/bitstream/handle/1911/1
    6127/8900220.PDF?sequence=1&isAllowed=y
    > albo tu
    > https://www.scss.tcd.ie/Lucy.Hederman/LHMScDissertat
    ion.pdf
    > albo tu
    > http://www.pipeline.com/~hbaker1/Share-Unify.html
    > albo tu
    > https://pdfs.semanticscholar.org/5fe3/c770c0dfbb05a1
    6fe1b969678c8ee3b1a461.pdf
    >
    > zasadniczo możliwością, którą brak automatycznego odśmiecania
    > przed Tobą otwiera, jest możliwość robienia wycieków pamięci.

    Nie uwazam że ośmiecanie jest całkowicie złe - w wielu przpadkach daje bezpieczeństwo
    (zwłaszcza niedoświadczonym programistom). Moim nawi ększym problemem jest podejście
    wszystko albo nic do automatycznego zwalniania pamięci i odśmiecania - zabiera to
    wolnosc programiscie w decydowaniu jak program ma sie zachowywac. Podjeście ze
    alternatywą do automatycznego zwalniania i odśmiecania sa wycieki pamięci jest jak
    proponowanie wprowadzenia zakazu sprzedazy nozy - no bo przecież można kogoś zadzgać.

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: