-
Data: 2013-02-07 23:51:34
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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-18 MMSy
- 2025-05-18 Wiceminister "sprawiedliwości" A. Myrcha złamał ciszę wyborczą [rzepa]
- 2025-05-17 Głosowanie na prezydenta mDowód
- 2025-05-17 Karol i Patrycja - a może wielka miłość jak Romeo i Julia
- 2025-05-17 Re: Pamientajta, aby zamknÄ Ä ryje, bo jest cisza wyborcza, a co powiecie
- 2025-05-17 Phishing obok nas.
- 2025-05-17 poznaj siłe swoich pieniędzy
- 2025-05-17 Warszawa => Senior IT Recruitment Consultant <=
- 2025-05-17 Warszawa => DevOps Engineer <=
- 2025-05-17 Warszawa => Junior Account Manager <=
- 2025-05-17 Warszawa => Senior Programmer C <=
- 2025-05-17 Polska => Senior Key Account Manager <=
- 2025-05-17 Migracje i przestępczość
- 2025-05-16 czy Seba naprawdę wróci do macierzy?
- 2025-05-15 coś pustawo u mechaników