-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.chmurka.net!.POSTED!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Date: Thu, 07 Feb 2013 22:51:34 +0000
Organization: news.chmurka.net
Lines: 80
Message-ID: <kf1b5r$cvj$1@somewhere.invalid>
References: <f...@g...com>
<kem1vl$8n2$1@somewhere.invalid>
<7...@g...com>
<8...@g...com>
<6...@g...com>
<5...@g...com>
<s...@j...net>
<b...@g...com>
<s...@j...net>
<1...@g...com>
<3...@b...softax.pl>
<b...@g...com>
<k...@b...softax.pl>
<4...@g...com>
<keun5d$lsh$1@somewhere.invalid>
<f...@g...com>
<keuri4$nje$1@somewhere.invalid>
<1...@g...com>
<keuusd$ovj$1@somewhere.invalid>
<7...@g...com>
NNTP-Posting-Host: 5ac53cfe.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1360277499 13299 90.197.60.254 (7 Feb 2013 22:51:39 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Thu, 7 Feb 2013 22:51:39 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107
Thunderbird/17.0.2
In-Reply-To: <7...@g...com>
X-Authenticated-User: ajarzabek
Xref: news-archive.icm.edu.pl pl.comp.programming:201946
[ ukryj nagłówki ]On 07/02/2013 12:24, M.M. wrote:
>
> firr kenobi wrote:
>> Okupione jest (i to jest przynajmniej dla mnie najwazniejsze ;-)
>> znacznie nizszą wydajnoscią - udostępnia z kolei pewną (przynajmniej
>> ewentualną) prostotę
>
> Z pewnością tak jest. Nie da sie stworzyć języka, który jest zarówno
> ekstremalnie elegancki i jednocześnie wydajny. Przykładem tego jest
Podobno Ada jest takim językiem.
Poza tym "język wydajny" to poewne nieporozumienie - z cech języka mogą
wynikać pewne narzuty ograniczające czy zwiększające wydajność, ale
rzeczywista praktyczna wydajność zależy od optymalizacji kompilatora, a
te z kolei są mocno skorelowane z popularnością. Jest dużo eleganckich
języów, które teoretcznie mogłyby być równie wydajne co C++, ale w
praktyce używa ich 5 osób, więc nie jest taki szybki.
>> W Pythonie masz pelnoprawna klase/obiekt ktora zachowuje sie
>> _dokladnie_ tak samo jakby byla zadeklarowana/zdefiniowana statycznie.
> Wiem, ale nie wiem co z tego :)
Np. że możesz napisać jeden kod, który obsłuży obydwa przypadki.
> Andrzej Jarzabek wrote:
>> A więc nie moższ.
> Nie mogę tak jak wielu innych rzeczy. Dlaczego ma mi być
> smutno jeśli np. nie mogę utworzyć funkcji w C++ o nazwie
> składającej się z 10tys znaków? Cecha musi być potrzebna w
> statystycznym projekcie żeby cierpieć z jej braku.
Nie mam pojęcia do czego ci te Varianty, rozmawialiśmy o tym, że w
językach dynamicznych możesz mieć zmienne przyjmujące wartości dowolnego
typu lub funkcje zwracające wartości dowolnego typu. Pisałeś, że w C++
masz to samo dzięki typowi Variant. No więc nie masz. Co do tego, do
czego potrzebne jest przyjmowanie lub zwracanie wartości typu first
class function - nie widzę sensu tłumaczenia. Przeczytaj sobie SICP, to
będziesz wiedział.
> W językach wymagających jawnego podawania typu nie ma na to siły i
> trzeba typ podawać.
A w językach z dynamicznym systemem typów nie trzeba. I na tym polega
różnica - w C++ tego po prostu nie zrobisz i tyle, żaden QVariant czy
hashmap ci nie pomoże.
> Ułatwiają życie szablony, makra,
O makrach i szablonach w C++ można wiele powiedzieć, ale na pewno nie
to, że są wygodne i proste w użyciu.
>> Wystarczy, żeby powodować niewygodę. Bo tak czy inaczej musisz w tym
>> momencie zdefiniować odpowiednie typy.
> Nie dociera do mnie dlaczego to jest problemem. Albo problem
> jest nieistotny, albo coś ze mną nie tak :D
Bo zajmuje czas, bo wprowadza szum do kodu, bo utrudnia refaktoryzację.
Może nie zawsze, ale przynajmniej niekiedy.
> Andrzej Jarzabek wrote:
>> fun foo(p)
>> {
>> return (p.pole)/2
>> }
>
> Idealne na hashmapę lub funkcję wirtualną.
>
> foo( hash_map ) {
> return hash_map["pole"] / 2;
> }
>
> foo( *object ) {
> return object->value() / 2;
> }
Wprowadzasz duplikację. No i pojawiają się dalsze problemy, co na
przykład, jeśli chcesz skopiować structa i owej kopii dołożyć kilka
nowych pól? Piszesz konwersję kopiującą wszystkie składowe do hashmapy?
I tak dla każdego typu? I nie widzisz w tym nic niewygodnego?
Następne wpisy z tego wątku
- 08.02.13 05:05 M.M.
- 08.02.13 07:43 firr kenobi
- 08.02.13 08:30 firr kenobi
- 08.02.13 11:20 Maciej Sobczak
- 08.02.13 14:06 M.M.
- 08.02.13 14:12 Stachu 'Dozzie' K.
- 08.02.13 14:22 M.M.
- 08.02.13 17:45 darekm
- 08.02.13 17:49 Andrzej Jarzabek
- 08.02.13 18:14 Andrzej Jarzabek
- 08.02.13 18:52 M.M.
- 08.02.13 18:52 Andrzej Jarzabek
- 08.02.13 19:18 Andrzej Jarzabek
- 08.02.13 21:56 darekm
- 08.02.13 22:11 darekm
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- 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
Najnowsze wątki
- 2025-06-11 Re: Unia wyzłomuje 15 letnie samochody gruchoty
- 2025-06-10 Zakaz fotografowania
- 2025-06-10 KOLEJNOŚĆ procedowania spraw w sprawie aplikacji do kontroli zaświadczeń o głosowaniu poza miejscem zamieszkania
- 2025-06-10 Koniec swiata
- 2025-06-10 Kradziez wiatru
- 2025-06-10 Czy NIEKTÓRE selektywne+ kampanie "frekwencyjne" staną się nielegalne? :-)
- 2025-06-10 Allegro
- 2025-06-10 Warszawa => Junior Fullstack .Net Developer <=
- 2025-06-10 Kraków => PHP Full Stack Developer <=
- 2025-06-10 Warszawa => Senior Fullstack Developer <=
- 2025-06-10 Warszawa => Junior Rekruter <=
- 2025-06-10 "Graliśmy uczciwie: ty oszukiwałeś, ja oszukiwałem - wygrał lepszy"
- 2025-06-09 Pracownik etatowy zamówił
- 2025-06-09 wybory
- 2025-06-09 Czeladź => Key Account Manager IT <=