-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Date: Tue, 12 Apr 2011 23:54:01 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 95
Message-ID: <io2l6b$nuq$1@inews.gazeta.pl>
References: <1...@4...com>
<2...@k...googlegroups.com>
<f...@b...softax.pl>
<4...@2...googlegroups.com>
<m...@b...softax.pl> <innh81$6gk$1@inews.gazeta.pl>
<inpsjn$nua$1@inews.gazeta.pl> <inqqea$9f4$1@inews.gazeta.pl>
<int0c8$bkd$1@inews.gazeta.pl> <invfrd$edj$1@inews.gazeta.pl>
<io0df9$9id$1@inews.gazeta.pl> <io28ga$do6$1@inews.gazeta.pl>
NNTP-Posting-Host: 5acd7098.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1302648843 24538 90.205.112.152 (12 Apr 2011 22:54:03 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 12 Apr 2011 22:54:03 +0000 (UTC)
X-User: septi
In-Reply-To: <io28ga$do6$1@inews.gazeta.pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.15)
Gecko/20110303 Thunderbird/3.1.9
Xref: news-archive.icm.edu.pl pl.comp.programming:189793
[ ukryj nagłówki ]On 12/04/2011 20:17, Wojciech Jaczewski wrote:
> Andrzej Jarzabek wrote:
>>
>> Nie wiem co stosowałeś, jak i dlaczego, ale jeśli chcesz powiedzieć, że
>> techniki obiektowe to taki właśnie przerost formy nad treścią, którego
>> uczą na uczelniach, ale w praktyce komercyjnej nie mają innego
>> znaczenia, to nie da się tego nazwać inaczej niż bzdurą.
>
> Nie twierdzę, że się ich nie stosuje, tylko że często się je stosuje
> niepotrzebnie.
Być może. Ale ja z kolei twierdzę, że jest to mniej częste, niż ci się
wydaje.
> A da się też robić dobre programy bez nich.
Pytanie czy równie dobre i czy równie sprawnie. Ja uważam, że nie.
> Oczywiście, jeśli w jakiejś firmie kierownictwo się uprze, że programy mają
> być obiektowe, to inaczej nie można.
> Na szczęście nie wszędzie jest taki wymóg (nie znam statystyk).
Statystyke też nie znam, ale na ile się orientuję, ogromna większość
oprogramowania w prawie wszystkich dziedzinach stosuje w jakimś stopniu
techniki obiektowe.
> U mnie na
> szczęście zagadnienia dają się podzielić na osobne, działające wspólnie w
> systemie procesy, więc nie trzeba prowadzić wojen o strukturę programu -
> każdy wykonuje taką, jaka mu pasuje.
Pozwolę sobie w związku z tym zauważyć dwie rzeczy: po pierwsze, sporo
oprogramowania nie jest tak pisane. Gdyby specjalnie w ten sposób
wszystko projektować żeby unikać sytuacji kiedy kod jednego programisty
jest wykorzystywany przez kod innego programisty, to bardzo negatywnie
wpłynęłoby to na wydajność i niezawodność tego oprogramowania.
Po drugie nawet tam, gdzie projektuje się właśnie w ten sposób, często
dąży się do poprawy wydajności i niezawodności przez code reuse. I
techniki obiektowe bywają bardzo przydatne do tych celów.
>> rzeczywistości większość oprogramowania komercyjnego tworzy się z
>> użyciem technik obiektowych i mają one kolosalne znaczenie dla
>> wydajności tworzenia programów i ich niezawodności.
>
> W pozytywny wpływ technik obiektowych na niezawodność zwyczajnie nie wierzę.
> Z moich obserwacji, awaryjność moich programów powstałych po odrzuceniu
> większości technik obiektowych wyraźnie spadła, natomiast ogromnie poprawiła
> się elastyczność - w sensie, że pojawiają się nowe wymagania i trzeba
> program szybko do nich dostosować. Tworząc jakieś hierarchie obiektów,
> ciągle natrafia się na coś, czego się nie przewidziało i trzeba prawie
> całkowicie przebudowywać program.
A według mnie w 99 przypadkach na 100 takie opinie wynikają ze słabego
zrozumienia i nieumiejętności efektywneego posługiwania się technikami
obiektowymi, w dużej części właśnie wynikające z tego, że ktoś się sam
nauczył i potem nie chciał zmieniać przyzwyczajeń. Oczywiście nie mówię,
że to ty. Może i nawet jesteś tym 1 przypadkiem na 100, ale nawet w tym
przypadku zaleta technik obiektowych jest taka, że jesteś 1 przypadkiem
na 100.
Oczywiście istnieją nie-obiektowe alternatywy dla rozwiązań, które dają
techniki obiektowe, np. w językach takich jak Lisp, ale też mają swoje
wady, np. brak silnego systemu typów powoduje, że łatwiej o potencjalnie
trudne do wykrycia błędy wynikające z nieprawidłowego użycia
interfejsów, o problemach z wydajnością nie wspominając. Przede
wszystkim jednak z tego, co napisałeś zgaduję, że to są rzeczy zupełnie
"po drugiej stronie Bluba" niż to, o czym pisałeś - jeszcze bardziej
"akademickie" i "przerost formy nad treścią" niż OO.
>> I owszem, jak ktoś
>> chce pracować jako programista, a nie umie porządnie stosować technik
>> obiketowych, to jest dla niego strata
>
> A może po prostu ci miłośnicy technik obiektowych nigdy nie nauczyli się
> porządnie stosować technik nie-obiektowych i to ich strata?
Oczywiście każda technika, której się porządnie nie nauczysz, to jakaś
tam strata. Tylko że właśnie wracając do punktu wyjścia, samodzielnie
klepiąc kod niczego się porządnie nie nauczysz.
>> i często też strata dla tych, co
>> mu dadzą pracę.
>
> Jeśli liczyli na to, że będzie pokornie programował obiektowo, to tak.
> Natomiast jeśli chcą aby efekty jego programowania były dobre - już
> niekoniecznie.
Wystarczy, że liczą, że "dobre efekty" zawierają w sobie również to, że
kod napisany przez tego osobnika będzie poprawnie korzystał z kodu
napisanego przez innych członków zespołu i że inni członkowie zespołu
(być może nie tacy geniusze jak ów osobnik) będą łatwo i nie generując
dodatkowych błędów wykorzystać ten kod. Również wiele lat po napisaniu
danego kodu i po rozlicznych modyfikacjach kodu wykorzystywanego,
korzystającego jak i częsci samego tego komponentu.
Następne wpisy z tego wątku
- 12.04.11 23:15 Andrzej Jarzabek
- 12.04.11 23:25 Andrzej Jarzabek
- 13.04.11 00:43 A.L.
- 13.04.11 06:08 Wit Jakuczun
- 13.04.11 06:46 wloochacz
- 13.04.11 06:58 Mariusz Marszałkowski
- 13.04.11 07:02 Mariusz Marszałkowski
- 13.04.11 07:08 Mariusz Marszałkowski
- 13.04.11 07:46 Maciej Sobczak
- 13.04.11 14:01 Jędrzej Dudkiewicz
- 13.04.11 14:04 Jędrzej Dudkiewicz
- 13.04.11 15:15 A.L.
- 13.04.11 16:10 wloochacz
- 13.04.11 19:09 Wojciech Jaczewski
- 13.04.11 19:13 Wojciech Jaczewski
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "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
Najnowsze wątki
- 2025-05-14 Biedna kobieta jechała samochodem na targ aby sprzedać klamoty i dostała 300 zł mandatu
- 2025-05-14 hot spot traci connected device
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 Wariant rumuński
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Niemcy: Przychody ze sprzedaży produktów Fairtrade w 2024r. wzrosły o rekordowe 13% do 2,9GEUR
- 2025-05-14 Superwood - drewno które ma o 50 proc. większą wytrzymałość na rozciąganie niż stal
- 2025-05-14 dobra wiadomość na koniec dnia
- 2025-05-14 Superwood - drewno które ma o 50 proc. większą wytrzymałość na rozciąganie niż stal
- 2025-05-14 List Prezydium Konferencji Episkopatu Polski, w sprawie nowego przedmiotu Edukacja zdrowotna
- 2025-05-14 W 2024r. 80% sprzedawanej muzy jest strumieniowana, 12% to CD, 7,5% to winyle
- 2025-05-14 Tak powinno działać prawo do naprawy: używane, polskie pociągi z Włoch po remoncie pojadą w Wielkopolsce