eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Carnegie-Mellon przestaje uczyc programowania obiektowego
Ilość wypowiedzi w tym wątku: 255

  • 181. Data: 2011-04-15 06:37:23
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-04-14 22:17, p...@p...onet.pl pisze:

    > uchwyty do resourcow i caly ten stuff z tym, to raczej nie jest OOP :-O


    JEST

    (inny etap, inny jezyk), ale to jest w bezposredniej linii prowadzacej
    do OOP. Te wszystkie Control Bloki, wskazniki na funkcje, szersze wersje
    bloku i wezsze itd. Dziedziczenie, klasa a obiekt, metody jako takie,
    metody wirtulne, to wszystko tam juz jest.
    To wszystko (poznanie zalet i wad) zaowocowalo OOP. Jezyk obiektowy to
    lepiej obudowal (np. nie bylo wczesniej dobrego 'private' - byly tylko
    konwencje, oraz gwarantowanej poprawnej inicjacji)

    Wypowiadasz sie o smaku szpinaku którego nie jadles.


  • 182. Data: 2011-04-15 06:59:51
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-04-14 23:41, Wojciech Jaczewski pisze:

    > Choćby z tego powodu, że większość ludzi tuż po studiach, bez większego
    > doświadczenia, bardzo je chwali. U ludzi z doświadczeniem, ta ocena jest
    > bardziej zróżnicowana. Cóż więc innego niż moda sprawia, że ludzie bez
    > doświadczenia w to wierzą?
    >

    Wiesz co, ja na studiach (informatyka) nie mialem OOP.
    Np bylo C z konwencjami nazewniczymi, a proj. nie tylko studenckie,
    rowniez udzial w projektach Instytutu itd.

    OOP uczylem sie w trakcje sciezki zawodowej.

    Pierwsze biblioteki OOP (Turbo Vision, OVL i kilka innych) byly
    skrzywione, przesadna glebokosc dziedziczenia zamiast wzorcow
    projektowych itd, to bylo trudne. Rowniez chyba takie 'dziedziczenie'
    bylo w dydaktyce.
    Jednak 'druga fala' jest ok.

    uwazam ze OOP to bardzo dobra odpowiedz na NASZE stare potrzeby
    przemyslowych programistow w zakresie nazewnictwa, wyrazania intencji,
    izolacji interfejsu od implementacji itd. Oraz ochrony przed glupimi
    bledami (zapomnienie zainicjowania itd, znane sprawy).


  • 183. Data: 2011-04-15 07:05:19
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-04-14 23:50, A.L. pisze:

    >> Użycie C sprawia, że pomimo złego zaprojektowania, daje się to później
    >> skorygować bez przepisania od nowa całości.
    >
    >
    > W OO tez sie da. Proponuje poczytac o "refactoring"
    Co wiecej, w OOP refaktoring jest jakby czytelniejszy, pewniejszy,
    bezpieczniejszy - ze wzgledu na formalizm type-safe dobrych jezykow,
    oraz na poziomie ludzkim zwykle kod OO bardziej plastycznie oddaje
    intencje 'co wlasciwie ja tutaj pól roku temu chcialem zrobic ???'

    Nie mowie o eleganckich teoretycznych projektach, ale o 'panszczyznie'
    przemyslowej, zawsze spoznionej, zawsze za slabo udokouumentowanej itd.
    Im jest gorzej, tym bardziej sie to przydaje.


  • 184. Data: 2011-04-15 07:07:16
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Michal Kleczek <k...@g...com>

    Wojciech Jaczewski wrote:

    >
    > Użycie C sprawia, że pomimo złego zaprojektowania, daje się to później
    > skorygować bez przepisania od nowa całości.
    > A projektuje się źle dlatego, że nie da się wszystkiego przewidzieć przed
    > rzeczywistą próbą wykonania projektu.
    >

    Jasne - i poniewaz jest to wszystko takie dobre, to praktycznie kazda nowa
    wersja jadra wymaga patchy do zewnetrznych modulow, zeby sie je dalo
    skompilowac. Jak ktos uzywa VMWare na Linuksie to wie o czym mowie.

    Juz nawet nie wspominam o tym, ze w ogole jakas tam rekompilacja powinna byc
    niepotrzebna - ale to inna sprawa.

    >> Nie bardzo rozumiem dlaczego uwazasz uzywanie OO za "mode".
    >
    > Choćby z tego powodu, że większość ludzi tuż po studiach, bez większego
    > doświadczenia, bardzo je chwali. U ludzi z doświadczeniem, ta ocena jest
    > bardziej zróżnicowana. Cóż więc innego niż moda sprawia, że ludzie bez
    > doświadczenia w to wierzą?
    >
    >> To, ze ty nie
    >> lubisz i ze Linus nie lubi ( na razie jeszcze nie wiemy czy przypadkiem
    >> to nie wynika z tego, ze obydwaj _nie umiecie_ ), to nie znaczy ze OO
    >> jest tylko "moda" - jest naprawde cala masa swietnego oprogramowania OO.
    >
    > Załóżmy, że technikę A stosuje 80% osób (bo ktoś zainspirowany modą im
    > nakazał)

    A kto niby nakazal stosowac OO?

    > i tworzy się z jej użyciem dwukrotnie wolniej niż korzystając z
    > techniki B, którą to używa pozostałe 20% osób.

    Szybkosc tworzenia systemu _nie_ jest jedynym kryterium oceny. Rownie wazne,
    a czesto wazniejsze jest by:
    1) bylo mniej bledow
    2) system byl latwiejszy w modyfikiacji/rozbudowie

    >
    >> Warto byloby byc bardziej otwartym na to, co robia inni i nabrac dystansu
    >> do tego co robi sie samemu.
    >
    > Jak dla mnie dyskusja na grupie nie służy demonstrowaniu dystansu do tego
    > co się robi, tylko prezentowaniu wypowiedzi zdecydowanych...

    To zalezy, jaki sobie stawiasz cel w dyskusji. Czy jest to przekonanie
    innych do wlasnego zdania, czy tez poszerzenie wlasnych horyzontow poprzez
    wymiane pogladow.

    --
    Michal


  • 185. Data: 2011-04-15 07:13:56
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Michal Kleczek <k...@g...com>

    Mariusz Marszałkowski wrote:

    > On 14 Kwi, 21:41, Michal Kleczek <k...@g...com> wrote:
    >> Wojciech Jaczewski wrote:
    >> > Mariusz Marszałkowski wrote:
    >>
    >> >>> nie mam czasu ani checi na zapoznawanie sie kernelem linuksa - skoro
    >> >>> wiesz o czym mowisz to moze opowiesz jak to programisci c dziargaja
    >> >>> "o o" w linux
    >> >> Uchwyt pliku, id procesu, socket....
    >> >> Pozdrawiam
    >>
    >> > Z tego co ja dotychczas widziałem, wielu miłośników programowania
    >> > obiektowego nie lubi korzystać bezpośrednio z deskryptora pliku,
    >> > uważając to za zbyt "niskopoziomowe" i koniecznie trzeba opakować to w
    >> > jakiś obiekt- zaciemniacz intencji programisty.
    >>
    >> Wszystko sie zgadza, tylko jest dokladnie odwrotnie - gdyby API do
    >> systemu bylo zrobione w jakims porzadnym obiektowym jezyku programowania,
    >> zaden "deskryptor pliku" zaciemniajacy intencje programisty nie bylby
    >> potrzebny. On jest potrzebny _wlasnie_ dlatego, ze koncepcje obiektowe
    >> implementuje sie w jezyku, ktory OO nie wspiera.
    >>
    >
    > Istotnym i naprawde czasochlonnym problemem sa bledy na poziomie
    > projektu.

    Oczywiscie. Tyle, ze wybor jezyka(ow) programowania i paradygmatu(ow)
    tworzenia oprogramowania sa jednymi z wazniejszych decyzji projektowych
    jakie trzeba podjac. Te decyzje sa ze soba powiazane i decyzja o stosowaniu
    jezyka nie wspierajacego wybranego paradygmatu powinna byc baaaardzo dobrze
    umotywowana innymi czynnikami (typu np. brak ludzi znajacych dany jezyk,
    brak kompilatora/narzedzi, brak bibliotek itp.)

    Swoja droga brak ludzi znajacych jakis jezyk jest bardzo dobrym argumentem
    przeciwko temu jezykowi. Ale warto byc tutaj uczciwym i postawic sprawe
    jasno, a nie (falszywie) motywowac swoja decyzje tym, ze jezyk A jest
    "gorszy".

    --
    Michal


  • 186. Data: 2011-04-15 07:20:26
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Paweł Kierski <n...@p...net>

    W dniu 2011-04-14 23:41, Wojciech Jaczewski pisze:
    > Michal Kleczek wrote:
    >
    >>> "- inefficient abstracted programming models where two years down the
    >>> road
    >>> you notice that some abstraction wasn't very efficient, but now all
    >>> your code depends on all the nice object models around it, and you
    >>> cannot fix it without rewriting your app.
    >>>
    >>> In other words, the only way to do good, efficient, and system-level and
    >>> portable C++ ends up to limit yourself to all the things that are
    >>> basically available in C. And limiting your project to C means that
    >>> people don't screw that up, and also means that you get a lot of
    >>> programmers that do actually understand low-level issues and don't screw
    >>> things up with any idiotic "object model" crap."
    >>
    >> Innymi slowy - jak sie zle zaprojektuje (inefficient abstraction), to
    >> bedzie trudne w utrzymaniu. A uzycie C zapobiega zlemu projektowaniu.
    >
    > Użycie C sprawia, że pomimo złego zaprojektowania, daje się to później
    > skorygować bez przepisania od nowa całości.
    > A projektuje się źle dlatego, że nie da się wszystkiego przewidzieć przed
    > rzeczywistą próbą wykonania projektu.

    Z mojej praktyki - błędy projektu w C były zazwyczaj obchodzone
    dodatkowym "sznurkiem i taśmą klejącą" w postaci niekontrolowanych
    wywołań między modułami, ze szczególnym upodobaniem do odwołań do
    zmiennych globalnych i funkcji z założenia prywatnych dla modułu.

    W C++ - tworzeniem i rozbudowywaniem "The Class", co dawało taki sam
    efekt.

    Mój wniosek - zabagnienie w C jest nieco łatwiej rozwikłać niż w C++.
    Za to łatwiej unikać zabagnienia w C++ niż w C, bo C++ (szczególnie
    jeśli na początku dobrze użyte) narzuca pewne ograniczenia. W końcu
    trzeba jakoś wytłumaczyć, czemu "friend" i "public".

    [...]
    > Jak dla mnie dyskusja na grupie nie służy demonstrowaniu dystansu do tego co
    > się robi, tylko prezentowaniu wypowiedzi zdecydowanych... Ja osobiście nie
    > lubię dyskusji z osobami, które są tak otwarte na to co robią inni, że nie
    > da się poznać ich własnej opinii.

    Dla mnie nie jest argumentem opinia innych. Staram się wyrabiać własną
    opinię na podstawie argumentów innych.

    --
    Paweł Kierski
    n...@p...net


  • 187. Data: 2011-04-15 07:22:30
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Maciej Sobczak <s...@g...com>

    On Apr 15, 12:22 am, Daniel Janus <n...@d...pl> wrote:

    > Jeszcze Joe Armstrong, w wywiadzie z Peterem Seibelem w "Coders at Work":
    >
    >    I think the lack of reusability comes in object-oriented languages,
    >    not in functional languages.  Because the problem with object-oriented
    >    languages is they've got all the implicit environment that they carry
    >    around with them.  You wanted a banana but what you got was a gorilla
    >    holding the banana and the entire jungle.

    WTF? Jaki implicit environment?
    Wszystkie znane mi języki wspierające OO potrzebują jedynie bibliotekę
    run-time - nie różnią się w tym od innych języków. Co prawda języki
    typu zer-runtime istnieją, ale funkcjonalne do nich też nie należą.
    Niektóre języki OO wymagają jeszcze kompilatora, ale w tym też nie
    różnią się od wielu innych języków.

    Nie za bardzo widzę jakiż to implicit environment jest potrzebny w OO,
    który istotnie odróżniałbym te języki od funkcjonalnych. Czyli
    bullshit.

    >    If you have referentially transparent code, if you have pure functions--
    >    all the data comes in its input arguments and everything goes out and
    >    leaves no state behind--it's incredibly reusable.

    WTF? Stan powstaje dopiero w czasie wykonania a reusability to cecha
    kodu źródłowego. Jedno z drugim nie ma żadnego związku. Czyli
    bullshit.

    BTW - Czym się różni użycie języków OO bez zrozumienia od użycia
    języków funkcjonalnych bez zrozumienia? Chyba tylko poziomem snobizmu.

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


  • 188. Data: 2011-04-15 07:28:55
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Paweł Kierski <n...@p...net>

    W dniu 2011-04-15 00:22, Daniel Janus pisze:
    > Dnia 14.04.2011 Wojciech Jaczewski<w...@o...pl> napisał/a:
    >
    >> Nawet jeśli nie jest to argument w dyskusji, warto pokazać ludzi, którzy nie
    >> ulegli modzie i odnieśli sukces.
    >
    > Jeszcze Joe Armstrong, w wywiadzie z Peterem Seibelem w "Coders at Work":
    >
    > I think the lack of reusability comes in object-oriented languages,
    > not in functional languages. Because the problem with object-oriented
    > languages is they've got all the implicit environment that they carry
    > around with them. You wanted a banana but what you got was a gorilla
    > holding the banana and the entire jungle.
    >
    > If you have referentially transparent code, if you have pure functions--
    > all the data comes in its input arguments and everything goes out and
    > leaves no state behind--it's incredibly reusable.
    >
    > pozdrawiam,
    > Daniel

    Jak się nie umie abstrahować banana od goryla i dżungli, to żaden język
    ani paradygmat nie pomoże.

    Mniej anegdotycznie - dla nieumiejących zapanować nad stanem
    obiektu/aplikacji/zmiennej i rozdzielać odpowiedzialności między
    klasami, paradygmat funkcyjny będzie prostszy.

    --
    Paweł Kierski
    n...@p...net


  • 189. Data: 2011-04-15 07:33:27
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Maciej Sobczak <s...@g...com>

    On Apr 15, 9:07 am, Michal Kleczek <k...@g...com> wrote:

    > A kto niby nakazal stosowac OO?

    Problem z OO bierze się stąd, że niektóre języki *wymuszają* jego
    użycie i nawet rzeczy zupełnie nieobiektowe trzeba tak robić. W takim
    języku biblioteki do czegokolwiek są obiektowe, frameworki do
    czegokolwiek są obiektowe, itd. To promieniuje na boki i oddziałowuje
    na całą resztę, więc potem ludzie usiłują tą logikę (lub jej brak)
    stosować gdzie indziej, nawet jak nie muszą.

    To nie jest kwestia mody. W Korei Północnej wszyscy ubierają się na
    szaro i wielu ludzi nawet jest z tego dumnych, ale to też nie jest
    kwestia spontanicznej mody, tylko efekt wtórny.

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


  • 190. Data: 2011-04-15 08:00:41
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Michal Kleczek <k...@g...com>

    Maciej Sobczak wrote:

    > On Apr 15, 9:07 am, Michal Kleczek <k...@g...com> wrote:
    >
    >> A kto niby nakazal stosowac OO?
    >
    > Problem z OO bierze się stąd, że niektóre języki *wymuszają* jego
    > użycie i nawet rzeczy zupełnie nieobiektowe trzeba tak robić. W takim
    > języku biblioteki do czegokolwiek są obiektowe, frameworki do
    > czegokolwiek są obiektowe, itd. To promieniuje na boki i oddziałowuje
    > na całą resztę, więc potem ludzie usiłują tą logikę (lub jej brak)
    > stosować gdzie indziej, nawet jak nie muszą.

    Potrzeba wieloparadygmatowosci wydaje sie dzis oczywista. I jezyki
    wieloparadygmatowe (lepsze lub gorsze) istnieja.

    Rozumiem te obiekcje i zgadzam sie z nimi - poniekad. Problem jest jednak
    taki, ze narzedzia (czyli jezyki) sa pochodna paradygmatu. OO ma _wlasnie_
    taka zalete, ze istniejace metodyki i wspierajace je narzedzia stanowia
    _spojna_ calosc.
    Jak pisalem w innym poscie - brak "wieloparadygmatowych metodyk" jest dzis
    sporym problemem. Zas uzycie innego paradygmatu w projekcie prowadzonym
    wedle metodyki do niego niedostosowanej (czyli ad-hoc) prowadzi do
    nieprzewidzianych skutkow. Wydaje mi sie, ze jednak najczesciej te skutki sa
    niekorzystne, wlasnie dlatego ze robione jest to ad-hoc. W kazdym razie
    decyzje takie niosa ze soba _ryzyko_ co w praktyce czesto je wyklucza.
    Wbrew pozorom trzymanie sie ( kurczowo/religijnie/doktrynalnie :) )
    metodyki/paradygmatu - nawet znajac ich wady - ma duzy sens, szczegolnie w
    przemysle ( w projektach akademickich lub hobbystycznych czy open source -
    pewnie mniejszy, bo "poszukiwania" sa jednym z celow takiego projektu ).

    --
    Michal

strony : 1 ... 10 ... 18 . [ 19 ] . 20 ... 26


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: