-
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
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem