Investor pro C++ IDE

Re:Investor pro C++ IDE
« Odpověď #270 kdy: 18. 09. 2021, 02:19:26 »
Smalltalk místo na typové kontroly vsadil na testy, které je mohou bez problémů nahradit. Typová kontrola je dnes už i v PHP v takové míře, která vývojářům vyhovuje. Tzn. že není vyžadována, ale je podporována.
Tak ale testy ti neohalia fakt ze scitas jablka a hrusky, ak jablka a hrusky su odvodene od integer. Jedine ze by si si definoval operator ktory ti pri scitani typu jablka a typu hrusky, vratil typ malvice. Toto ti moze odhalit len prekladac.

Jak tedy C++ rozliší mezi jablky a hruškami, pokud jsou odvozeny od int? Zabrání jejich sečtení?
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?

v dynamickem jazyku ten kod spadne, pokud ho spustis


BoneFlute

  • *****
  • 1 736
    • Zobrazit profil
Re:Investor pro C++ IDE
« Odpověď #271 kdy: 18. 09. 2021, 02:47:42 »
Smalltalk místo na typové kontroly vsadil na testy, které je mohou bez problémů nahradit. Typová kontrola je dnes už i v PHP v takové míře, která vývojářům vyhovuje. Tzn. že není vyžadována, ale je podporována.
Tak ale testy ti neohalia fakt ze scitas jablka a hrusky, ak jablka a hrusky su odvodene od integer. Jedine ze by si si definoval operator ktory ti pri scitani typu jablka a typu hrusky, vratil typ malvice. Toto ti moze odhalit len prekladac.

Jak tedy C++ rozliší mezi jablky a hruškami, pokud jsou odvozeny od int? Zabrání jejich sečtení?
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?

v dynamickem jazyku ten kod spadne, pokud ho spustis

Což dokazuje co?

Re:Investor pro C++ IDE
« Odpověď #272 kdy: 18. 09. 2021, 03:24:58 »
Smalltalk místo na typové kontroly vsadil na testy, které je mohou bez problémů nahradit. Typová kontrola je dnes už i v PHP v takové míře, která vývojářům vyhovuje. Tzn. že není vyžadována, ale je podporována.
Tak ale testy ti neohalia fakt ze scitas jablka a hrusky, ak jablka a hrusky su odvodene od integer. Jedine ze by si si definoval operator ktory ti pri scitani typu jablka a typu hrusky, vratil typ malvice. Toto ti moze odhalit len prekladac.

Jak tedy C++ rozliší mezi jablky a hruškami, pokud jsou odvozeny od int? Zabrání jejich sečtení?
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?

v dynamickem jazyku ten kod spadne, pokud ho spustis

Což dokazuje co?

ze to na to prijdes pri testu

Re:Investor pro C++ IDE
« Odpověď #273 kdy: 18. 09. 2021, 08:01:00 »
v dynamickem jazyku ten kod spadne, pokud ho spustis
Vazne? Toto bola ale poziadavka na C++

Vies dat ukazku v dynamickom jazyku, kde deklarujes typ jablcka a typ hrusky a spadne to pri pokuse scitat premenne typu jablcko a typu hruska.

Idris

  • *****
  • 1 640
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #274 kdy: 18. 09. 2021, 10:31:07 »
Smalltalk místo na typové kontroly vsadil na testy, které je mohou bez problémů nahradit. Typová kontrola je dnes už i v PHP v takové míře, která vývojářům vyhovuje. Tzn. že není vyžadována, ale je podporována.
Tak ale testy ti neohalia fakt ze scitas jablka a hrusky, ak jablka a hrusky su odvodene od integer. Jedine ze by si si definoval operator ktory ti pri scitani typu jablka a typu hrusky, vratil typ malvice. Toto ti moze odhalit len prekladac.

Jak tedy C++ rozliší mezi jablky a hruškami, pokud jsou odvozeny od int? Zabrání jejich sečtení?
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?
v dynamickem jazyku ten kod spadne, pokud ho spustis
Což dokazuje co?
Hlavně jen blb řekne, že jabko nebo hruška jsou int. Typový alias v C++ je ekvivalence. Takhle to vypadá, když někdo nezná jazyk, vymyslí si nějaký přiblblý pseudoproblém a pak jej vysvětluje na retardovaném kódu. Oh boy...


Ink

  • ****
  • 405
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #275 kdy: 18. 09. 2021, 11:14:25 »
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?
v dynamickem jazyku ten kod spadne, pokud ho spustis
Což dokazuje co?
Hlavně jen blb řekne, že jabko nebo hruška jsou int. Typový alias v C++ je ekvivalence. Takhle to vypadá, když někdo nezná jazyk, vymyslí si nějaký přiblblý pseudoproblém a pak jej vysvětluje na retardovaném kódu. Oh boy...

Super, tak teď konečně možná zjistíme, co je typ a co ne. A možná si sem tam někdo uvědomí, jaký je rozdíl mezi "nedostatkem jazyka" a nedostatečným vlastním pochopením. Třikrát sláva!

Idris

  • *****
  • 1 640
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #276 kdy: 18. 09. 2021, 11:41:27 »
myslis nieco taketo?
Kód: [Vybrat]
#include <iostream>
using namespace std;

typedef int apple;
typedef int pear;

int main() {
   apple a1 = 10;
   pear p1 = 20;
   int n = a1 + p1;
   cout << "Result : " << n << endl;
   return 0;
}

ani len pri tom nezanadava. Typovo silny jazyk by ti vynadal ze nepozna operator scitania pre apple a pear...

Ako tento nedostatok jazyka zachranis testami?
v dynamickem jazyku ten kod spadne, pokud ho spustis
Což dokazuje co?
Hlavně jen blb řekne, že jabko nebo hruška jsou int. Typový alias v C++ je ekvivalence. Takhle to vypadá, když někdo nezná jazyk, vymyslí si nějaký přiblblý pseudoproblém a pak jej vysvětluje na retardovaném kódu. Oh boy...
Super, tak teď konečně možná zjistíme, co je typ a co ne. A možná si sem tam někdo uvědomí, jaký je rozdíl mezi "nedostatkem jazyka" a nedostatečným vlastním pochopením. Třikrát sláva!
Sémantika typů závisí na konkrétním jazyce, Go má taky něco jako typedef, ale ekvivalence to není.

BTW souhlasím s tím, že Braindead walker není troll. Je jen extrémně tupý lopatoid.

Ink

  • ****
  • 405
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #277 kdy: 18. 09. 2021, 11:48:06 »
Sémantika typů závisí na konkrétním jazyce, Go má taky něco jako typedef, ale ekvivalence to není.

BTW souhlasím s tím, že Braindead walker není troll. Je jen extrémně tupý lopatoid.

Jsem rád, že jsme dosáhli shody.  ;) Ten rozdíl v Go je každopádně zajímavý.

Idris

  • *****
  • 1 640
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #278 kdy: 18. 09. 2021, 11:56:33 »
Sémantika typů závisí na konkrétním jazyce, Go má taky něco jako typedef, ale ekvivalence to není.

BTW souhlasím s tím, že Braindead walker není troll. Je jen extrémně tupý lopatoid.
Jsem rád, že jsme dosáhli shody.  ;) Ten rozdíl v Go je každopádně zajímavý.
Jo, je, umožní jim to přidávat metody k existujícím typům. Ty sice umělo dávno třeba ObjC bez aliasů, nicméně Go má trochu jinou filosofii (a nemá klasický enum, takže tímto se to obchází).

P.S. Z mainstreamových jazyků má stejně nejsilnější typový systém Rust :) A reifikované lifetimy k tomu. 

Re:Investor pro C++ IDE
« Odpověď #279 kdy: 18. 09. 2021, 12:12:23 »
Sémantika typů závisí na konkrétním jazyce, Go má taky něco jako typedef, ale ekvivalence to není.

BTW souhlasím s tím, že Braindead walker není troll. Je jen extrémně tupý lopatoid.
Jsem rád, že jsme dosáhli shody.  ;) Ten rozdíl v Go je každopádně zajímavý.
Jo, je, umožní jim to přidávat metody k existujícím typům. Ty sice umělo dávno třeba ObjC bez aliasů, nicméně Go má trochu jinou filosofii (a nemá klasický enum, takže tímto se to obchází).

P.S. Z mainstreamových jazyků má stejně nejsilnější typový systém Rust :) A reifikované lifetimy k tomu.
A dve detinske lopaty nepoznaju rozdiel medzi typedf a using...

Idris

  • *****
  • 1 640
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #280 kdy: 18. 09. 2021, 12:58:58 »
nepoznaju rozdiel medzi typedf a using...
Nauč se anglicky a pak si přečti standard, čeká tě překvápko, somárik.

Re:Investor pro C++ IDE
« Odpověď #281 kdy: 18. 09. 2021, 13:14:01 »
nepoznaju rozdiel medzi typedf a using...
Nauč se anglicky a pak si přečti standard, čeká tě překvápko, somárik.
Co sa tam dozviem, ze keyword pre deklaraciu typu, pri niektorych typoch v skutocnosti nedeklaruje typ, ale vytvara alias? Proste je to nedostatok, ktory sa prejavuje tym ze C++, je typovo silne s velmi velkou rezervou.

Ink

  • ****
  • 405
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #282 kdy: 18. 09. 2021, 13:14:18 »
nepoznaju rozdiel medzi typedf a using...
Nauč se anglicky a pak si přečti standard, čeká tě překvápko, somárik.

Cože, on že by měl něco šprtat? Vždyť stačí znát úplné základy angličtiny a vědět, že C++ je zkažené C.

Ink

  • ****
  • 405
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #283 kdy: 18. 09. 2021, 13:15:37 »
nepoznaju rozdiel medzi typedf a using...
Nauč se anglicky a pak si přečti standard, čeká tě překvápko, somárik.
Co sa tam dozviem, ze keyword pre deklaraciu typu, pri niektorych typoch v skutocnosti nedeklaruje typ, ale vytvara alias? Proste je to nedostatok, ktory sa prejavuje tym ze C++, je typovo silne s velmi velkou rezervou.

Ano. Rozhodl ses zatlouct hřebík vidličkou a divíš se, že to kladivo moc nefunguje.

Idris

  • *****
  • 1 640
    • Zobrazit profil
    • E-mail
Re:Investor pro C++ IDE
« Odpověď #284 kdy: 18. 09. 2021, 13:16:11 »
nepoznaju rozdiel medzi typedf a using...
Nauč se anglicky a pak si přečti standard, čeká tě překvápko, somárik.
Cože, on že by měl něco šprtat? Vždyť stačí znát úplné základy angličtiny a vědět, že C++ je zkažené C.
Jo, on zná standard určitě nazpaměť, I kid you not :)