eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJakie typowanie jest najlepsze i dlaczego statyczne?
Ilość wypowiedzi w tym wątku: 197

  • 81. Data: 2013-02-07 02:09:28
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Andrzej Jarzabek <a...@g...com>

    On 07/02/2013 00:36, M.M. wrote:
    > W dniu czwartek, 7 lutego 2013 01:12:47 UTC+1 użytkownik Andrzej Jarzabek napisał:
    >> No ale nie możesz w ten sposób wstawić dowolnej struktury czy mapy.
    > Jak na razie wstawiam dowolne potrzebne.
    >
    >> Możesz przypisać boost::function<int(int)>?
    > Czy to na pewno jest potrzebne, albo chociaż zapewnia w jakimś
    > przypadku wygodę?

    A więc nie moższ.

    >> Nie ma tej wygody, bo na zmiennej typu Variant możesz wywoływać tylko
    >> mettody typu Variant - czyli żadnych użytecznych dla danych, na których
    >> faktycznie chcesz wykonywać jakieś operacje.
    > Nie wiem o jaką użyteczność chodzi, ale może to by załatwiała metoda
    > wirtualna?

    Variant policz_cene(Variant transakcja)
    {
    return transakcja.kwota * kurs_walut(transkacja.waluta,
    moja_waluta);
    }

    W tym momencie piszę algorytm liczący kwotę, jakimi typami są
    transakcje, kwoty i waluty jeszcze nie zdecydowałem, zresztą mogę to
    wiele razy refaktoryzować. Może transakcja będzie konstruowana z
    elementu XML, który ma podelementy 'kwota' i 'waluta'.

    >> Żeby zrobić coś więcej
    >> musisz sobie przerzutować, a żeby przerzutować musisz dokładnie
    >> wiedzieć, na co chcesz rzutować.
    > Nie trzeba wiedzieć aż tak dokładnie, wystarczy rzutować na klasę z
    > czystą metodą wirtualną, zwykle na tą najwyższą w hierarchii dziedziczenia.

    Wystarczy, żeby powodować niewygodę. Bo tak czy inaczej musisz w tym
    momencie zdefiniować odpowiednie typy.

    >> Nie możesz mieć tego samego kodu, który zadziała zarówno na hashmapie z
    >> elementem o nazwie 'pole' jak i na obiekcie typu (klasy) mającego pole o
    >> nazwie 'pole'.
    > O jakie różnice chodzi?

    struct A
    {
    def pole
    def polozenie
    [...]
    }

    struct B
    {
    def pole = 0
    }

    var c = parse_xml('<root><pole>31</pole></root>')

    fun foo(p)
    {
    return (p.pole)/2
    }

    foo(new A)
    foo(new B)
    foo(c)


  • 82. Data: 2013-02-07 06:05:15
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Roman W <b...@g...pl>

    On Wed, 6 Feb 2013 15:57:09 +0000 (UTC), "Stachu 'Dozzie' K."
    <d...@g...eat.some.screws.spammer.invalid> wrote:
    > Typy prymitywne są wyjątkiem w javowym systemie typów. Niewygodnym
    nie
    > jest niemożliwość dodania im metod, tylko w ogóle konieczność
    dodatkowej
    > obsługi tych wyjątkowych konstrukcji.

    No ale bez prymitywnego "double" nie istnialaby numeryka w Javie.

    RW


  • 83. Data: 2013-02-07 08:35:28
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: firr kenobi <p...@g...com>

    >
    >
    > Typowanie dynamiczne zapewnia bardziej zwartą składnię z jednej strony, a
    >
    > okupione jest... w końcu nie wiem czym.
    Większą podatnością na błędy?
    >


    Okupione jest (i to jest przynajmniej dla mnie najwazniejsze ;-) znacznie nizszą
    wydajnoscią
    - udostępnia z kolei pewną (przynajmniej ewentualną) prostotę

    Osobiscie ineteresuje sie glownie tj wlasciwie
    wylacznie wydajnym kodowaniem i nie pociaga
    mnie tez obiektówka tak ze nie mam pecjalnych bodzcow by uczyc sie chocby lepiej javy
    czy obj-c czy pythona czy tcl (znam jako tako obj-c ktory ma bardzo dynamiczne typy
    ale dawno nie pisalem i ten dynamizm w obj-c jest spleciony z tym paskudnym
    paradygmatem z
    release tak ze nie uiem teraz sobie tamtego
    przypomniec i odzielic jednego od drugiego
    i ocenic jak oceniam same ten 'dyntypy')



    > Czy odwrotnie, większą odpornością na nie? W PHP nie trzeba podawać
    >
    > typu zmiennej i można ją wykorzystać do przechowania danych innego
    >
    > typu. Czy ja w PHP robiłem więcej błędów czy mniej niż w innych językach?
    >
    > Nie wiem... chyba podobnie. Trudno powiedzieć, bo inne projekty realizowałem w
    >
    > innych językach. Trudno porównywać. Pythona, Rubiego i całej reszty nie
    >
    > sam znam, a z tej dyskusji jak na razie (chyba) nic nie wynikło. Kłócimy
    >
    > się tylko o to, czy wygodne jest słowo def i rzutowanie na Integera - a
    >
    > to raczej odpowiedzi nie przyniesie.
    >


  • 84. Data: 2013-02-07 08:50:31
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "AK" <n...@n...com>

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

    > Różnicę zrozumiałe już dawno, ale nie mogę pojąć, dlaczego to jest

    Ja tez :)

    PS: Tzn.jest to pewien problem. W hash-table jest taki bukiet: "wydumane'.
    Tam trafia ten "problem".

    AK


    --- news://freenews.netfront.net/ - complaints: n...@n...net ---


  • 85. Data: 2013-02-07 08:53:45
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "AK" <n...@n...com>

    Użytkownik "Andrzej Jarzabek" <a...@g...com> napisał:

    > Dodatkowo języki dynamiczne często mają możliwość konstruowania typów w locie,
    można sobie np.
    > wczytać XML i skonstruować obiekt odpowiadający węzłowi z właściwościami
    odpowiadającymi
    > podelementom czy atrybutom.

    Ufff. Wreszcie ktos poruszyl jedna z waznych praktycznie korzysci "dynamicznego"
    typowania.

    PS: A tak w ogole to np. taki Python w ogole nie posiada zmiennych.

    AK


    --- news://freenews.netfront.net/ - complaints: n...@n...net ---


  • 86. Data: 2013-02-07 09:12:15
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "AK" <n...@n...com>

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

    > Nie wiem co znaczy sensownie. Wczoraj do Variant przypisywałem
    > Pixmapę z obrazkiem. Jak na razie nie narzekam na brak funkcjonalności.

    Ale musisz zrobic ten Variant, a variantow tysiace i maja sie do siebie nijak
    (w BCB++/Delphi inny, w MS inny, w COM inny itp itd).
    W przypadku jezykow z "first-class" masz to standardowo
    i w pelnej zgodzie z "klasycznym" definiowaniem typow.

    > Tutaj znowu ten argument z HashMapą indeksowaną stringiem.
    > Chyba podobna wygoda? W PHP mam obiekt->pole, w C++ mam obiekt['pole'].

    Nie. Nie podobna.
    W Pythonie masz pelnoprawna klase/obiekt ktora zachowuje sie
    _dokladnie_ tak samo jakby byla zadeklarowana/zdefiniowana statycznie.
    W zabawie z hashmapa masz sytuacje ktora musisz wszedzie specjalnie
    obsluzyc. Poza tym w stosunku do "zwyklej"/statycznej klasy np
    nie zgadza ci sie sizeof, serializacja ci sie idzie pasc, nie zapiszesz toto na dysku
    jakims fwritem itp :)
    Troche zartuje, ale jednak ta hasmmapa to zbbedna sztuczka/obejscie.

    PS: A reflection w Javie jest calkiem ok i jest to duzy krok naprzod w stosunku
    do C++.

    AK


    --- news://freenews.netfront.net/ - complaints: n...@n...net ---


  • 87. Data: 2013-02-07 09:53:12
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Sebastian Kaliszewski <S...@n...softax.com.pl>


    On 02/05/2013 08:32 PM, AK wrote:
    > Użytkownik "Sebastian Kaliszewski"
    > <S...@n...softax.com.pl> napisał:
    >
    >>>> a już na pewno nie da się tego transplantować do języków o
    >>>> dynamicznym systemie typów.
    >>>
    >>> Otóz "da sie" i oczywiście tak się robi.
    >>
    >> Że co?
    >
    > Przestan glupolu sie czepiac, bo jesli chodzi o znajomosc jezykow
    > programowania to "mozesz mi klawiature czyscic"

    LOL!

    >
    >> Rozpoznaje składnie funkcji na podstawie podania typu (bo o tym
    >> mowa) w języku w którym typu nie podaje się? Ciekawe
    >
    > Mowilem zes glupol i znow sie sprawdza. Slowem: bredzisz. Nie o zadne
    > rozpoznawanie funkcji chodzi. "Rozpoznawanie funkcji" (czyli czy to
    > funkcja itp) ma sie tak do "typologii" jak (...)

    Zacznij czytać ze zrozumieniem to na co odpowiadasz, to ci pomoże.


    >> Bo poza tym to oczywiście da się uniknąć słowa kluczowego
    >
    > Jakie znow slowo kluczowe ? Co ty stulasz ? Mowimy o _systemie typow_
    > i jego "pilnowaniu", a nie o parsingu, synktatyce
    > "rozpoznawaniu funkcji" itp.

    Nie, Adasiu, nie...

    Odpowiadasz na:

    "Ale tam się tak jakby deklaruje typ zwracany. To "uporanie się"
    polegało na obciążeniu składni przewidzianej dla systemu typów
    dodatkowym obowiązkiem wykrywania deklaracji i/lub definicji funkcji.
    Nie jestem przekonany, czy aby na pewno to eleganckie rozwiązanie, a już
    na pewno nie da się tego transplantować do języków o dynamicznym
    systemie typów."

    Dla opornych:
    mówimy o użyciu słowa kluczowego do oznaczenia definicji funkcji jako
    jakoby rzeczy brzydkiej (zdaniem M.M.)

    >
    > PS: Przeprszam wszytskich (lacznie z interlokutorem) za
    > "bezposredniosc" ale tolerancja dla siemionowstwa usenetowego
    > wyraznie mi sie zmniejszyla na starosc

    Przede wszystkim, Adasiu, na starość chamiejesz.

    \SK


  • 88. Data: 2013-02-07 09:59:47
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Maciej Sobczak <s...@g...com>

    W dniu środa, 6 lutego 2013 18:10:54 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:

    > Jakiś przykład javowego kontenera (haszmapy, treemapy, arraylisty),
    > który potrafi trzymać inty?

    To akurat słaby przykład - bo wskazuje raczej na ułomność Javowych kontenerów, niż na
    ułomność intów. Przykłądowo, C++ i Ada jakoś nie mają problemu z intami w
    kontenerach, więc najwyraźniej da się zrobić to dobrze.

    --
    Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com


  • 89. Data: 2013-02-07 10:10:17
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2013-02-07, Maciej Sobczak <s...@g...com> wrote:
    > W dniu środa, 6 lutego 2013 18:10:54 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:
    >
    >> Jakiś przykład javowego kontenera (haszmapy, treemapy, arraylisty),
    >> który potrafi trzymać inty?
    >
    > To akurat słaby przykład - bo wskazuje raczej na ułomność Javowych
    > kontenerów, niż na ułomność intów. Przykłądowo, C++ i Ada jakoś nie
    > mają problemu z intami w kontenerach, więc najwyraźniej da się zrobić
    > to dobrze.

    Tylko w C++ i w Adzie inty *traktuje się* z grubsza tak samo jak dowolne
    typy zdefiniowane przez użytkownika czy bibliotekę. W Javie jest pewien
    zbiór typów specjalnych (typy prymitywne), którego się używa po prostu
    inaczej.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 90. Data: 2013-02-07 10:12:05
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Maciej Sobczak <s...@g...com>

    W dniu czwartek, 7 lutego 2013 08:53:45 UTC+1 użytkownik AK napisał:

    > PS: A tak w ogole to np. taki Python w ogole nie posiada zmiennych.

    http://docs.python.org/3/reference/datamodel.html

    Słowo "variable" występuje tam tylko 28 razy, więc faktycznie można to określić jako
    wypadek przy pisaniu specyfikacji języka.

    Masz jeszcze jakieś podobne złote myśli?

    --
    Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com

strony : 1 ... 8 . [ 9 ] . 10 ... 20


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: