-
Data: 2011-04-04 12:37:34
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 4 Kwi, 13:15, Paweł Kierski <n...@p...net> wrote:
> Pomijając na razie kwestie łatwości zapisu i czytelności - nie widzę tu
> niczego, czego nie dałoby się wyrazić w C++ za pomocą przestrzeni nazw
> i jednostek kompilacji.
Ja też nie, ale tylko dlatego, że Sebastian niewiele napisał :-) -
chociaż można się przyczepić, że w C++ trzeba posługiwać się fizcznymi
aspektami kodu (podział na pliki), żeby osiągnąć jakiś cel logiczny,
np. ukrycie części prywatnej. To powinno być dostępne nawet w obrębie
jednego pliku.
Ale dodaj do tego jeszcze jakąś semantykę hierarchii i przestrzenie
nazw okazują się być zbyt ubogie. Np. relację rodzic-dziecko między
pakietami, która ma konsekwencje w widoczności nazw w jednym kierunku
(np. tylko dziecko widzi część prywatną rodzica). Albo podział na
pakiety publiczne i niepubliczne, również z konsekwencjami w
hierarchii (np. tylko rodzic może wciągać swoje niepubliczne dzieci).
Można sobie jeszcze wyobrazić różne rodzaje hierarchii - np.
zagnieżdżenie vs. rodzic-dziecko. To są dwie różne relacje i mogą być
użyte w różnych celach.
Do tego można sobie jeszcze wyobrazić, że pakiety czy moduły wcale nie
muszą być konstrukcjami top-level. Np. czemu nie mieć lokalnych
pakietów/modułów tak jak mogą być lokalne klasy czy lokalne
podprogramy? Albo czemu by pakiet/moduł nie miał być parametrem
szablonu? To by było dobre zwłaszcza przy szablonach typu traits -
teraz w C++ robi się sztuczne struktury ze statycznymi deklaracjami w
środku, żeby zebrać do kupy parę rzeczy i podać razem jako parametr;
przecież to nie powinna być struktura, to powinien być właśnie pakiet/
moduł.
Biorąc to wszystko do kupy przestrzenie nazw w C++ właściwie niczego
nie oferują, a pakiety w Javie to (jak zwykle) tzw. "half-ass
solution".
> Innymi słowy - da się pisać modułowo w C++
Da się organizować deklaracje w grupy. Np. std:: to grupa nazw z
biblioteki standardowej a yami:: to grupa nazw z YAMI4. W C do tego
samego celu stosuje się przedrostki i niestety ale to jest cała
funkcjonalność tego elementu języka. Faktem jest, że w 98% przypadków
tylko o to chodzi, ale pozostaje jeszcze te ciekawe 2%.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 04.04.11 12:45 Paweł Kierski
- 04.04.11 12:56 Maciej Sobczak
- 04.04.11 13:01 Paweł Kierski
- 04.04.11 14:53 A.L.
- 05.04.11 06:20 Andrzej Jarzabek
- 05.04.11 07:41 Sebastian Kaliszewski
- 05.04.11 07:52 Paweł Kierski
- 06.04.11 14:14 Andrzej Jarzabek
- 06.04.11 17:31 Zbigniew Malec
- 07.04.11 04:53 p...@p...onet.pl
- 07.04.11 10:25 Andrzej Jarzabek
- 07.04.11 14:43 p...@p...onet.pl
- 07.04.11 18:41 Zbigniew Malec
- 07.04.11 20:29 p...@p...onet.pl
- 07.04.11 23:45 Andrzej Jarzabek
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-03-23 Nowy VW 208 :-)
- 2025-03-23 ile Tesla ma gwarancji?
- 2025-03-22 OT Silnik sie przegrzewa
- 2025-03-22 Przenoszenie przez wifi na nowego Androida
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-22 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-22 Warszawa => NMS System Administrator <=
- 2025-03-22 Warszawa => Analityk IT (projekty z obszaru telco) <=
- 2025-03-22 Orzeczenie TSUE
- 2025-03-22 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-03-22 Warszawa => Scrum Master <=
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Warszawa => BI Developer / Analityk BI <=
- 2025-03-22 Warszawa => IT Recruiter <=