eGospodarka.pl
eGospodarka.pl poleca

Ilość wypowiedzi w tym wątku: 131

  • 111. Data: 2017-08-11 15:17:45
    Temat: Re: Rust
    Od: Tomasz Kaczanowski <k...@p...onet.pl>

    W dniu 2017-08-11 o 14:53, M.M. pisze:
    > On Friday, August 11, 2017 at 2:03:15 PM UTC+2, slawek wrote:
    >> On Fri, 11 Aug 2017 02:34:20 -0700 (PDT), Maciej Sobczak
    >> <s...@g...com> wrote:
    >>> wraz z biblioteką Qt daje przenośność i możliwo?=
    >>> ?ci". I tu ma rację, niezależnie od wad tego języka. Pokry=
    >>> cie platform (przenośność) i niszy rynkowych (możliwo=
    >>> ści) w C++ jest znacznie lepsze, niż w innych językach i dla=
    >>
    >> Narzędzia dla C i C++ są powszechnie dostępne, ale programy w nich
    >> napisane nie są w 100% przenośne.
    >>
    >> Między innymi nie jest ustalone czym jest int.
    >>
    >> W dodatku Komitern ustala kolejne wersje, które są implementowane jak
    >> komu się chce. Na przykład w C powinien być typ bool, a bywa że go
    >> nie ma.
    >>
    >> Pod tym względem Java jest nieco lepsza.
    >
    > Pod względem przenośności i w ogóle pod względem wygody programowania?
    > W moim odczuciu jest o niebo lepsza. Wiadomo, nie chodzi strikte o
    > język, tylko też o narzędzia. Bo co stoi na przeszkodzie, aby
    > napisać kompilatory do C++ na różne platformy w których int
    > ma zawsze 32bity? Chyba poza wydajnością nie ma żadnych przeszkód?


    Żeby mieć 32 bity w int używamy odpowiedniego typu (int32_t), a nie
    inta. Jeśli nie mam takich wymagań , używamy inta.

    To chyba proste właśnie takie rzeczy definiuje standard, tylko trzeba
    umiejętnie z nich korzystać. I o ile skompiluje program napisany w C czy
    C++ pod różnymi dziwnymi platformami, to z powodu braku jvm-a na nie
    raczej nie uda mi się uruchomić programów javowych, więc przenośność
    zawsze znajdzie bariery niezależnie od tego jak bedziemy chcieli ją uzyskać.


    --
    http://kaczus.ppa.pl




  • 112. Data: 2017-08-11 15:27:49
    Temat: Re: Rust
    Od: slawek <f...@f...com>

    On Fri, 11 Aug 2017 05:34:22 -0700 (PDT), Maciej Sobczak
    <s...@g...com> wrote:
    > W Javie jest "community", któro sądzi, że ustala "kolejn?=
    > ? wersję" a korporacje i tak implementują jak zechcą i jes=
    > zcze destabilizują społeczność sprawami w sądzie o=
    > te implementacje. W czym ta sytuacja jest lepsza?
    > Bo nie zrozumiałem.


    Jakie korporacje??? Jaka społeczność???

    Jest tylko jedno Oracle. I co tam się objawi jest niepodważalne.

    Społeczność może co najwyżej focha strzelić.

    Ale za to gdy jest nowa wersja Javy, to masz ją natychmiast. Kilka
    sekund i załatwione. Zwykle taka nowa Java ma coś więcej... a nie
    mniej. Nie musisz płacić za nowy kompilator, albo czekać pięć lat aż
    ktoś to zaimplementuje.


  • 113. Data: 2017-08-11 20:55:26
    Temat: Re: Rust
    Od: k...@g...com

    W dniu piątek, 11 sierpnia 2017 15:17:11 UTC+2 użytkownik slawek napisał:
    > Ciekawe, bo w K&R nic o tym nie ma.
    Standard C99 gdzie to wprowadzono został wydany 18 lat temu,
    a autorzy kompilatorów bohatersko starają się go przez przypadek
    nie zaimplementować w całości. O rzeszy programistów, którzy
    popierają to twierdząc, że jedyne koszerne C to C90 nie wspomnę.
    Ci sami programiści z miłą chęcią używają np. tablic o wielkości
    nie znanej przed kompilacją, których to w C90 nie ma, ale przez
    przypadek większość kompilatorów je obsługuje.

    Pozdrawiam,
    --
    Karol Piotrowski


  • 114. Data: 2017-08-11 22:03:10
    Temat: Re: Rust
    Od: slawek <f...@f...com>

    On Fri, 11 Aug 2017 11:55:26 -0700 (PDT), k...@g...com wrote:
    > Standard C99 gdzie to wprowadzono [...]

    Jakbym nie wiedział.

    Tyle że program napisany w 1975 raczej nie będzie z nim zgodny. Nawet
    taki z 1995 (program, biblioteka) nie skompiluje się bezstresowo. Nie
    tylko rozmiar int (bywa że 16 bitów, bywa 64), ale np. wskaźniki far
    i takie tam.

    Czyli masz program w C i nie masz pewności co do tego czy kompilować
    jako c89, c99 czy c11. Ok, prawdopodobnie się uda. Ale pewności nie
    ma. Np. procedury numeryczne używające stałych matematycznych. Nawet
    dość niedawno musiałem żonglować opcją std w GCC. O (domyślnie) nie
    działającym printf w MSVC chyba też wiesz.

    Ciekawostką jest że Turbo C nie obsługuje przecinka, tj. nie da się
    napisać x = ( a = 1, b = 2); itp. Czyli znowu problemy z
    przenośnością i z implementacją standardu.


  • 115. Data: 2017-08-11 22:13:51
    Temat: Re: Rust
    Od: slawek <f...@f...com>

    On Fri, 11 Aug 2017 11:55:26 -0700 (PDT), k...@g...com wrote:
    > Ci sami programiści z miłą chęcią używaj?=
    > ? np. tablic o wielkości
    > nie znanej przed kompilacją, których to w C90 nie ma, ale przez
    > przypadek większość kompilatorów je obsługuje.

    Akurat MSVC miał awersję do VLA. Tyle że od zawsze, czyli jeszcze
    przed C89, bez trudu da się zrobić tablice dynamiczne bez VLA. Tylko
    trzeba umieć programować w C.


  • 116. Data: 2017-08-11 22:43:15
    Temat: Re: Rust
    Od: k...@g...com

    Po pierwsze zgadzam się, że sytuacja kompatybilności kodu w C jest
    tragiczna i w żadnym wypadku nie miałem zamiaru grać adwokata
    diabła:)

    W dniu piątek, 11 sierpnia 2017 22:03:12 UTC+2 użytkownik slawek napisał:
    > Tyle że program napisany w 1975 raczej nie będzie z nim zgodny. Nawet
    > taki z 1995 (program, biblioteka) nie skompiluje się bezstresowo. Nie
    > tylko rozmiar int (bywa że 16 bitów, bywa 64), ale np. wskaźniki far
    > i takie tam.
    Kwestia rozmiaru inta została zaprotezowana przez stdint.h i te piękności
    typu uint8_t czy uint_least64_t, podejrzewam, że komitet uznał to za
    lepsze rozwiązanie niż przyjęcie jakiegoś jedynego słusznego rozmiaru.
    Jak wyszło tak wyszło, legacy kod który korzysta wprost z jakiejś
    konkretnej wielkości inta się sam nie zmodyfikował.

    > Ciekawostką jest że Turbo C nie obsługuje przecinka, tj. nie da się
    > napisać x = ( a = 1, b = 2); itp. Czyli znowu problemy z
    > przenośnością i z implementacją standardu.
    DOSowe kompilatory były tragiczne pod tym względem - wspomniane przez
    Ciebie bliskie i dalekie wskaźniki i bardzo średnia implementacja
    standardu. Dziękuję za ciekawostkę, bo nie widziałem Turbo C od
    "dość" dawna:)

    >Nawet dość niedawno musiałem żonglować opcją std w GCC. O
    >(domyślnie) nie działającym printf w MSVC chyba też wiesz.
    Dość niedawno musiałem żonglować opcją std przy portowaniu
    pewnej małej biblioteki pythonowej na OS X, bo okazało się,
    że kawałek kodu w C był traktowany przez clanga jako literalne
    C90 i odmawiał kompilacji czegoś w stylu
    void f(int n) { int array[n]; ........ }

    slawek:
    >Akurat MSVC miał awersję do VLA. Tyle że od zawsze, czyli jeszcze
    >przed C89, bez trudu da się zrobić tablice dynamiczne bez VLA. Tylko
    >trzeba umieć programować w C.
    Pewnie, że się da, ale jeżeli mam do wyboru użyć wbudowanej funkcji
    języka albo wymyślać koło na nowo, to użyję wbudowanej funkcji języka
    pod warunkiem, że 1) robi to, czego potrzebuję, 2) na tyle szybko,
    na ile potrzebuję.


  • 117. Data: 2017-08-12 07:04:52
    Temat: Re: Rust
    Od: slawek <f...@f...com>

    On Fri, 11 Aug 2017 13:43:15 -0700 (PDT), k...@g...com wrote:
    > nie widziałem Turbo C od
    > "dość" dawna:)

    1. Turbo C zciągasz z http://bdn.borland.com/museum

    2. DOSBOX

    3. I można...


  • 118. Data: 2017-08-12 07:25:16
    Temat: Re: Rust
    Od: slawek <f...@f...com>

    On Fri, 11 Aug 2017 13:43:15 -0700 (PDT), k...@g...com wrote:
    > Pewnie, że się da, ale jeżeli mam do wyboru użyć w=
    > budowanej funkcji
    > języka albo wymyślać koło na nowo, to użyję w=

    Jest powszechnie nierozumienie co do C.

    Są języki, w których jeżeli producent kompilatora/interpretera nie
    zrobił np. funkcji sinc, to choć można samemu ją sobie dopisać, nie
    będzie ona tak sprawnie działać jak gdyby była "intrisic".

    W C jest inaczej: jeżeli czegoś nie ma (np. funkcji sinc,
    dynamicznych tablic), to można to sobie dopisać BEZ STRATY
    WYDAJNOŚCI.

    Konkretnie np.:

    double* vector_double(size_t n) { return calloc(n,sizeof (double)) ; }

    Aby nie wynajdywać koła na nowo po prostu używa się bibliotek.


  • 119. Data: 2017-08-12 15:56:15
    Temat: Re: Rust
    Od: s...@g...com

    W dniu czwartek, 10 sierpnia 2017 22:45:51 UTC+2 użytkownik slawek napisał:

    > Język C jest dla
    > mięczaków zbyt głupich aby opanować Cobol.

    A to ciekawe, bo myślałem, że Cobol jest tłumaczony do C. Więc na logikę powinien być
    od niego prostszy i chyba dlatego powstał...


  • 120. Data: 2017-08-12 15:59:25
    Temat: Re: Rust
    Od: s...@g...com

    W dniu czwartek, 10 sierpnia 2017 22:33:15 UTC+2 użytkownik AK napisał:
    > > I wybieram C++ jako główny język gdyż wraz z biblioteką Qt daje przenośność i
    możliwości.
    >
    > Hehe Ale sie usmialem:),
    > C++ to najgorszy jezyk jaki poznalem.
    > Mowie to znajac produkcyjnie j.prog. kilkanasie.
    > Nie zmienia faktu (ze C++ to syf) moje ponad 30-etnie w nim stricte prtodukcyjne
    > doswiadczenie i bycie prekursorem tego jezyka w czasach gdy w Polsce dominowal
    Clipper.

    Dobra! To może ugryźmy ten temat na poważnie. Bo skoro znasz (dobrze?!?) języków
    programowania kilkanaście, to może jesteś geniuszem i może mógłbyś oświecić ciemne
    masy klepaczy co jest nie tak z C++. Bo chyba nie to, że trzeba deklarować typ
    zmiennej?!? I pilnować zwalniania wskaźników?!?

strony : 1 ... 11 . [ 12 ] . 13 . 14


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: