-
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
Następne wpisy z tego wątku
- 01.04.11 08:14 Mariusz Kruk
- 01.04.11 08:26 Paweł Kierski
- 01.04.11 08:56 Mariusz Kruk
- 01.04.11 15:18 A.L.
- 01.04.11 15:23 A.L.
- 01.04.11 18:03 Wojciech Muła
- 01.04.11 18:34 A.L.
- 01.04.11 22:49 Michoo
- 01.04.11 23:03 Michal
- 02.04.11 00:53 Andrzej Jarzabek
- 02.04.11 01:31 Norbert
- 02.04.11 05:08 p...@p...onet.pl
- 02.04.11 05:25 p...@p...onet.pl
- 02.04.11 12:51 p...@p...onet.pl
- 03.04.11 09:35 p...@p...onet.pl
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-04-02 Gliwice => IT Expert (Network Systems area) <=
- 2025-04-02 Kraków => Spedytor Międzynarodowy <=
- 2025-04-02 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-04-02 Warszawa => Generative AI Engineer <=
- 2025-04-02 Szczecin => Key Account Manager IT <=
- 2025-04-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-02 Kraków => Business Development Manager - Network and Network Security
- 2025-04-02 Warszawa => Dyrektor Sprzedaży (rozwiązania Cloud) <=
- 2025-04-02 Warszawa => Sales Director (Cloud solutions) <=
- 2025-04-01 Telefonia VoIP
- 2025-04-01 Na miejscu zginelo dwóch którzy przewozeni byli w bagazniku.
- 2025-04-01 Darmowa autostrada
- 2025-04-01 Sprzedaję Twizy
- 2025-04-01 [OT] Dobry dysk na komornika i rozwody
- 2025-04-01 Żerniki => Dyspozytor Międzynarodowy <=