eGospodarka.pl
eGospodarka.pl poleca

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

  • 11. Data: 2013-01-29 09:44:11
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Maciej Sobczak <s...@g...com>

    W dniu poniedziałek, 28 stycznia 2013 11:28:57 UTC+1 użytkownik M.M. napisał:
    > W dniu poniedziałek, 28 stycznia 2013 10:14:05 UTC+1 użytkownik Andrzej Jarzabek
    napisał:

    > Trudno opracować jakiś miarodajny sposób w ocenie zagadnienia.

    Ale można to zagadnienie łatwo przetransformować: zdefiniujmy zbiór cech, jakich
    oczekujemy od języka pod kątem wsparcia dla pisania poprawnych programów i kolejno
    odkreślając checkboksy porównajmy parę języków. Nie trzeba pisać żadnego programu,
    żeby to wykonać, wystarczy analiza specyfikacji, idiomów, itd.
    Takie porównania były robione i regularnie są robione chociażby przez branżę
    safety-critical. Hint: Java jest na rynku od +15 lat. Żaden system sterowania
    czymkolwiek istotnym (samoloty? pociągi?) nie został napisany w Javie, natomiast w
    C++ owszem. Jest to oczywiście wbrew wszelkim rynkowym tendencjom, ale skoro jest
    wbrew, to tym bardziej istotne są powody, żeby tak było.

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


  • 12. Data: 2013-01-29 10:38:44
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "M.M." <m...@g...com>

    W dniu wtorek, 29 stycznia 2013 09:44:11 UTC+1 użytkownik Maciej Sobczak napisał:
    > W dniu poniedziałek, 28 stycznia 2013 11:28:57 UTC+1 użytkownik M.M. napisał:
    >
    > > W dniu poniedziałek, 28 stycznia 2013 10:14:05 UTC+1 użytkownik Andrzej Jarzabek
    napisał:
    > > Trudno opracować jakiś miarodajny sposób w ocenie zagadnienia.
    > Ale można to zagadnienie łatwo przetransformować: zdefiniujmy zbiór
    > cech, jakich oczekujemy od języka pod kątem wsparcia dla pisania
    > poprawnych programów i kolejno odkreślając checkboksy porównajmy
    > parę języków.
    Intuicyjnie zgadzam się z Tobą, jednak sama intuicja jakoś mnie nie
    zadowala. Dla większości cech można podać argumenty za i przeciw. Obawiam
    się, że jeśli nie wskażemy sposobów pomiarów, to będziemy mogli dyskutować
    bez końca.

    Weźmy np. takie wielodziedziczenie. Ktoś powie że niebezpieczna konstrukcja.
    Drugi ktoś się rąbnie gdy będzie musiał wklepać kod, jakiego by nie
    musiał wklepywać, gdyby miał wielodziedziczenie.


    > Nie trzeba pisać żadnego programu, żeby to wykonać, wystarczy
    > analiza specyfikacji, idiomów, itd.
    Do pewnego stopnia masz rację, to wystarczy. W przypadku czy kod
    maszynowy, czy asembler, czy język wysokopoziomowy każdy się zgodzi.
    Natomiast w przypadku bardziej szczegółowych cech chyba panuje
    zgoda wśród programistów?


    > Takie porównania były robione i regularnie są robione chociażby przez
    > branżę safety-critical.
    Nie wiem jak oni to robią. Biorą zestaw cech i głosuje kilka osób w jakim
    stopniu dana cecha wpływa na poprawę bezpieczeństwa języka? Ja bym
    się bał że tacy ludzie ulegają wpływom, może ma to jakiś charakter
    marketingowy?


    > Hint: Java jest na rynku od +15 lat. Żaden system sterowania czymkolwiek
    > istotnym (samoloty? pociągi?) nie został napisany w Javie,
    Po pierwsze nie jestem tego pewny, a po drugie dla mnie nic z tego
    nie wynika. Może javy nie wybiera się do tego typu zadań z zupełnie
    innych powodów? Brak narzędzi na daną platformę, programiści z branży
    lepiej znają C++, ADĘ, czy co tam jeszcze, albo GC w javie może się
    uruchomić gdy urządzenie nie może czekać bo system jest RT?

    > natomiast w C++ owszem. Jest to oczywiście wbrew wszelkim rynkowym
    > tendencjom, ale skoro jest wbrew, to tym bardziej istotne są powody,
    > żeby tak było.
    Jeden z moich systemów co prawda nie może zabić ani urwać ręki, ale
    zęby może wybić, może nieźle nastraszyć, albo zdemolować trochę
    drogiego sprzętu. Napisany jest w C++. Gdyby był napisany w Javie,
    myślę, żeby działał tak samo. Wybór podał na C++ i asmebler (a
    przed chwilą pisałem że asembler jest niebezpieczny!) , bo mieliśmy
    większe doświadczenie w tych językach.

    Tak czy inaczej, muszą być sposoby pomiaru, bo inaczej ciężko się
    przekonywać.


    Pozdrawiam


  • 13. Data: 2013-01-29 19:41:34
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Andrzej Jarzabek <a...@g...com>

    On 29/01/2013 08:44, Maciej Sobczak wrote:
    > W dniu poniedziałek, 28 stycznia 2013 11:28:57 UTC+1 użytkownik M.M. napisał:
    >> W dniu poniedziałek, 28 stycznia 2013 10:14:05 UTC+1 użytkownik Andrzej Jarzabek
    napisał:
    >
    >> Trudno opracować jakiś miarodajny sposób w ocenie zagadnienia.
    >
    > Ale można to zagadnienie łatwo przetransformować: zdefiniujmy zbiór cech, jakich
    oczekujemy
    > od języka pod kątem wsparcia dla pisania poprawnych programów i kolejno odkreślając
    checkboksy
    > porównajmy parę języków.

    I co potem, policzysz checkboksy? Poza tym kto ma decydować, które cechy
    dokładnie się znajdą na tej liście, a które nie?

    > Takie porównania były robione i regularnie są robione chociażby przez branżę
    safety-critical.

    Masz gdzieś przykład?

    > Hint: Java jest na rynku od +15 lat. Żaden system sterowania czymkolwiek istotnym
    (samoloty?
    > pociągi?) nie został napisany w Javie, natomiast w C++ owszem.

    Java się nie nadaje do systemów czasu rzeczywistego, natomiast C++
    owszem. W żaden sposób nie rzutuje to na łatwość popełniania błędów czy
    ich ewentualne konsekwencje w jedym i drugim.



  • 14. Data: 2013-01-29 19:42:52
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Andrzej Jarzabek <a...@g...com>

    On 29/01/2013 01:59, Roman W wrote:
    > On Mon, 28 Jan 2013 18:45:53 +0100, darekm <d...@e...com> wrote:
    >> Można odwrócić pytanie. Co by było gdyby te duże programy pisano w
    >> języku z dynamicznym typowaniem
    >
    > Przecież wiadomo: syf, kila i mogila.

    Podobno ktoś w latach 80-tych napisał w Smalltalku jakiś większy system,
    który nie był do dupy.




  • 15. Data: 2013-01-30 10:12:15
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Maciej Sobczak <s...@g...com>

    W dniu wtorek, 29 stycznia 2013 19:41:34 UTC+1 użytkownik Andrzej Jarzabek napisał:

    > I co potem, policzysz checkboksy?

    Niezależnie od wybranej metody, coś będzie trzeba policzyć. :-)

    > Poza tym kto ma decydować, które cechy
    > dokładnie się znajdą na tej liście, a które nie?

    Może ci sami goście, którzy potem będą tego języka używać? Coś jak z wyborem
    samochodu na flotę firmową - siadamy, piszemy wymagania, rozglądamy się po rynku,
    liczymy checkboksy. To chyba jedyna w miarę obiektywna metoda, inne (np. osobiste
    sympatie prezesa) oczywiście też się stosuje w praktyce, ale o nich nie ma po co
    dyskutować.

    > > Takie porównania były robione i regularnie są robione chociażby przez branżę
    safety-critical.
    >
    > Masz gdzieś przykład?

    Hasła do gugla: language assessment for safety critical

    Całkiem ciekawe rzeczy wyskakują już na pierwszej stronie.

    > > Hint: Java jest na rynku od +15 lat. Żaden system sterowania czymkolwiek istotnym
    (samoloty?
    > > pociągi?) nie został napisany w Javie, natomiast w C++ owszem.
    >
    > Java się nie nadaje do systemów czasu rzeczywistego, natomiast C++
    > owszem.

    Dlaczego i dlaczego? I to są właśnie te checkboksy. Określamy wymagania i wybieramy z
    dostępnych możliwości.

    > W żaden sposób nie rzutuje to na łatwość popełniania błędów

    Ale rzutuje na możliwość efektywnego zrealizowania projektu. Marna pociecha, że w
    jakimś języku można (a można?) zrobić system, który jest poprawny, ale się nie
    nadaje. Pozostaje podjąć wysiłek w obrębie tych języków, które się nadają.

    Poza tym, w takich dyskusjach zwykle pada argument (aż dziw, że nie padł) o RT Java.
    Podobno problem nienadawania się tam znika, ale o faktycznie zrealizowanych systemach
    nie słyszałem.

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


  • 16. Data: 2013-01-30 19:58:00
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Andrzej Jarzabek <a...@g...com>

    On 30/01/2013 09:12, Maciej Sobczak wrote:
    > W dniu wtorek, 29 stycznia 2013 19:41:34 UTC+1 użytkownik Andrzej Jarzabek napisał:
    >
    >> I co potem, policzysz checkboksy?
    >
    > Niezależnie od wybranej metody, coś będzie trzeba policzyć. :-)

    No chyba że metoda jest "po uważaniu".

    >> Poza tym kto ma decydować, które cechy
    >> dokładnie się znajdą na tej liście, a które nie?
    >
    > Może ci sami goście, którzy potem będą tego języka używać?

    Są dwa problemy. Pierwszy teoretyczny: skoro nie wiadomo jaki język
    zostanie wybrany, to nie wiadomo, kto będzie go używać. Bo np. w
    zależności od wybranego języka będzie go używać ten, co go zna.

    W praktyce oczywiście często jest tak, że najpierw są ludzie, a potem
    jest projekt - np. dany program zaczyna tworzyć firma, która wcześniej
    istniała i kogoś tam zatrudnia. Ale w związku z tym pojawia się
    praktyczny problem taki, że ci ludzie i tak wybiorą to, co znają i czego
    używa się w firmie, i cała zabawa z chekboxami nie ma zabawy, bo zawsze
    da się wybrać takie, żeby wygrało to, co ma wygrać.

    > Coś jak z wyborem samochodu na flotę firmową - siadamy, piszemy wymagania,
    > rozglądamy się po rynku, liczymy checkboksy.

    Nieco chybiona analogia, bo jak ktoś potrafi prowadzić jeden samochód,
    to potrafi prowadzić każdy samochód.

    >>> Takie porównania były robione i regularnie są robione chociażby przez branżę
    safety-critical.
    >> Masz gdzieś przykład?
    >
    > Hasła do gugla: language assessment for safety critical
    >
    > Całkiem ciekawe rzeczy wyskakują już na pierwszej stronie.

    Ostrożnie z takimi radami, bo każdy żyje w swojej guglowej bańce i każdy
    widzi co innego jak wpisze.

    Mnie na przykład na to hasło nie dało na pierwszej stronie żadnych
    linków o porównywaniu języków, czy to checkboxamiczy inaczej (z
    wyjątkiem jakiegoś jednego artykułu za paywallem), natomiast grzebiąc
    znalazłem coś takiego:

    http://grouper.ieee.org/groups/plv/HISTORICAL-LINKS/
    Derek%20Reinhardt%20MSc%20SCSE%20Thesis%20%28Release
    %20Version%29.pdf

    Ten schemat GSN jest od biedy jakimś odpowiednikiem checkboxów, ale jak
    się popatrzy na opis GSN pod
    http://www.goalstructuringnotation.info/documents/GS
    N_Standard.pdf, to
    można znaleźć takie zdanie:

    "0.4.12 It is important to recognise that GSN simply provides a means of
    documenting an asserted argument. The use of GSN itself does not
    establish the truth of that argument."

    I tyle na ten temat.

    >>> Hint: Java jest na rynku od +15 lat. Żaden system sterowania czymkolwiek istotnym
    (samoloty?
    >>> pociągi?) nie został napisany w Javie, natomiast w C++ owszem.
    >>
    >> Java się nie nadaje do systemów czasu rzeczywistego, natomiast C++
    >> owszem.
    >
    > Dlaczego i dlaczego? I to są właśnie te checkboksy. Określamy wymagania i wybieramy
    z dostępnych możliwości.

    Real time i safety critical to nie to samo. Kodeki video i gry FPS też
    się pisze w C++, chociaż nie są safety critical. Nie wiem czy istnieją
    systemy safety critical, które nie są systemami czasu rzeczywistego,
    teoretycznie jestem sobie w stanie to wyobrazić (jakieś obliczenia
    inżynieryjne?), ale w praktyce nie wiem jak jest.

    >> W żaden sposób nie rzutuje to na łatwość popełniania błędów
    >
    > Ale rzutuje na możliwość efektywnego zrealizowania projektu.

    Wiele rzeczy może na to wpływać (np. to, czy się akurat zatrudnia ludzi
    znających dany język), ale nijak ma się to do tematu "czy w jednych
    językach popełnia się więcej błędów niż w innych".

    > Poza tym, w takich dyskusjach zwykle pada argument (aż dziw, że nie padł)
    > o RT Java. Podobno problem nienadawania się tam znika, ale o faktycznie
    > zrealizowanych systemach nie słyszałem.

    Nie znam, to się nie wypowiadam.


  • 17. Data: 2013-01-31 00:14:42
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: "M.M." <m...@g...com>

    W dniu środa, 30 stycznia 2013 10:12:15 UTC+1 użytkownik Maciej Sobczak napisał:
    > > I co potem, policzysz checkboksy?
    > Niezależnie od wybranej metody, coś będzie trzeba policzyć. :-)
    > > Poza tym kto ma decydować, które cechy
    > > dokładnie się znajdą na tej liście, a które nie?
    > Może ci sami goście, którzy potem będą tego języka używać?
    Raczej minie się to z celem. W praktyce wybór języka to
    optymalizacja wielokryterialna. Ochrona przed błędami jest
    tylko jednym z wielu aspektów. Nie sądzę aby przeciętna
    osoba która używa języka była w stanie coś sensownego
    powiedzieć.

    Pomysł z checkboxami byłby dobry, ale checkboxy by musiał mieć
    chociaż liniowe wagi. Ustalenie wag wydaje się równie trudne
    jak problem w oryginalnej postaci i pętla się zamyka.

    Pozdrawiam


  • 18. Data: 2013-01-31 10:14:54
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Maciej Sobczak <s...@g...com>

    W dniu środa, 30 stycznia 2013 19:58:00 UTC+1 użytkownik Andrzej Jarzabek napisał:

    > >> Poza tym kto ma decydować, które cechy
    > >> dokładnie się znajdą na tej liście, a które nie?
    >
    > > Może ci sami goście, którzy potem będą tego języka używać?
    >
    > Są dwa problemy. Pierwszy teoretyczny: skoro nie wiadomo jaki język
    > zostanie wybrany, to nie wiadomo, kto będzie go używać. Bo np. w
    > zależności od wybranego języka będzie go używać ten, co go zna.

    Bo *z założenia* wykluczamy podwyższanie kwalifikacji, szkolenia, itd.?
    Ja bym nie wykluczał.

    Zwłaszcza, że mówimy o branżach, gdzie decyzje mają dłogofalowe efekty. Taki samolot
    albo satelita ma czas życia +15 lat (albo i 40), więc należy wziąć pod uwagę również
    taki drobiazg, że ci goście co projekt zaczną, prawdopodobnie nie będą go kończyć
    [*]. Wtedy fakt, że *ktoś* *dzisiaj* zna tylko JavaScripta ma mniejszą wagę, niż się
    zwykle sądzi.

    [*] Co ciekawe, tak może być w każdym projekcie oprócz zaliczeniowych.

    > Ale w związku z tym pojawia się
    > praktyczny problem taki, że ci ludzie i tak wybiorą to, co znają i czego
    > używa się w firmie, i cała zabawa z chekboxami nie ma zabawy, bo zawsze
    > da się wybrać takie, żeby wygrało to, co ma wygrać.

    Tak, jest to problem, który jest trudny do wyeliminowania. Ale tak będzie z każdą
    inną metodą.

    > > Coś jak z wyborem samochodu na flotę firmową - siadamy, piszemy wymagania,
    > > rozglądamy się po rynku, liczymy checkboksy.
    >
    > Nieco chybiona analogia, bo jak ktoś potrafi prowadzić jeden samochód,
    > to potrafi prowadzić każdy samochód.

    Zawsze myślałem, że wykształcony programista też jest zdolny do jakiejś tam
    intelektualnej mobilności.

    > > Hasła do gugla: language assessment for safety critical
    >
    > Mnie na przykład na to hasło nie dało na pierwszej stronie żadnych
    > linków o porównywaniu języków, czy to checkboxamiczy inaczej (z
    > wyjątkiem jakiegoś jednego artykułu za paywallem), natomiast grzebiąc
    > znalazłem coś takiego:
    >
    > http://grouper.ieee.org/groups/plv/HISTORICAL-LINKS/
    Derek%20Reinhardt%20MSc%20SCSE%20Thesis%20%28Release
    %20Version%29.pdf

    Jest to jakiś input.

    > "0.4.12 It is important to recognise that GSN simply provides a means of
    > documenting an asserted argument. The use of GSN itself does not
    > establish the truth of that argument."
    >
    > I tyle na ten temat.

    Każda metoda ma swoje wady. Metoda z checkboksami przynajmniej próbuje być
    obiektywna.

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


  • 19. Data: 2013-01-31 21:29:48
    Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
    Od: Marek Borowski <m...@...borowski.com>

    On 2013-01-31 10:14, Maciej Sobczak wrote:
    > W dniu środa, 30 stycznia 2013 19:58:00 UTC+1 użytkownik Andrzej Jarzabek napisał:
    >
    >>>> Poza tym kto ma decydować, które cechy
    >>>> dokładnie się znajdą na tej liście, a które nie?
    >>
    >>> Może ci sami goście, którzy potem będą tego języka używać?
    >>
    >> Są dwa problemy. Pierwszy teoretyczny: skoro nie wiadomo jaki język
    >> zostanie wybrany, to nie wiadomo, kto będzie go używać. Bo np. w
    >> zależności od wybranego języka będzie go używać ten, co go zna.
    >
    > Bo *z założenia* wykluczamy podwyższanie kwalifikacji, szkolenia, itd.?
    > Ja bym nie wykluczał.
    >
    Wydaje mi sie mylisz podwyzszanie kwalifikacji z przekwalifikowaniem
    sie. Bo znajomosc jezyka a dobra znajomosc jezyka to dwie rozne sprawy.


    Pozdrawiam

    Marek


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

    W dniu czwartek, 31 stycznia 2013 21:29:48 UTC+1 użytkownik Marek Borowski napisał:

    > > Bo *z założenia* wykluczamy podwyższanie kwalifikacji, szkolenia, itd.?
    > > Ja bym nie wykluczał.
    >
    > Wydaje mi sie mylisz podwyzszanie kwalifikacji z przekwalifikowaniem
    > sie.

    W takim razie wystąpiło nieporozumienie. Dla mnie programista to zawód. Język
    programowania to narzędzie. Nauka nowego języka to poszerzenie/podwyższenie
    kwalifikacji w tym samym zawodzie. Coś jak nauka obsługi nowego rodzaju młotka.

    Przekwalifikowaniem się byłaby nauka umiejętności typowych dla innego zawodu z myślą
    o wykonywaniu tego innego zawodu (np. nauka prowadzenia tramwaju).

    Inaczej: "programista" to zawód; "programista Javy" to ograniczenie.

    (Tak, oprócz ideałów znam też realia.)

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

strony : 1 . [ 2 ] . 3 ... 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: