Wpis z mikrobloga

a to nie jest tak, że C++ jest taki dość mocno rozbudowany i trudny, bo łatwo przechodzić z niego na inne języki programowania? przesiadka z niego na JS, PHP u mnie była dość łatwa.
  • Odpowiedz
sensownego poliformizmu


@ca1ek: co uważasz za sensowny polimorfizm? Imo polimorfizm w cpp jest jedną z bardziej udanych rzeczy zważywszy na zero-cost abstraction.

algebraicznych typów danych.


@ca1ek: jest przecież std::variant / boost::variant
  • Odpowiedz
@Saly: za każdym razem kiedy próbuję używać template w C++ kończy się to niezrozumiałym błędem linkera. Fajnie by było gdyby kompilator mówił co zrobiłem źle zamiast drukować śmieci do terminala.

a co do variant, to szanuję że wreszcie to dodali i nie #!$%@?. Nie wiedziałem o tym.
  • Odpowiedz
@Saly: Prawdziwy zero-cost abstraction to tylko polimorfizm statyczny, żaden JIT nie poradzi sobie tak dobrze.
@ca1ek: Jeżeli ktoś nie potrafi rozróżnić definicji od deklaracji i zrozumieć dlaczego definicja jest potrzebna do instantyzacji to jak ma zrozumieć co znaczą błędy linkera, nawet podczas gdy obecnie przy wersji debug całkiem ładnie pokazuje definicje.
  • Odpowiedz
@ca1ek: Jak patrze na kod w Ada to mnie ściska z bólu... ale okej, co kto lubi.

C++ jest wydajny, a przy tym dosyć dobrze rozbudowany.

Nie wiem w jaki standard patrzyłeś, ale polimorfizm jest nawet "niebezpiecznie" lepszy niż w wielu językach (można z wielu typów, niebezpieczne, bo to niezbyt dobra praktyka...), do tego RTTI, da się zmienić alokatory.. cały system template!

IMO C++ > Ada.
  • Odpowiedz