eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[OT] Duża kasa i kiepski wynik - dlaczego?Re: [OT] Duża kasa i kiepski wynik - dlaczego?
  • Data: 2015-09-12 21:46:45
    Temat: Re: [OT] Duża kasa i kiepski wynik - dlaczego?
    Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2015-09-12 20:35, AK wrote:
    >>> Hehehe :) Dobre ! "Standardowa" to malo istotny kawalek :) ?
    >>> Pikne !
    >> Owszem. Przypominam że stl to rzecz której się np. Nie używa np. na uC
    > Ale ja pisze o bibliotece standardowej/systemowej C, a nie o stl.

    Standardowej nie używa sie na uC, lub używa w bardzo ograniczonym zakresie.

    > Jego glowna wada to IMHO brak tread-safe-wowosci.

    To jest również zaleta.

    > Tylko dlaczego tak badziewny stl jest czescia std:: a mily Bog !?

    On nie jest badziewny. Wiele rozwiązań jest naprawde niezłych. I
    możliwych tylko w C++.

    > Mylisz sie co do "To był znakomity pomysł w kilku miejscach".
    > To nie byl znakomity pomysl, a kiepskie implementacje sa konsekwencja
    > wlasnie nietrafionego pomyslu.

    Pomysł był:
    a) innowacyjny
    b) możliwy do implementacji tylko w C++
    c) spieprzony bo każdy implementowal po swojemu

    > Takie cus jak stl powinno by "wbudowane w jezyk/biblioteke" i napisane
    > obiektowo

    I jest napisane obiektowo. ALe piękno polega na tym że tylko tam gdzie
    to się przydaje.

    > (tak jak w Javie czy .NET), a nie napisane "na boku" poprzez uzycie
    > techniki templates

    Techniki templates zostały uzyte świadomie. Z powodu tego że jako jedyne
    pozwalaly na optymalizacje zamiast powolnego kodu generycznego.

    > komplikujacej sprawe i skladniowo i koncepcyjnie ponad miare.

    Nie ma tu żadnego ponad miarę. Zwykle uzycie szablonów, w dośc
    prymitywnej postaci. stl to nie jest specjalnie skomplikowana bibliteka.
    boost jest o rzedy wielkości bardziej skomplikowany.

    > PS: Nie mam nic w stosunku do generics w Javie, ale do C++ tempaltes mam
    > duzo.

    Generyki i templates to coś zupełnie innego. W zasadzie w ich różnicach
    mozna znaleźć powód dla którego stl jest tak a nie inaczej napisany.

    >> Bibliteki stl zawieraja błedy. Inne też. Suprise.
    > To niech sie przestaja nazywac std:: :)

    Bledy się poprawia i idzie dalej.

    >>> To rzeczywiscie super swiadczy o C++ :)
    >> Błędy w kompilatorze nie świadczą o języku. To nie był błąd standardu.
    > Moga swiadczyc. Jesli bledy w kompilatorach po tylu latach istnienia jezyka
    > wciaz sa tak powazne jak w C++ to znaczy, ze jezyk ten przez swe
    > skomplikowanie i niejednoznacznosci (nie tylko skladniowe, rowniez
    > semantyczne)
    > jest bardzo trudny do zaimplementowania. A to juz swiadczy (zle) o jezyku.

    Nie. Przykład clanga pokazał że jakośc kompilatorow zależy mocno od
    projektu samego kompilatora. Absurdalna szybkośc implementacji clang to
    w zasadzie esencja problemow z legacy programmers u sterów gcc i vs.
    Warto wspomnieć że gcc od niedawna pozwolił na używanie C++ w środku.
    Nic dziwnego, maja problem.

    >>> PS0: Czy std::/stl jest juz wreszcie thread-safe ?
    >> Czy standard C++ kiedy powstawało stl mówił coś o "thread"?
    > A co mnie to obchodzi ? _Dzis_ jest to niezbedne (juz dawno bylo!),

    Nie. Jest niezbedne tu. A tam nie. Nie wiem dlaczego mialbym na siłe
    dostać bonus którego nie chcę.

    > a przez 20 lat nie zrobiono _nic_ w tym wzgledzie nawet szczatkowo.
    > Skutek byl taki ze trzeba bylo niekedy _samemu_ pisac calego stl-a
    > aby moc uzyc w programach wielowatkowych.

    Tak. Na tym polega m.in. niskopoziomowośc C++. Nie ma tutaj nic dziwnego
    że jak potrzebujesz nietywpoego zastosowania to sobie piszesz sam poza
    standardem.

    >> Bo standard jest niesłychanie skomplikowany.
    > No wlasnie Po co ?

    Bo język ma duzo cech ktorymi obrastał przez lata, czasem chaotycznie.
    Mam rowniesz wrażenie że pewne cechy języka to zamrożone bugi lub
    niedociągnięcia pierwszych implementacji.

    > Taka Java czy C# jest skladniowo wlasciwie prymitywny
    > w stosunku do C++ a pokrywa wiekszosc dziedzin zastosowan C++
    > (nawet os-owo systemowe, poki co na Win)

    To rodzielne światy, pokrywają się tylko nieznacznie.

    >> Aczkolwiek przykład clang pokazał, że niestety również dlatego że
    >> projekty kompilatorów zatrudniają dużo corncobów[1]. Głównie takich
    >> którzy zamiast zalet jakiejs technologii widzą tylko same wady i
    >> ciągle żyją w latach 60-tych.
    > Heh. Tak sie sklada, ze taki gcc pisali wlasnie "mlodzi gniewni" z
    > rodziny C/C++ :)

    Nie. Gcc miał zakaz używania C++. Uwolniono go od niedawna. Pali się im
    grunt pod nogami, wiele kodu ktory *mogł* by się im przydać napisano już
    w C++ i portowanie go do C było głupie. Ponadto przypuszczam że sa pod
    wrażeniem szybkości implementacji clanga

    > Mnie sie na Odrze nie zdarzyl nigdy w zadnycm jezyku wypad kompilatora przy
    > obsludze jakiejs konstrukcji jezyka.

    Bo były to języki o prymitywnej składni.

    > W przypadku gcc i owszem zdarzyl mi sie i to nie wypad tylko normalny
    > zawis.

    Miliony razy tego doswiadczylem. I co z tego? Kompilator gcc c++ jest
    przypuszczalnie setki razy większy od kompilatora Simuli.

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: