eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCarnegie-Mellon przestaje uczyc programowania obiektowego › Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
  • Data: 2011-04-01 07:43:40
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-04-01 00:01, Wojciech Jaczewski pisze:
    > Paweł Kierski wrote:
    >
    >>> Jest bardzo dużo programów w C, które przy tych wadach, mają jedną
    >>> ogromną zaletę: poprawnie działają. Gdyby inne języki były tak znacząco
    >>> lepsze, bardzo szybko powstałyby konkurencyjne, lepsze, programy w tych
    >>> językach i wyparły z użycia te napisane w C.
    >>
    >> Pytanie, czy są też łatwe w serwisowaniu?
    >
    > Zależy co rozumieć pod pojęciem serwisowanie. Binarki powstałe z programów w
    > czystym C są nieco bardziej przenośne niż w C++. Dla mnie to jest miłe, gdy
    > mogę binarkę zlinkowaną dynamicznie przenieść z nowszego systemu (np.
    > Debian) na starszy i nie muszę kompilować.

    Tak - to kolejna potencjalna przewaga C - jest "częścią wspólną" dla
    większej liczby platform. Co pociąga za sobą również ograniczenia
    względem C++.

    > Które łatwiej serwisować w sensie modyfikować - nie wiem.
    >
    >> C bywa bardziej ekonomiczny, bo jest prostszy do nauczenia się niż C++
    >> (więcej tańszych i wystarczająco dobrych programistów)
    >
    > Nie byłbym pewny czy tak jest. Rozwiązania w C zwykle są proste, bo do
    > tworzenia takich skłania język. Programista by się za bardzo namęczył, gdyby
    > zrobił to w sposób skomplikowany, więc więcej czasu poświęca na szukanie
    > rozwiązań prostych. Ale chyba łatwiej wymyślić jakiś C++-owy przerost formy
    > nad treścią (dzięki wsparciu języka nie aż tak zawiły) niż dobre rozwiązanie
    > w C.

    Tradycyjny argument w drugą stronę: interfejs (klasa czysto
    abstrakcyjna) "obiektu plikopodobnego" w C++ vs. "ręczny polimorfizm"
    ze strukturami zawierającymi wskaźniki do funkcji obsługujących
    read/write/seek. Architektonicznie to samo, gdzie prostszy zapis -
    wiadomo. Oczywiście dla znających oba języki.

    >> Lepsze (w sensie "ładności") języki i programy w nich pisane nie
    >> powstają właśnie ze względu na ekonomię. C i C++ (często jako "C
    >> z klasami" albo i gorzej)
    >
    > Co jest takiego złego w "C z klasami". Być może każdy trochę inaczej
    > definiuje co to pojęcie oznacza. Ja osobiście bardzo lubę styl C ze
    > standardowymi kontenerami C++ oraz shared_ptr. Czy uważasz to za "C z
    > klasami", czy coś innego?

    Pisanie w marnym C, gdzie słowa class używa się kompletnie bez sensu.
    C z ograniczonym wykorzystaniem kontenerów i shared_ptr to de facto
    odpowiednio ograniczony C++. I to bardzo przydatne bywa, choć
    obiektowość może wykorzystywać tylko w prostych narzędziach.

    >> i marnie napisany, ale (dzięki sporemu
    >> wysiłkowi kolejnych programistów ze "sznurkiem i taśmą klejącą")
    >> działający poprawnie program jest często wystarczający. Nijak się ma to
    >> do dobrze napisanych projektów w C/C++.
    >
    > Wolę ten sznurek i taśmę klejącą wewnątrz programu niż na zewnątrz.
    [...]

    Znów nam się terminologia rozjechała 8-) Miałem na myśli serwisowanie
    systemów, które już dawno nadają się do "ultymatywnej refaktoryzacji"
    (czyt. napisania od zera), bo zostały napisane przed zaprojektowaniem,
    a potem były długo rozwijane.

    Dobry zespół po prostu napisze tak, że zmiany nie będą ciągłym
    proszeniem się o katastrofę - bez względu na język.

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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

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: