reklama

Za jak dlouho se naučím C++?

Re:Za jak dlouho se naučím C++?
« Odpověď #15 kdy: 12. 06. 2019, 23:16:19 »

A učil ses opravdu C++ nebo C with classes? On je v tom totiž dost podstatný rozdíl.

pavels: Je to C++, na což odkazuje i ona kniha.


Že se ta kniha jmenuje C++ ještě neznamená, že ve skutečnosti není o C with classes. Tam je právě ten podstatný rozdíl, ke kterému mířím. Moderní, idiomatické C++ by vypadalo nějak takto:

Kód: [Vybrat]
// C++11
template<class A, class B>
auto multiply( A&& a, B&& b) -> decltype(a * b)
{
    return a * b;
}

Nebo dokonce:
Kód: [Vybrat]
// C++14
const auto multiply = [](auto a, auto b)
{
    return a * b;
};

To je dost hnusný. A fakt nechápu, proč by to takhle někdo psal.

reklama


D.A. Tiger

  • ****
  • 441
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #16 kdy: 13. 06. 2019, 00:02:50 »

Kód: [Vybrat]
// C++11
template<class A, class B>
auto multiply( A&& a, B&& b) -> decltype(a * b)
{
    return a * b;
}

Nebo dokonce:
Kód: [Vybrat]
// C++14
const auto multiply = [](auto a, auto b)
{
    return a * b;
};
Skvele, ten clovek ma evidentne problem s prostymi funkcemi a vy do nej perte sablony, alternativni zapis funkci, decltype,  genericke lambda funkce a dalsi libustky. Kdyz uz je zmateny jak Goro pred Tokyem, tak at v tom ma teda sakra gulas... :(

Moderní, idiomatické C++ by vypadalo nějak takto:
Nesouhlasim. C with Classes se ten jazyk jmenoval do roku 1985. Od te doby je prejmenovan na C++. To na co narazite jsou pouze standardy, ktere puvodni C++ rozsiruji a meli by jej obohatit. je to asi stejny pristup, jako rict, ze pokud na bote nejsou tri bile pruhy, tak to neni bota, ale podkova.... Takze by spis bylo vhodnejsi, rici, ze jej uci C++98.
« Poslední změna: 13. 06. 2019, 00:08:43 od D.A. Tiger »

Re:Za jak dlouho se naučím C++?
« Odpověď #17 kdy: 13. 06. 2019, 01:58:33 »
Já myslím, že správná a upřímná odpověď na tu otázku "za jak dlouho" je, že nikdy.
Takze by spis bylo vhodnejsi, rici, ze jej uci C++98.
Tento úhel pohledu tady úplně chybí - nechtěl bych se učit programovací jazyk, kterému se neustále mění syntaxe. (A už vůbec ne, jako ten první).
A to ne proto, že se ten jazyk prostě vyvíjí, ale proto, že starší konstrukce začnou být brzy obsolete, nebo dokonce deprecated stejně tak jako programy v nich. Máte třeba 10 let praxe s C++98, ale to co norma přidala/odebrala v roce 2017 si musíte nastudovat znovu.

Re:Za jak dlouho se naučím C++?
« Odpověď #18 kdy: 13. 06. 2019, 07:10:35 »
Nesouhlasim. C with Classes se ten jazyk jmenoval do roku 1985. Od te doby je prejmenovan na C++. To na co narazite jsou pouze standardy, ktere puvodni C++ rozsiruji a meli by jej obohatit. je to asi stejny pristup, jako rict, ze pokud na bote nejsou tri bile pruhy, tak to neni bota, ale podkova.... Takze by spis bylo vhodnejsi, rici, ze jej uci C++98.

Nesouhlasím. Není to vůbec o verzi jazyka, v C++98 by ta funkce vypadala prakticky stejně:

Kód: [Vybrat]
// C++98
template<class A> A multiply( A a, B b)
{
    return a * b;
}

Dopoučuji shlédnout Stop Teaching C.

Re:Za jak dlouho se naučím C++?
« Odpověď #19 kdy: 13. 06. 2019, 07:46:59 »
Tak s tim nesouhlasim: stop teaching C.
kdyby si lidi trosku hlidali alokaci, dealokaci, nebo by byl garbage collector jako v Go, tak by C++ nemuselo existovat.

Mi se zas libil clanek myslim od autora ZMQ, ze to mel psat v C a ne v C++.


Re:Za jak dlouho se naučím C++?
« Odpověď #20 kdy: 13. 06. 2019, 10:03:28 »
No chlapi, děkuji za komentáře a rady. Cením si Vašich názorů. Nejprve musím alespoň dočíst tu knihu, pak uvidíme dál. Já jako absolutní nováček nevím, jaké je C++ v porovnání s ostatními jazyky. Vím ale, že mi zdrojový kód logicky nedělá problém, aspoň zatím. Chápu jej a uvidíme, co z toho bude. Zvládnu to!:)

