eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Co jest nie tak z C++ (było: Rust)
Ilość wypowiedzi w tym wątku: 204

  • 121. Data: 2017-08-26 17:44:52
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: fir <p...@g...com>

    W dniu sobota, 26 sierpnia 2017 16:04:34 UTC+2 użytkownik AK napisał:
    > Użytkownik "fir" <p...@g...com> napisał:
    >
    > > pewnie pomysle o optymalizacji jak ktos zacznie z sensem asemblowac tym
    asemblerem
    >
    > Nikt nie zacznie, bo zwykly popularny kompilator C zrobi to o wiele wydajniej niz
    twoj assembler.
    >
    > > na razie jakos tego zapotrzebowania wogole nie widze ;c
    >
    > .. co mnie w ogole nie dziwi.. czy ty widzisz cokolwiek dalej niz czubek wlasnego
    nosa :) ?
    >
    > > gorzej ze nie che mi sie wklepywac tych wszystkich menmonikow, glownie chodzi o
    te wersje
    > > na charow i shortow, AX AH AL BX BL BH etc,
    > > zreszta chyba nawet zwykle skoki albo nawet mov eax maja wersje skrocone (tj
    takie ktorych
    > > operand nie jes 32 bitowy tylko jakies krotsze wersje 16 bit 8 bit)..
    >
    > no to d..pa ! :)
    >
    > np. ...na stosowaniu tych wersji skrocoonych polegala kiedys optymalizacja kodu
    assemblerowego.
    >
    > np powszechnie stosowalo sie (i kompiltaory C tez to wtedy juz umialy):
    >
    > push cs
    > call near ptr addr_fun
    >
    > zamiast mniej wydajnego ;
    >
    > call far ptr addr_fun
    >
    > Takich "sztuczek" bylo wiele.
    > Ja np. stosowalem dosc czesto:
    >
    > mov bx, sp
    >
    > i indeksowalen stos bx-em
    >
    > zamiast standarowej wtedy "rozbiegowki" funkcji:
    >
    > push bp
    > mov bp, sp
    > ...
    > pop bp
    >
    > ale nie miejsce i pora. Raczej ciekawostka historyczna. z czasow x86
    >
    > PS: Dobrym assemblerowcem bedziesz, gdy bedziesz mial w kapuscie
    > wryte zarowno mnemoniki jak i czasy wykonania rozkazow (no ok, dzis
    > juz nie tak - cale szczescie - wazne:). Juz nic nie pamietam prawie
    > ale CF (far ret) i C3 (near ret) wrylo sie w stary leb.
    > Robilo wrazenie gdy (slawek zapewne pamieta/potwierdzi) pisalo sie
    > w niejakim programie "debug" programy "z palca" szesnastkowo :)
    > PS1: Kiedys rozpoznawalo sie prawiczka w ASM86 gdy pisal mov ax, 0
    > miast xor ax,ax. Dzis (i znow cale szczecie:) przestalo i to miec znaczenie.
    >

    dzisiaj te instrukcja na AX AH i AL nie sa specjalnie krytycznie potrzebne,

    pytanie czy wspolczesne kompilatory je nawet wogole generują (i pytanie jest raczej
    ZTCW czy generuja je w ilosci mikro czy wogole)

    moglby moze miec sens gdyby pomagaly w optymalizacji ale chyba tego nie robia (wogole
    dzisaj gdy
    cpu wogole nie jest krytyczne tylko memory bandwidth (MB) to co by sie
    liczylo to pewnie prostota - i moze ewentualnie 'compactness' w sensie
    pewnie lepsza specjalizowana instrukcja do iloczyny skalarnego dwu float4 niz jej
    brak) (a to i tak wszystko w tyle za MB)

    ew tylko przydalyby sie pewnie

    mov byte ptr [eax], value

    (bo inaczej pisanie poszczegolnych bajtow byloby utrudnione)

    ew
    mov eax, byte ptr [ecx]

    do czytania pojedynczych bajtow

    (ta granulacja bajtowa wogole przydaje sie chyba tylko do ascii
    i kompletnie niczego wiecej -
    to jak wspominalem chyba by znaczylo ze nalezaloby zrezygnowac z ascii na rzecz
    sensownego unicode
    i przerzucic sie na 32bitowe bajty]

    (wynika tez chyba z tego ze zasadniczo by byc przyjaznym nowoczesnemu hardware
    wypadaloby nielubic chara (przynajmniej w jego typowych zastosowaniach - [ew lubic
    go tylko w unikalnych sytuacjach gdy pozwala zmniejszyc memory bandwidth (bo
    teoretycznie moglby) ale nie wiem czy te sztuczki by dzialaly) ]

    w sumie nie wiadomo co jest bardziej pozyteczne - korzysc wynikajaca z malego
    rozmiaru pamieci na teksty wynikajaca z ciagle masowego uzywania charow
    czy niekorzys wynikajaca z calego babrania sie z unalignmentami w procku (ciezko mi
    powiedziec bo
    faktem jest ze procek jest bardziej skomplikowany ale ewna korzysc ze
    spakowania tekstow tez jest ;c )


  • 122. Data: 2017-08-26 19:30:11
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: "AK" <n...@n...net>

    Użytkownik "fir" <p...@g...com> napisał:

    > dzisiaj te instrukcja na AX AH i AL nie sa specjalnie krytycznie potrzebne,

    Chopie a jak chcesz wziac konkretne bajty/slowa to bedziesz bez potrzeby shiftowal ?
    Ja zwykle masz ograniczona wyobraznie :(

    AK


  • 123. Data: 2017-08-26 19:32:20
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: Adam M <a...@m...com>

    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


  • 124. Data: 2017-08-26 22:29:48
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: "M.M." <m...@g...com>

    On Saturday, August 26, 2017 at 3:02:46 PM UTC+2, AK wrote:
    > Użytkownik "M.M." <m...@g...com> napisał:
    >
    > >> > Potem Javę reklamowano [...]
    > >> > i że jest językiem pozbawionym wad C++.
    > >>
    > >> Bo to szczera prawda :)
    > >
    > > W C++ też można pisać ładny kod, podobny do Javy. Można do
    > > minimum ograniczyć preprocesor, przeciążanie operatorów,
    > > [...]
    >
    > Alez mozna!, ale da sie tez zle (i to latwo/"normalnie").
    > W Javie sie tak latwo nie da i to jest ta "drobna" roznica
    Przyznaję rację.



    > > Problem jest w ludziach.
    >
    > Tak. Jak zawsze.
    > Ludzie ogolnie sie dziela na:
    > 1. ku potomnosci (blizni mi brat)
    > 2. po mnie chocby potop (mam to/innych w d..)
    > Tak sie sklada ze od poczatku swej drogi zawodowej
    > wykres czestosci obu postaw wsrod polskich progranistow
    > przypomina X. Ostatnie lata to nawt wydaje mi sie megalomansko,
    > ze prawa-dolna noga tego x jest neico krotsza tylko dlatego ze
    > opiera sie jedynie na mym brzuchu. Gdy jego zabraknie (a to juz niebawem)
    > to osiagnie wreszcie "upragnione" 0 :)
    Ważne żeby sumowały się do jedynki ;-)



    > >> > Jeśli chodzi o zalety programowania w C++, to ja zauważyłem
    > >> > jedno. Programiści którzy zadali sobie trud nauki programowania
    > >> > w C++, potem lepiej i szybciej odnajdowali się w innych
    > >> > środowiskach.
    > >>
    > >> Zauwazyles czy "wydumales" ?
    >
    > > Zauważyłem.
    >
    > Ok. No to mamy diametralnie inne perspektywy.
    > Ciekawe ktora prawdziwsza/blizsza rzeczywistosci.
    Mogę przyznać tylko tyle, że nie obserwowałem zbyt często, ale
    przewaga w próbie była tak duża, że uznałem to za regułę. Jest
    jeszcze taka opcja, że czytając/pisząc te same słowa, myślimy o
    czymś innym.

    >
    > > Ale ja nie mówię o programistach kompulsywnych bez motywacji :)
    > > Mówię o programistach którzy chcą programować w innych językach.
    >
    > Ceownik/Krzyzowiec chcacy pisac w innych jezykach ? Raczej zupelny unikat.
    To chyba ja już wiem, dlaczego mamy diametralnie inne perspektywy.
    Obserwowałem tylko takich, którym bardzo zależało, wręcz wychodzili
    sami z inicjatywą.


    > O wiele czesciej "muszacy" (vide slawetny Ober-Ayatollah C++
    > Sektor van Skijlen)
    Jeśli musi a nie chce, to mamy mucha po urwaniu ostatniej nogi
    traci słuch :)



    > > Mogę przyznać jedynie odrobinę racji, że gdy programują w Javie i
    > > coś zamula, to myślą, że w C++ by to zoptymalizowali - a nie po
    > > to biorą Javę.
    >
    > Mowilem tu lata temu wiec powtorze jakze IMHO ma wciaz prawdziwa maksyme:
    >
    > "Czym sie rozni programista C++? Tym, ze zanim jeszcze zakoduje,
    > juz optymalizuje!"
    A ja powiem, że to nic złego, przynajmniej nie zawsze. A jeśli nie
    chcesz tak mocno optymalizować, to ja mówię: albo weź Javę, albo
    pisz w C++ prawie tak jak w Javie. Ok, masz rację, że ta pokusa
    do optymalizacji się pojawia mimowolnie.


    > >> Moze sie pobawimy ? Zadania trywialne (nie trzeba stosowac nic poza samym
    jezykiem).
    > >> Zobaczymy jak sie odnajdziesz w pythonie.
    > >>
    > >> 1. Sprawdz w petli w C++ i w Pythonie czy wszystkie elementy kolekcji
    > >> sa > 3.4 i <= 56.8.
    > >> 2. Znajdz w petli w C++ i w Pythonie pierwszy element kolekcji > 3.4 i <= 56.8.
    > >> 3. Znajdz w petli w C++ i w Pythonie wszystkie element kolekcji > 3.4 i <= 56.8.
    > >>
    > >> (kazde w/w to osobne zadanie).
    > >
    > > Hmmm może moje słowa "lepiej i szybciej odnajdowali się" brzmią trochę
    > > jak "znali składnię innego języka bez nauki", ale na pewno nie to
    > > miałem na myśli.
    >
    > Ok, ale pobawmy sie.
    > Napisz prosze w C++ i w Pythonie w/w zadanka.
    > Napisz je po ptostu "tak z palca", jak umiesz, zeby bylo uczciwie i adekwatnie.
    > Chce (a i dla Ciebie mysle byloby to cenne) jak/na ile C++ wycisnal na Tobie
    pietno.

    Może coś nie tak z moją spostrzegawczością, ale naprawdę nie widzę w tym
    nic cennego dla mnie. Po drugie, teraz już na 99% jestem pewny, że
    myślimy o czymś innym. Ty proponujesz jednej osobie która nie zna
    Pythona napisanie jednej/kilku linii kodu w Pytonie i wyciąganie z
    tego jakiś wniosków. Ja mam na myśli wpływ ciężkiego treningu, jaki
    przeszła osoba dobrze programująca w C++, na postępy w innych, bardziej
    lub mniej podobnych językach programowania. Mówiłem też coś o
    chęci i motywacji. Jakbyś mi zaproponował kurs Pythona i kontrakt na
    1-2 lata, to wtedy może bym pomyślał, że mamy na myśli to samo.

    Pozdrawiam


  • 125. Data: 2017-08-27 08:07:41
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: "AK" <n...@n...net>

    Użytkownik "M.M." <m...@g...com> napisał:

    >> Ceownik/Krzyzowiec chcacy pisac w innych jezykach ? Raczej zupelny unikat.
    > To chyba ja już wiem, dlaczego mamy diametralnie inne perspektywy.
    > Obserwowałem tylko takich, którym bardzo zależało, wręcz wychodzili
    > sami z inicjatywą.

    ..i tak trzymaj ! (powaznie). Na innych szkoda zwyczajnie czasu.

    >> O wiele czesciej "muszacy" (vide slawetny Ober-Ayatollah C++
    > > Sektor van Skijlen)
    >
    > Jeśli musi a nie chce, to mamy mucha po urwaniu ostatniej nogi traci słuch :)

    Pracodawca/zycie/rzeczywistosc mu urwal wszystkie nogi (zmusil do C#:)
    Z satysfakcja obserwowalem jak zaczal.. chawilc C# :)
    (choc oczywiscie te jego chwalenia juz zawsze trzeba brac z rezerwa -
    zapewne znow chwali tylko to co.. ON sam zna/uzywa :)

    >> Mowilem tu lata temu wiec powtorze jakze IMHO ma wciaz prawdziwa maksyme:
    >>
    >> "Czym sie rozni programista C++? Tym, ze zanim jeszcze zakoduje,
    >> juz optymalizuje!"
    >
    > Ok, masz rację, że ta pokusa do optymalizacji się pojawia mimowolnie.

    Alez chce (i czynie to!), ale dopiero wtedy _gdy to rzeczywiscie jest potrzebne_,
    ale nie za wczasu.
    PS: Pamietam dobrze taki fakt z moje pierwszej "przemyslowej" pracy (WSK Rzeszow
    87r).
    Kolega z zespolu - doskonaly inzynier i numeryk napisal w czystym ASM na PC obsluge
    floating point bo w/g niego orginalne emulatory z kompilatorow/osobne typu emu287
    byly za wolne - i fakt ze byly ale... Sprawa byla powazna bo dotyczyla metod FEM
    ktorych
    obliczenia trwaly (uklady rownan rozniczkowych czastkowych) dniami i nocami.
    Kod byl doskonaly, scisle zoptymalizowany (timingi rozkazow uwzglednione itp).
    Wydawalo sie wypas (bo byl to z programistycznego punktu widzenia wypas!) choc ja
    mialem
    wlasne zdanie w sensie celowosci tego, choc wiedza merytoryczna nie dorastalem
    Koledze
    do piet (no ale mialm juz za soba kilka ladnych lat z duzych maszyc wiec..)
    Skutek finalny: _w praktyce_ zysk byl kilka procent , a za kilka miesiecy pojawili
    sie AT-ki
    z koprocesorami i cala jego robota (kilka miesiecy) poszla sie zwyczajnie (...) pasc
    :(

    > Może coś nie tak z moją spostrzegawczością, ale naprawdę nie widzę w tym
    > nic cennego dla mnie.

    Ale zobaczysz :) Sam jestem ciekaw.
    Podstaw Pythona nauczysz sie w godzine.

    AK


  • 126. Data: 2017-08-27 10:18:56
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: slawek <f...@f...com>

    On Sat, 26 Aug 2017 10:32:20 -0700 (PDT), Adam M
    <a...@m...com> wrote:
    > To bardzo ładne stwierdzenia
    > - niestety nie do końca prawdziwe

    Tłumacząc na zwykły język: "to prawda z którą nie potrafię się
    pogodzić".

    Przypominam - wyśmiewałeś tezę że prawo Ahmadla ma zastosowania
    ograniczone przez założenia przy jakich zostało sformułowane.

    > - co do ilosci procesorów
    > - niestety jest bardzo wiele problemow
    > ktore sa niestety typowo jedno-watkowe

    Istnieje więcej niż jeden problem którego rozwiązanie nie zyskuje na
    zwiększaniu liczby wątków. Istnieje więcej niż jeden problem dla
    którego zwiększanie liczby wątków jest dobre. Stąd logiczne wnioski:
    istnieje wiele problemów jednowątkowych; istnieje wiele problemów
    wielowątkowych. Co z tego wynika?
    Programowanie wielowątkowe jest potrzebne.

    To tak jak z gwoździkami i śrubkami. Ja twierdzę że niekiedy śruby są
    potrzebne. Ty upierasz się że wszystko da się zmontować przy pomocy
    gwoździ (programów jednowątkowych).

    Co ciekawsze: wydaje mi się (ale wymagałoby to głębszego
    rozplanowania), że wielowątkowość jest sensowniejszym sposobem
    modelowania, bo świat jako taki jest massive parallel.


  • 127. Data: 2017-08-27 10:53:19
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: fir <p...@g...com>

    W dniu niedziela, 27 sierpnia 2017 08:08:56 UTC+2 użytkownik AK napisał:
    wiec..)
    > Skutek finalny: _w praktyce_ zysk byl kilka procent , a za kilka miesiecy pojawili
    sie AT-ki
    > z koprocesorami i cala jego robota (kilka miesiecy) poszla sie zwyczajnie (...)
    pasc :(
    >

    nie cala oszla bo w programowanie (programowanie "czegos") sklada sie z dwu rzeczy -
    z 'rozkminiania' i z pisania, /'wdrazania', 'uruchamiania'

    rozkminianiae jest chyba mozna powiedziec 'ciezsze' tj trudniejsze
    i dluzej trwa (choc pisanie moze byc bardziej ryjące/meczace)

    widac to po tym ze jesli ktos juz rozkmini tematy to moze poznij kod
    napisac od zera (od czystych plikow) imponujaco szybko
    (tak jak ja ostatnio asembler x86 w tydzien - co jest dobrym wynikiem -
    a mozliwe bylo to dlatego ze wiekszosc potrzebych rzeczy rozkminilem wczesniej ..
    pewnie teraz gdy rozkminilem jeszcze wiecej moglbym napisac od zera asembler w 2 dni)


  • 128. Data: 2017-08-27 12:21:22
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: "AK" <n...@n...net>

    Użytkownik "fir" <p...@g...com> napisał:

    > a mozliwe bylo to dlatego ze wiekszosc potrzebych rzeczy rozkminilem wczesniej ..
    > pewnie teraz gdy rozkminilem jeszcze wiecej moglbym napisac od zera asembler w 2
    dni)

    I co z tego ?
    Chopie nigdy nie bedziesz dobrym programista :(.

    Programowanie to sztuka/rzemioslo - tworzone "ku potomnosci" - znaczy: "dla innych".
    Ty widzisz tylko czubek wlasnego nosa i nikogo/niczego poza tym, co skutkuje
    tworzeniem
    nikomu niepotrzebnych (bo juz dawno zrobionych - rozkimanych) rzeczy - czyli
    "wymyslaniem
    kola na nowo".
    Slowem: nie ty jestes tu podmiotem, ale "dzielo" (jego jakosc, a glownie
    _przydatnosc_).
    Dorosnij, jesli chcech byc programista, a nie jeno kolejnym pryszczatym POspolitym
    koderem-sobkiem :(

    AK



  • 129. Data: 2017-08-27 13:47:06
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: fir <p...@g...com>

    W dniu niedziela, 27 sierpnia 2017 12:22:38 UTC+2 użytkownik AK napisał:
    > Użytkownik "fir" <p...@g...com> napisał:
    >
    > > a mozliwe bylo to dlatego ze wiekszosc potrzebych rzeczy rozkminilem wczesniej ..
    > > pewnie teraz gdy rozkminilem jeszcze wiecej moglbym napisac od zera asembler w 2
    dni)
    >
    > I co z tego ?
    > Chopie nigdy nie bedziesz dobrym programista :(.
    >
    > Programowanie to sztuka/rzemioslo - tworzone "ku potomnosci" - znaczy: "dla
    innych".
    > Ty widzisz tylko czubek wlasnego nosa i nikogo/niczego poza tym, co skutkuje
    tworzeniem
    > nikomu niepotrzebnych (bo juz dawno zrobionych - rozkimanych) rzeczy - czyli
    "wymyslaniem
    > kola na nowo".
    > Slowem: nie ty jestes tu podmiotem, ale "dzielo" (jego jakosc, a glownie
    _przydatnosc_).
    > Dorosnij, jesli chcech byc programista, a nie jeno kolejnym pryszczatym POspolitym
    > koderem-sobkiem :(
    >

    dziekujemy za wypowiedz...

    sam mam inna opinie ale nie bronie koledze miec swojej


  • 130. Data: 2017-08-27 13:53:28
    Temat: Re: Co jest nie tak z C++ (było: Rust)
    Od: "M.M." <m...@g...com>

    On Sunday, August 27, 2017 at 8:08:56 AM UTC+2, AK wrote:
    > Pracodawca/zycie/rzeczywistosc mu urwal wszystkie nogi (zmusil do C#:)
    > Z satysfakcja obserwowalem jak zaczal.. chawilc C# :)
    > (choc oczywiscie te jego chwalenia juz zawsze trzeba brac z rezerwa -
    > zapewne znow chwali tylko to co.. ON sam zna/uzywa :)
    Może to jest tak jak w tym kawale, w którym szef nie wie czy ma
    leniwych pracowników, czy kiepskich. Jak im daje dwa razy większą
    wypłatę, to ma pewność ;-)

    A poważnie, to powinno być inaczej niż piszesz. Przejście z Javy,
    C#, Pythona na C++ kojarzy mi się z takimi i innymi perturbacjami.
    W Javie, C# i Pythonie łatwiej się programuje, trzeba mniej napisać,
    głowę ma się mniej zaprzątniętą optymalizacją, szybciej jest radocha z
    efektów. Szczególnie jest fajnie, gdy mam narzucone takie języki, bo
    wtedy za potencjalnie zbyt małą wydajność i brak pamięci nie ja
    odpowiadam. Dla mnie programować w takich językach, to radość w sercu.


    > Alez chce (i czynie to!), ale dopiero wtedy _gdy to rzeczywiscie jest potrzebne_,
    > ale nie za wczasu.
    Szkoda że mogę rozmawiać tylko o amatorskich programach, jak np.
    szachach. Dobrze jednak, że właśnie to przydarzyło mi się w
    trakcie programowania szachów. Koledzy interfejs konsolowy mieli
    napisane na typie char[256], ja, może bardziej wprawiony w
    C++, nonszalancko zrobiłem na stringu i text-buforze. Potem
    zacząłem robić turnieje z głębokością przeszukiwania ustawioną
    na 2 ruchy w głąb. Wąskie gardło z przeszukiwania drzewa
    przeszło na readLine, konwersje unicode, konwersje daty, i
    mallocki w stringu. Cała praca poszła do kosza, musiałem
    robić od nowa, oczywiście doświadczenie mi zostało, protokołów
    nie musiałem się uczyć od nowa.


    > PS: Pamietam dobrze taki fakt z moje pierwszej "przemyslowej" pracy (WSK Rzeszow
    87r).
    > Kolega z zespolu - doskonaly inzynier i numeryk napisal w czystym ASM na PC obsluge
    > floating point bo w/g niego orginalne emulatory z kompilatorow/osobne typu emu287
    > byly za wolne - i fakt ze byly ale... Sprawa byla powazna bo dotyczyla metod FEM
    ktorych
    > obliczenia trwaly (uklady rownan rozniczkowych czastkowych) dniami i nocami.
    > Kod byl doskonaly, scisle zoptymalizowany (timingi rozkazow uwzglednione itp).
    > Wydawalo sie wypas (bo byl to z programistycznego punktu widzenia wypas!) choc ja
    mialem
    > wlasne zdanie w sensie celowosci tego, choc wiedza merytoryczna nie dorastalem
    Koledze
    > do piet (no ale mialm juz za soba kilka ladnych lat z duzych maszyc wiec..)
    > Skutek finalny: _w praktyce_ zysk byl kilka procent , a za kilka miesiecy pojawili
    sie AT-ki
    > z koprocesorami i cala jego robota (kilka miesiecy) poszla sie zwyczajnie (...)
    pasc :(

    Cóż mogę powiedzieć. Raczej wszystko jest oczywiste. Po pierwsze, trudno jest
    oszacować i nakład pracy na optymalizację, i rozwój sprzętu komputerowego,
    choć ostatnimi czasy w operacjach jednowątkowych procesory nie przyspieszają, a
    nawet zwalniają. Po drugie, trudno jest przewidzieć o ile się przyspieszy
    daną optymalizacją. Po trzecie, nie zawsze wiadomo, jaki będzie zysk z
    przyspieszenia o 10%, o 20%, itd. Decyzję o przeprowadzeniu optymalizacji
    podejmujemy zazwyczaj w warunkach ogromnej niepewności. Więc rzucanie się
    na pisanie dużego fragmentu kodu w takim asemblerze, że w razie zmian w
    kodzie/sprzęcie całość pójdzie do kosza, jest zazwyczaj szaleństwem, albo
    treningiem, ludzie chcą często z ciekawości lub w ramach nauki sprawdzić.
    Z drugiej strony, C++ to nie jest taki asembler, a czasami zwykłe
    zakodowanie w C++ z minimalną ilością optymalizacji - wystarczy.
    Kolejne optymalizacje zazwyczaj wymagają i więcej pracy, i mniej
    przyspieszają.

    Jakiś czas temu pisałem program w C++ właśnie bardzo normalnie z minimalną
    ilością optymalizacji. Ani razu w trakcie rozwoju projektu nie zapędziłem
    się w optymalizacyjny kozi róg. Nawet trzy systemy udało mi się zintegrować w
    jeden, co prawda, przy integracji trochę kodu przepisałem, ale to
    było relatywnie mało w porównaniu do całego nakładu pracy.


    > > Może coś nie tak z moją spostrzegawczością, ale naprawdę nie widzę w tym
    > > nic cennego dla mnie.
    >
    > Ale zobaczysz :) Sam jestem ciekaw.
    > Podstaw Pythona nauczysz sie w godzine.

    Ale co zobaczę? Chcesz mi pokazać że w pythonie pisze się znacznie mniej
    kodu - to wiem, naprawdę szkoda naszego czasu i wysiłku. Chcesz udowodnić, że w
    pół godziny jako programista C++ nie rozwiążę tamtych zadań optymalnie,
    myślę że masz rację, a ja nie o to się kłóciłem - to jest totalne
    nieporozumienie. Czy może chcesz się pośmiać ze mnie, że pętlę
    umieszczam na zewnątrz klamerek [], zamiast w środku, a ja się
    pośmieję, że nawet w pythonie są krotki w celach optymalizacyjnych?
    To by była totalna głupota, więc chyba tego też nie chcesz... Nie
    wiem do czego zmierzasz, co zobaczę? A może chcesz mi pokazać że to
    będzie działało szybciej niż C++? To tak, to podejmuję wyzwanie.
    Albo chcesz mi udzielić darmowej lekcji Pythona... to nie wiem czy
    warto, bo w sieci jest sporo materiałów.

    Pozdrawiam

strony : 1 ... 12 . [ 13 ] . 14 ... 20 ... 21


Szukaj w grupach

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: