eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo dolega programowaniu obiektowemu › Re: Co dolega programowaniu obiektowemu
  • X-Received: by 2002:a37:2e43:: with SMTP id u64mr4715133qkh.387.1576444387119; Sun,
    15 Dec 2019 13:13:07 -0800 (PST)
    X-Received: by 2002:a37:2e43:: with SMTP id u64mr4715133qkh.387.1576444387119; Sun,
    15 Dec 2019 13:13:07 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin3
    !goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews
    .com!g89no6575432qtd.0!news-out.google.com!w29ni1543qtc.0!nntp.google.com!g89no
    6575420qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 15 Dec 2019 13:13:06 -0800 (PST)
    In-Reply-To: <3...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.2;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 5.172.255.2
    References: <5df64b3a$0$505$65785112@news.neostrada.pl>
    <8...@g...com>
    <0...@g...com>
    <4...@g...com>
    <3...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <5...@g...com>
    Subject: Re: Co dolega programowaniu obiektowemu
    From: fir <p...@g...com>
    Injection-Date: Sun, 15 Dec 2019 21:13:07 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 149
    Xref: news-archive.icm.edu.pl pl.comp.programming:214564
    [ ukryj nagłówki ]

    W dniu niedziela, 15 grudnia 2019 22:05:19 UTC+1 użytkownik fir napisał:
    > W dniu niedziela, 15 grudnia 2019 21:57:06 UTC+1 użytkownik fir napisał:
    > > W dniu niedziela, 15 grudnia 2019 21:29:46 UTC+1 użytkownik fir napisał:
    > > > W dniu niedziela, 15 grudnia 2019 19:36:12 UTC+1 użytkownik M.M. napisał:
    > > > > On Sunday, December 15, 2019 at 4:03:24 PM UTC+1, Borneq wrote:
    > > > > > Yegor Bugayenko - What's Wrong with Object-Oriented Programming?
    > > > > > https://www.youtube.com/watch?v=GMrjuuczZkQ
    > > > > > EO, the Programming Language: https://github.com/yegor256/eo
    > > > >
    > > > > Myślałem że programowanie obiektowe to sam lukier. Mogę poprosić o kilka
    > > > > zdań skrótu z sedna tych materiałów?
    > > > >
    > > >
    > > > rzucilem na to okiem ale te argumenty tam nie sa nieststy zbyt kluczowe, sa to
    pewne dalsze argumenty opowiadajace jak praktyczny OOP rozmija sie z teoretycznym OOP
    (zakladajac troche blednie ze teoretyczne oop jest dobre - zalezy co by to mialo byc)
    i jest kilka smiesznych cytatow znanych figur, ze np OOP jest solidnym sposobem do
    pisania sphagetti code, czy tez jest sposobem na pisanie solidnego sphagetti (co jest
    prawdą jesli rozumiec solidny dosyc metaforycznie)
    > > >
    > > > bardziej poprawnym argumentem na krytykowanie dlaczego opp to szit jest moim
    zdaniem powiedzenie ze oop to sposob na tworzenie 'boilerplate' code i ze nie
    upraszcza tylko gmatwa - a jeszze dokladniej mowiac to w OOP jest zle co oddziela go
    od programowanie modulowego i hipermodulowego (hipermodulowe to moj wlasny wynalazek)
    bo modulowosc (taka jak np w postaci .dll jest pozbawiona tych fundamentalnych wad)
    > > >
    > > > [jeszcze dopowiadajac co jest zle w OOP wiaze sie z ciaganiem wskaznikow bo
    normalnie jesli chcesz dzilic kod na jednostki (metodami modulowymi i
    hipermodulowymi) nei potrzebujesz ciagac zadnych wskaznikow i wtedy jest ok)
    > >
    > > kiedys podawalem jak rozne rzeczy wygladaja w paradygmacie ktory nazywam
    hipermodulowym (mojego autorstwa/odkrycia/wymyslu):
    > >
    > >
    > >
    > >
    > > void main()
    > > {
    > > Character alan, barry; //dwa moduly
    > >
    > > alan.hp = 100; //zdrowie potaci
    > > alan.hit_strength = 10; //sila ciosu
    > >
    > > barry .hp = 110;
    > > barry.hit_strenght = 9;
    > >
    > > alan hit barry;
    >
    >
    > przy okazji tutaj wyzej to allan hit barry jak ktos by sie upieral moglby zapisac
    >
    > alan.hit(barry)
    >
    > (w poprawionym c przekazujesz struktury moduly przez adres implicite, tak ze barry
    nie idzie przez wartosc) ale tez w poprawionym c doszedlem do koncepcji ze
    > te kropki nawiasy i przecinki mozna dawac opcjonalnie do wyboru dla programisty
    > n zamiast pisac
    >
    > print(1,2,3);
    > moze alternatywnie pisac
    > print 1,2,3
    > print(1 2 3)
    > albo
    > print 1 2 3
    >
    > tak ze z tego wynika ze mozna pisac najprawdopodobniej w uproszczeniu
    >
    > barry hp = 110
    > barry hit_strenght = 9
    >

    drobna uwaga czy te pola ktore sa wartosciami mozna by tez inicalizowac jak

    barry hp(110)
    barry hit_strenght(9)

    alan hit barry

    co czaem mogloby byc moze lepsze bo ten znak = wydaje sie czasem ordynarny

    jest tez opcja

    barry hp 110
    barry hit_strenght 9
    alan hit barry

    i sam chyab jestem zdanie ze pewnie nalezy to zostawuc do wyboru dla programisty, w
    zaleznsoci od stylu pisania jaki mu sie podoba

    tez niby to przypomina troche c++ gdzie
    o ile pamietam mozna pisac

    int x(10);

    //choc o ile pamietam nie mozna int x 29

    ale mam nadziej ze widac ze tutaj test to co pisze zrobione w supelnie innym
    'architektonicznym' konkekscie, wiec niektore zbieznosci sa tu raczej jakby jedynie
    przyadkowe (co nawet widac imo)


    > alan hit barry
    >
    > jak ktos chce porownac roznice miedzy tym a jakims OOPem w jawie czy c++ to moze
    sobie porownac w tym alebo w bardziej skomplikowanych wypadkach
    >
    > (dodam ze w u mnie mozna z modulow robic tablice np
    >
    > Character soldier[100];
    >
    > soldier[3] hit soldier[4];
    >
    > i reszte sztuczek z traktowaniem modulow w pelni jak typy wbudowane (np int i
    reszta)
    >
    >
    >
    >
    > > //spowoduje barry.hp-=alan.hit_strength
    > >
    > > }
    > >
    > > gdzie definicja modulu Charater
    > >
    > >
    > > module Character
    > > {
    > > int hp;
    > > int hit_strenght;
    > >
    > > void hit(Charater whom)
    > > {
    > > whom.hp -= hit_strength;
    > > }
    > > }
    > >
    > > roznice miedzy OOP 'niby nie takie duze' ale jednak ogromne...

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 16.12.19 23:51 M.M.

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: