-
Data: 2012-06-26 09:36:29
Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 25 czerwca 2012 23:37:00 UTC+2 użytkownik AK napisał:
> Tylko powiedz mi Musiu dlaczego w C++ musze sie tyle nameczyc
> (no i jeszcze ten PIMPL niezbedny) jesli w Javie mam to ad hoc
Nie masz. W Javie masz coś innego.
> i bez udziwnien/komplikacji/ograniczen PIMPLa (dziedziczenie) itp ?
Jakiego pimpla? I co ma tu dziedziczenie?
> W Javie/.NET refs sa _wewnetrzym wbudowanym podstawowym mechanizmem_
> obslugi obiektow, wiec Java/.NET sobie moze to o wiele lepiej (i czymi to)
zoptymalizowac
Może. Ale wpływ tego na całość nie jest oczywisty.
Klasy można umownie podzielić na "lekkie" i "ciężkie". Nie pamiętam, żebym
kiedykolwiek stosował xxx_ptr dla lekkich klas, których obiekty albo są na stosie,
albo w kontenerach, albo jako składowe większych klas. Dlatego ewentualny koszt
użycia xxx_ptr nie ma tu znaczenia.
Niemal zawsze, gdy używałem xxx_ptr, odnosiło się to do jakiejś "ciężkiej" klasy,
której obiektu tworzy się rzadko, rzadko się je też przerzuca a jak już się ich
użyje, to na ścieżce krytycznej jest właśnie to użycie i nic więcej.
Przykład obrazkowy: wisi mi, jaki jest koszt użycia xxx_ptr w odniesieniu do klasy
DatabaseConnection.
> PS: i nieprawda jest, ze mam wtedy "deterministyczne" zwalnianie zasobow.
> Mamy tak/podobnie jak w Javie/C# (smieciarka), czyli wolnienie gdy ref_count
> zjedzie do 0.
Nie. W C++ jest deterministycznie, bo zwolnienie jest na pewno i właśnie wtedy. W
Javie zwolnienie jest być może i nie wcześniej, niż. To jest różnica, choć faktycznie
w wielu przypadkach nie jest ona istotna. Ale jeśli chcesz się przepychać nt.
terminologii, to bądźmy precyzyjni.
>> Spieprzyć kod można w dowolnym języku.
>
> Czasem sam jezyk (C++) "pieprzy"" kod.
Każdy język tak robi. Ale każdy inaczej.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 26.06.12 14:31 Michoo
- 26.06.12 15:07 AK
- 26.06.12 15:24 Roman W
- 26.06.12 16:01 Edek Pienkowski
- 26.06.12 18:41 Michoo
- 26.06.12 20:58 A.L.
- 26.06.12 23:00 AK
- 27.06.12 09:43 Maciej Sobczak
- 27.06.12 11:11 Andrzej Jarzabek
- 27.06.12 11:14 Andrzej Jarzabek
- 27.06.12 11:21 Edek Pienkowski
- 27.06.12 13:02 Andrzej Jarzabek
- 27.06.12 13:12 Roman W
- 27.06.12 13:19 Edek Pienkowski
- 27.06.12 13:49 AK
Najnowsze wątki z tej grupy
- 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?
- 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
Najnowsze wątki
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=