Kit

  • ***
  • 104
    • Zobrazit profil
Re:Za jak dlouho se naučím C++?
« Odpověď #21 kdy: 13. 06. 2019, 10:33:27 »
No chlapi, děkuji za komentáře a rady. Cením si Vašich názorů. Nejprve musím alespoň dočíst tu knihu, pak uvidíme dál. Já jako absolutní nováček nevím, jaké je C++ v porovnání s ostatními jazyky. Vím ale, že mi zdrojový kód logicky nedělá problém, aspoň zatím. Chápu jej a uvidíme, co z toho bude. Zvládnu to!:)

Pro nováčka je C++ asi nejtěžší z rozšířených jazyků.

Idris

  • ***
  • 201
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #22 kdy: 13. 06. 2019, 11:06:12 »
kdyby si lidi trosku hlidali alokaci, dealokaci
To je pro většinu příliš intelektuálně náročné.

Re:Za jak dlouho se naučím C++?
« Odpověď #23 kdy: 13. 06. 2019, 11:26:11 »
No chlapi, děkuji za komentáře a rady. Cením si Vašich názorů. Nejprve musím alespoň dočíst tu knihu, pak uvidíme dál. Já jako absolutní nováček nevím, jaké je C++ v porovnání s ostatními jazyky. Vím ale, že mi zdrojový kód logicky nedělá problém, aspoň zatím. Chápu jej a uvidíme, co z toho bude. Zvládnu to!:)

Pro nováčka je C++ asi nejtěžší z rozšířených jazyků.

není, nejtěžší je Java, až pak nasleduje C++

Re:Za jak dlouho se naučím C++?
« Odpověď #24 kdy: 13. 06. 2019, 11:56:25 »
GO

Re:Za jak dlouho se naučím C++?
« Odpověď #25 kdy: 13. 06. 2019, 12:06:14 »
Za jak dlouho je člověk schopný se naučit programovat
hned a nikdy.
Děkuji za možnost editace příspěvku.

Re:Za jak dlouho se naučím C++?
« Odpověď #26 kdy: 13. 06. 2019, 12:23:42 »

Re:Za jak dlouho se naučím C++?
« Odpověď #27 kdy: 13. 06. 2019, 12:25:42 »
Za jak dlouho je člověk schopný se naučit programovat
hned a nikdy.

Súhlas, programovanie nie je psanie kódu, ale predovšetkým schopnosť vymyslieť efektívne algoritmy riešiace určité problémy, vysporiadať sa s problémami a dopredu vedieť navrhnúť postup akým sa bude riešiť to čo je potrebné. A to je schopnosť ktorú niektorý vedia ešte než sa začnú učiť svoj prvý programovací jazyk, a niektorý nevedia ani když už niečo zozliepali v niekoľkých jazykoch.
« Poslední změna: 13. 06. 2019, 12:27:18 od Gabriel Mlocik »

D.A. Tiger

  • ****
  • 441
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #28 kdy: 13. 06. 2019, 13:38:19 »
Já myslím, že správná a upřímná odpověď na tu otázku "za jak dlouho" je, že nikdy.
Takze by spis bylo vhodnejsi, rici, ze jej uci C++98.
Tento úhel pohledu tady úplně chybí - nechtěl bych se učit programovací jazyk, kterému se neustále mění syntaxe. (A už vůbec ne, jako ten první).
A to ne proto, že se ten jazyk prostě vyvíjí, ale proto, že starší konstrukce začnou být brzy obsolete, nebo dokonce deprecated stejně tak jako programy v nich. Máte třeba 10 let praxe s C++98, ale to co norma přidala/odebrala v roce 2017 si musíte nastudovat znovu.

Jenze ona se zas az tak zasadne nemeni, je pouze doplnovana, ci korigovana v ramci vyvoje jazyka samotneho. To se prece deje vetsine jazyku. Navic, nikde neni psano, ze zavedenim zkraceneho cyklu for prestal platit ten puvodni. Nebo ze nutne musite pouzivat automatickou typovou inferenci misto explicitni deklarace typu a pod. 

Re:Za jak dlouho se naučím C++?
« Odpověď #29 kdy: 13. 06. 2019, 14:28:03 »
jazyk, kterému se neustále mění syntaxe.

Jenze ona se zas az tak zasadne nemeni, je pouze doplnovana, ci korigovana v ramci vyvoje jazyka samotneho. To se prece deje vetsine jazyku. Navic, nikde neni psano, ze zavedenim zkraceneho cyklu for prestal platit ten puvodni. Nebo ze nutne musite pouzivat automatickou typovou inferenci misto explicitni deklarace typu a pod.

Dobře, to beru, možná se syntaxe C++ v průběhu času změnila méně, než třeba v Javě (generika, anotace, ...). Jde spíš o to, že se vůbec mění, a také jak často. Když se mění jen trochu, ale často, tak to možná nikomu tak nepřijde...

 

reklama