Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: without_faith 12. 06. 2019, 03:00:22

Název: Za jak dlouho se naučím C++?
Přispěvatel: without_faith 12. 06. 2019, 03:00:22
Ahoj ahoj,

jsem čerstvý učenec jazyka c++ a veru, baví mě to. Lepší, než kuchař-číšník ... nebo ne?:)

Mám na Vaše zkušené programátorské mozky jistý dotaz za který mě určitě sežerete, ale chci být v obraze!

K meritu věci:

Za jak dlouho je člověk schopný se naučit programovat, je-li šikovný a učí se každým den. Např. Já se učím druhý týden z e-knihy:"Programování c++ bez předchozích znalostí" a prošel jsem 8 kapitol, čili 120 stran cca. Obsah jsem pochopil a psaní jazyka mě baví. Nedokážu ovšem zatím napsat nějakou jedinečnou myšlenku, čemuž se po 2 týdnech nedivím.

Děkuji za orientační odpovědi a skvělé tipy do začátků!!

P.S.: Mám na mysli, za jak dlouho je člověk schopný naučit se takovou úroveň, díky které si začne vydělávat!
Název: Re:Dotaz ohledně programování c++
Přispěvatel: Idris 12. 06. 2019, 04:00:17
Mám na mysli, za jak dlouho je člověk schopný naučit se takovou úroveň, díky které si začne vydělávat!
Znám lidi, co začali vydělávat po měsíci, ale je třeba být realista, půl roku je minimum. Záleží na předchozích znalostech (jiných jazyků).
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 12. 06. 2019, 07:03:23
Imho umět programovat a vydělávat programováním jsou dvě odlišné věci...
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: pavels 12. 06. 2019, 09:17:36
A učil ses opravdu C++ nebo C with classes? On je v tom totiž dost podstatný rozdíl.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: _Jenda 12. 06. 2019, 09:36:33
P.S.: Mám na mysli, za jak dlouho je člověk schopný naučit se takovou úroveň, díky které si začne vydělávat!
Za 10 minut. Už jsem například dostal do situací, kdy bylo potřeba napsat skript v Lua, upravit program v Perlu nebo napsat jednoduchý program pro PLC v IEC 61131-3 ST, což jsou věci, které jsem nikdy před tím neviděl. No a prostě jsem to nějak zařídil (googlení, lepení examplů).
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: without_faith 12. 06. 2019, 09:50:04
Idris: To zní dosti motivačně!

Cikáda: Asi chápu, jak to myslíš. Sehnat práci ve firmě, která je zaplacena tak, že odpovídá náročnosti studia je prý celkem těžké. Programátoři prý nejraději pracují na faktury jako živnost. Je to tak lepší? Já osobně bych preferoval programovat grafiku a hry.

pavels: Je to C++, na což odkazuje i ona kniha. Do budoucna bych se rád naučil i vícero programovacích jazyků

_jenda: 10 minut? To jsi asi špatně pochopil  ;D
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 12. 06. 2019, 10:06:23
Idris: To zní dosti motivačně!

Cikáda: Asi chápu, jak to myslíš. Sehnat práci ve firmě, která je zaplacena tak, že odpovídá náročnosti studia je prý celkem těžké. Programátoři prý nejraději pracují na faktury jako živnost. Je to tak lepší? Já osobně bych preferoval programovat grafiku a hry.

pavels: Je to C++, na což odkazuje i ona kniha. Do budoucna bych se rád naučil i vícero programovacích jazyků

_jenda: 10 minut? To jsi asi špatně pochopil  ;D
Na hry to chce spíše studium fyziky, na to jsou přímo knihy s názvy jako Physics for game developers.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: D.A. Tiger 12. 06. 2019, 10:37:48
Citace
"Za jak dlouho se naučím C++?"
Jak to mame vedet? My nejsme vestci.

A ted vazne. Je totiz otazkou, co povazujete za cil. Ze se nasprtate ucivo? To jde rychle, ale znamena to taky, ze zvladnete nejaky projekt? Na to samotny jazyk totiz nestaci. Spoustu zaku se nasprta ucivo, zvladnou priklady a v praxi to nedovedou pouzit, nebo jen stezi.

Taky je otazkou do jake hloubky Vami zminovana ucebnice jde. Jsou taci jedinci, kteri pokud nevidi v projektu jedinou sablonu, pomalu to nepovazuji za program v C++. A jsou taci, kteri si vystaci pouze pouze s funkcemi a strukturami (jako v C) a pouzivaji kompilator C++ kvuli silne typove kontrole. Oba pristupy jsou extremy (priznavam), ale oba prave C++ umoznuje.

Tak jako tak, ja osobne jsem presvedceny o platnosti, ze cviceni a praxe dela mistra (a to nejen v C++). I ja sam po tolika letech porad objevuji v C++ nove veci. Takze hlavne programujte. Pokud nemate dost vlastnich napadu, zkuste priklady treba na www.codewars.com.

PS. Jenda Vas asi pochopil spravne. A myslim, ze i spravne Vam odpovedel - pohledem evidentne zkuseneho programatora.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Bystroushaak 12. 06. 2019, 10:53:28
Citace
P.S.: Mám na mysli, za jak dlouho je člověk schopný naučit se takovou úroveň, díky které si začne vydělávat!

Definuj „začít vydělávat“. Pokud to myslíš jako freelancer, tak imho tak dva až pět let.

C++ není ostrov v moři, a přestože jako jazyk je relativně těžký, tak jím to teprve začíná. Potřebuješ toho znát kopec o toolingu kolem toho (kompilátory, linkery, makefiles, build systémy, způsoby interakce s knihovnami, operační systémy, sítě, endiany, ..). Musíš taky trochu rozumět hardware počítače, chápat jak asi funguje procesor, jak je organizovaná paměť. Hodí se mít nějaké základní zkušenosti s assemblerem, abys chápal kde se vůbec vzala půlka těch konceptů a nebyl ztracený s pointery a nepřímým adresováním a tak podobně.

Hodně záleží na tom jaké máš předchozí znalosti. Pokud jsi se vším tímhle dělal už někdy dřív třeba v nějakém jiném kompilovaném jazyce, tak to bude do velké míry jen otázka mapování jednoho konceptu do druhého a jsi schopný to udělat jak píše Jenda; během pár minut vygooglit a nějak si upravit ukázky. Pokud ne, tak ti vždycky bude trvat nějakou dobu než to pochopíš a ve skutečnosti věci často nechápeš, dokud si je nevyzkoušíš, což žere čas. Další věc je, že tohle můžeš dělat když se doma učíš, nebo když jednou za čas něco upravuješ, ale když tohle budeš praktikovat v práci, tak jednak nebudeš vůbec stíhat (potřebuješ to mít v hlavě, to lookup rychlejší o několik řádů než googlení a čtení článků) a druhak kolegové vážně nebudou nadšení ze špagety co jsi poslepoval z kousků kódu, kterým sám pořádně nerozumíš.

Vím že je to lehce irelevantní k dotazu na práci, ale uvádí se, že aby ses stal skutečným odborníkem, či mistrem (https://www.goodreads.com/book/show/13589182-mastery) v nějakém oboru, tak se říká, že tomu musíš věnovat minimálně deset tisíc hodin. Platí zde Parretovo pravidlo (https://cs.wikipedia.org/wiki/Paret%C5%AFv_princip), které říká, že prvních 80% se naučíš za 20% času. Zbylých 20% ti bude trvat 80% času. Takže za cca 20% z 10000 hodin, tj 2000 hodin, tj 250 dní, když tomu věnuješ 8 hodin denně.

Samozřejmě, spousta firem je v dnešní situaci, kdy lidi na trhu moc nejsou, ochotna nabrat juniora a zaučit si ho, i když neumí prakticky nic. Takže práci můžeš sehnat po pár měsících, a učit se průběžně u toho.

Jazyk a tooling a prostředí a knihovny a tak dál jsou navíc jen jedna věc, a to ta čistě technická. Pak tu máš různé sociální stránky, jako například jak psát čistý kód (viz kniha Čistý kód (https://www.databazeknih.cz/knihy/cisty-kod-navrhove-vzory-refaktorovani-testovani-a-dalsi-techniky-agilniho-programovani-71304)), jak správně dokumentovat, ať už interně formou komentářů a docstringů, tak externě, formou generované dokumentace a UML diagramů. Jak dělat dobrou a rozšiřitelnou architekturu, což se třeba já mám pořád ještě hodně co učit, přestože jsem začal programovat v roce 2004 a profesionálně to dělám už víc jak pět let. Jak spolupracovat s lidmi v týmu (slack, IRC, wiki, ..), dělat nějaký agile (standupy, issues, sprinty..) a verzovat kód, ať už jde o třeba o GIT (viz třeba kniha Pro Git (https://www.root.cz/knihy/pro-git/)), nebo mercurial, jaký branchovací model budete používat. Jak dělat code review, a naopak, jak přijmout code review. Jak si plánovat práci (mně třeba hodně pomáhají osobní kanbany), odhadovat a pak dodržovat termíny. Jak rozplánovat projekt. Pak tu mýš čistě psychologické stránky, jako kde třeba brát dlouhodobě motivaci, jak se vyrovnat s frustrací, s nedostatkem energie, s tím když se nedaří. Jak nevyhořet, čím se rechargnout a jak dlouhodobě a konzistentně nabírat energii, abys podával optimální výkon. Jak se sebevzdělávat a nepřestat v tom jakmile se dostaneš na nějakou dostatečně funkční úroveň. Jak snášet kritiku a oddělit se od své práce, abys mohl snášet kritiku svojí práce. Spousta věcí je navíc propojená, různá algoritmizace jde plynule do teorie grafů a her a matematiky. Debugování třeba dost souvisí s vědeckou metodou a formováním hypotéz. Naučit se jak v klidu mnoho hodin debugovat nějaký problém, systematicky procházet prostor možných chyb a dělat heuristiky, které ti usnadní hledání chyb, a to vše bez toho aniž bys z toho měl stres a frustraci, to je taky běh na dlouhou trať.

Co se samotného hledání práce týče, tak jsem to kdysi trochu nakousl tady: http://www.abclinuxu.cz/blog/bystroushaak/2017/7/jak-se-stat-programatorem (http://www.abclinuxu.cz/blog/bystroushaak/2017/7/jak-se-stat-programatorem)

Relevantní meme:

(https://i.imgur.com/2gOeWm1.png)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: smrt28 12. 06. 2019, 16:04:18
Kdyz znas prislusna paradigmata, jazyk nehraje roli. Po trose praxe muze clovek zacit v libovolnem jazyku programovat v podstate okamzite skoro bez uceni (snad s vyjimkou nejakych exotik), resp. nauci se to za pochodu. Samozrejme to zpocatku nepujde uplne efektivne a hodne toho prepise, ale pujde to.

Otazka, za jak dlouho si muzes s C++ vydelavat je IMO znacne naivni, neco jako by ses ptal, za jak dlouho si muzes vydelavat sroubovakem. Ve "vydelavani pomoci C++" hraje C++ uplne stejnou roli jako ve "vydelavani pomoci sroubovaku" hraje sroubovak.

Nevim kolik ti je, ale asi bys svuj postoj k programovani v C++ mel prehodnotit ze "chci si vydelavat programovanim v C++" na "chci se naucit programovat v C++".
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: without_faith 12. 06. 2019, 18:33:03
Všem děkuji za komentáře. Některé z nich jsou pro mě přínosné, některé méně, ale od toho tu jsem. Abych si vyslechl názor od lidí, kteří jsou skutečně zasvěceni do svého oboru.

Idris: To ano, ale předpokládám, že bych měl nejprve porozumět jazyku čistě teoreticky. Přečíst nějaké čtivo a sesmolit pár kódů. Pak bych se rád specializoval konkrétněji.

D.A. Tiger: Nu dobrá. Rozklikl jsem stránku, na kterou jste mě odkázal a nestačím na složení toho kódu v c++.

Mám zadáno: 

int multiply(int a, int b)
{
    a * b;
}

-Nejsem schopný určit, co je multiply. Nehledal jsem to hned na internetu, chtěl bych to vyřešit sám, až dosahnu potřebných znalostí. Podle mě tam chybí:

1) příkaz return 0;
2) nevidím knihovnu neboli hlavičku
3) nevidím tělo funkce
4) proměnné nejsou deklarované

Nejprve bude ovšem třeba zjistit, co multiply. Podle mého čistě nezaujatého názoru, je to nějaká funkce ke které se teprve dopracuji v knize.

K tomu příspěvku od _jenda. Ano přesně tak, napsal to jako zkušený programátor člověku, který je ve vajíčků. Asi proto jsem ho z logického a lidského hlediska nepochopil:)

Bystroushaak: Díky za skvělé informace. Budu dělat, co mohu:)

smrt28: Dobře, děkuji ti. Mé dotazy jsou čistě hypotetické a amatérské. Mohou proto pro Vás programátory působit nerelevantně.

Úplně nejlepší by byla osoba s kterou bych mohl občas prohodit pár slovíček a zeptat se ho jako mistra na mé chyby. Asi by se zde někdo takový nenašel, že?
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Radovan . 12. 06. 2019, 19:09:36
Mám zadáno: 

int multiply(int a, int b)
{
    a * b;
}

-Nejsem schopný určit, co je multiply. Nehledal jsem to hned na internetu, chtěl bych to vyřešit sám, až dosahnu potřebných znalostí. Podle mě tam chybí:

1) příkaz return 0;
2) nevidím knihovnu neboli hlavičku
3) nevidím tělo funkce
4) proměnné nejsou deklarované
1) O return tam opravdu jde.
2) Příklad je malá součást libovolného většího programu, nepotřebuješ celý kód.
3) Tohle je celá funkce, hlavička i tělo funkce!
4) Proměnné jsou deklarované zcela dostatečně v hlavičce.
5) Je vhodné funkce pojmenovat podle toho co dělají. Multiply anglicky znamená...
Kód: [Vybrat]
long long int multiply(int a, int b)
{
    return a * b;
}

Jo, Jenda to napsal velmi přesně, tak jen pro úplnost: http://norvig.com/21-days.html (http://norvig.com/21-days.html) Nebo řeklad do lidského jazyka: http://www.efton.sk/sk/learn_programming_in_10_years.html (http://www.efton.sk/sk/learn_programming_in_10_years.html)

Mimochodem, C++ není vhodný jazyk pro učení se programování.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 12. 06. 2019, 21:18:34
To je otazka co je vhodny jazyk na uceni.
Jako stary C a C++kar bych se dnes ucil GO.
Neco jsem si cetl o Rust, ze = je tam vlastne move z C++ a pro C++kare je move novinka.
C++ me zivi a musim to umet, ale je to verkill templates, polymorphism, lambda, smart pointers, boost, qt no proste halda veci.
Jak rad bych delal v Go nebo v C.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 12. 06. 2019, 21:25:04
(https://media.discordapp.net/attachments/445576622687649794/582951681063518218/60540932_2211195845595948_7116676250155876352_n.png)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: pavels 12. 06. 2019, 21:29:20

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;
};


Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 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.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: D.A. Tiger 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.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Johnny 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.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: pavels 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 (https://www.youtube.com/watch?v=YnWhqhNdYyk).
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 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++.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: without_faith 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!:)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 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ů.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 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é.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 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++
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 13. 06. 2019, 11:56:25
GO
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: to_je_jedno 13. 06. 2019, 12:06:14
Za jak dlouho je člověk schopný se naučit programovat
hned a nikdy.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 12:23:42
GO

To je odpoveď k čomu?
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 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.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: D.A. Tiger 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. 
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Johnny 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...
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 14:28:25
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++

Java je proti C++ triviální. Dá se naučit poměrně rychle - za měsíc až dva se ji naučíš tak, že si s ní můžeš začít vydělávat.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 14:33:51
Pro nováčka je C++ asi nejtěžší z rozšířených jazyků.

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

Java je proti C++ triviální. Dá se naučit poměrně rychle - za měsíc až dva se ji naučíš tak, že si s ní můžeš začít vydělávat.

nemyslím si, resp. abych to upresnil tak môžem to povedať tak že sa dá Java naučiť rýchlejšie tak abys dokázal niečo zozliepať a naprogramovať, ale rozhodne si myslím že je Javu omnoho ťažšie sa naučiť tak abys chápal kompletne a presne jak to funguje a vedel v ňom naprogramovať SW kvalitne. Totiž C++ je striktnejšie, a nepovolí ti to naprogramovať až tak moc "špatne" ako Java.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Standa Blábol 13. 06. 2019, 15:20:46
Pro nováčka je C++ asi nejtěžší z rozšířených jazyků.

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

Java je proti C++ triviální. Dá se naučit poměrně rychle - za měsíc až dva se ji naučíš tak, že si s ní můžeš začít vydělávat.

nemyslím si, resp. abych to upresnil tak môžem to povedať tak že sa dá Java naučiť rýchlejšie tak abys dokázal niečo zozliepať a naprogramovať, ale rozhodne si myslím že je Javu omnoho ťažšie sa naučiť tak abys chápal kompletne a presne jak to funguje a vedel v ňom naprogramovať SW kvalitne. Totiž C++ je striktnejšie, a nepovolí ti to naprogramovať až tak moc "špatne" ako Java.

He?

Tak to je poprve co slysim, ze se v Jave daji napsat vetsi praseciny nez v C++

Realita je presne opacna, nic jako pointerova aritmentika, multiinheritance, prima sprava pameti apod v Jave neni.

Java vznikla prave jako bezpecne C++ s osmirglovanymi hranami...
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 15:39:14

He?

Tak to je poprve co slysim, ze se v Jave daji napsat vetsi praseciny nez v C++

Realita je presne opacna, nic jako pointerova aritmentika, multiinheritance, prima sprava pameti apod v Jave neni.

Java vznikla prave jako bezpecne C++ s osmirglovanymi hranami...

Ja hovorím všeobecne o kvalite riešenia, nie o bezpečnosti z pohľadu toho jak umožnuje jazyk manipulovať s pamäťou. V Jave síce pointerova aritmetika a prima sprava pameti sice neni (resp. všetko je pred programátorom skryté), no samo o sobe jde to čo programuješ napísať prasácky, a hlavne tak, že výkon takej aplikácie sakra pokulháva. V C++ když programujem a viem jak programovať v tomto jazyku, tak vo všeobecnosti ľachšie vytvorím kvalitnú aplikáciu, ktorá nebude pri výpočte koľko dní chýba do konca roku žrať pol giga RAMky... (ok to zveličujem, ale princíp je jasný) ale v C++ sú aplikácie určite výkonnejšie a kvalitnejšie v tom zmysle že máš istotu čo ten kód robí (ak tomu rozumieš) a nedochádza tak často k zvláštnym neželaným stavom. V Jave je veľa abstrakcie a docela ľachko sa programátor stratí že čo je na čom jak závislé, a potrebuješ poznať stovky design patternov abys mal istotu že to čo naprogramuješ tak když o pol roka sa k tomu vrátiť a niečo zmeníš, tak že sa celá aplikácia nezosere, a toto spôsobuje dôvod prečo sa vätšina programátorov v Jave snaží to zosratie vyriešiť rôznymi pofidérnymi trikmi (kde práva vzniká nekvalitný kód). C++ na to nieje až tak náchylné. To je prečo môžem povedať že C++ viac tlačí na kvalitné riešenie.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 13. 06. 2019, 15:51:11

He?

Tak to je poprve co slysim, ze se v Jave daji napsat vetsi praseciny nez v C++

Realita je presne opacna, nic jako pointerova aritmentika, multiinheritance, prima sprava pameti apod v Jave neni.

Java vznikla prave jako bezpecne C++ s osmirglovanymi hranami...

Ja hovorím všeobecne o kvalite riešenia, nie o bezpečnosti z pohľadu toho jak umožnuje jazyk manipulovať s pamäťou. V Jave síce pointerova aritmetika a prima sprava pameti sice neni (resp. všetko je pred programátorom skryté), no samo o sobe jde to čo programuješ napísať prasácky, a hlavne tak, že výkon takej aplikácie sakra pokulháva. V C++ když programujem a viem jak programovať v tomto jazyku, tak vo všeobecnosti ľachšie vytvorím kvalitnú aplikáciu, ktorá nebude pri výpočte koľko dní chýba do konca roku žrať pol giga RAMky... (ok to zveličujem, ale princíp je jasný) ale v C++ sú aplikácie určite výkonnejšie a kvalitnejšie v tom zmysle že máš istotu čo ten kód robí (ak tomu rozumieš) a nedochádza tak často k zvláštnym neželaným stavom. V Jave je veľa abstrakcie a docela ľachko sa programátor stratí že čo je na čom jak závislé, a potrebuješ poznať stovky design patternov abys mal istotu že to čo naprogramuješ tak když o pol roka sa k tomu vrátiť a niečo zmeníš, tak že sa celá aplikácia nezosere, a toto spôsobuje dôvod prečo sa vätšina programátorov v Jave snaží to zosratie vyriešiť rôznymi pofidérnymi trikmi (kde práva vzniká nekvalitný kód). C++ na to nieje až tak náchylné. To je prečo môžem povedať že C++ viac tlačí na kvalitné riešenie.
Jenže spotřeba RAM nikoho nezajímá, většina javistů beztak‌ ani pořádně netuší, jak se paměť používá. Čau lidi, giga sem, giga tam, nemáš paměť? Sorry jako, dej si koblihu. Tímhle stylem uvažuje i většina uživatelů  ::)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 16:08:48
Jenže spotřeba RAM nikoho nezajímá.

jo, i výkon všeobecne... a pritom stejnak každý deň desattisíce ak nie stotisíce uživateľov rozmlátia klávesnicu lebo im počítač alebo program "zamrzol".... všetci Java programátori si hovoria že pamäť riešiť netreba, že pri dnešných kapacitách RAMiek je to zbytočné riešiť, no ale koľký používatelia nadávajú že im niečo zaseklo? Asi to nebude úplná pravda že spotreba RAM nikoho nezajímá. Ja když porovnávam kvalitu programovacích jazykov, tak za lepší (a kvalitnejší) jazyk vždy považujem ten v ktorom jde urobiť to isté výkonnejšie, kvalitnejšie, i bezpečnejšie (ako program samotný)... To že jazyk obsahuje to, čo môže spôsobiť problémy ak to nevieš neznamená že je špatný, lebo ak to vieš, zistíš že ti to pomôže vytvoriť práve ešte rýchlejší program.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 16:42:56
tak za lepší (a kvalitnejší) jazyk vždy považujem ten v ktorom jde urobiť to isté výkonnejšie, kvalitnejšie, i bezpečnejšie (ako program samotný)...

ešte dodám že ale zas to neberte tak že assembler považujem za najkvalitnejší. Ešte som zabudol jednú vec, podľa ktorej sa rozhodujem, a to ako rýchlo ide daný program v danom jazyku naprogramovať. Zároveň kvôli potrebe psát už totálne všetko je tu zas ešte problém že je dosť pravdepodobné že programátor (aj profesionálny) urobí veľa chýb v kóde. Osobne sa pohybujem medzi jazykmi C, C++, Golang, a pod. Dokonca aj JavaScript
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 13. 06. 2019, 17:16:20
tak za lepší (a kvalitnejší) jazyk vždy považujem ten v ktorom jde urobiť to isté výkonnejšie, kvalitnejšie, i bezpečnejšie (ako program samotný)...

ešte dodám že ale zas to neberte tak že assembler považujem za najkvalitnejší. Ešte som zabudol jednú vec, podľa ktorej sa rozhodujem, a to ako rýchlo ide daný program v danom jazyku naprogramovať. Zároveň kvôli potrebe psát už totálne všetko je tu zas ešte problém že je dosť pravdepodobné že programátor (aj profesionálny) urobí veľa chýb v kóde. Osobne sa pohybujem medzi jazykmi C, C++, Golang, a pod. Dokonca aj JavaScript
Rozumný kompromis je třeba to Go. Nevede to za ručičku retardy jako Java, ale ani si v tom člověk neustřelí nohu jako v C, když se někde sekne.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 13. 06. 2019, 18:02:53
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...

Kdy se měnila syntax tak, že stávající způsoby už nešly použít? Imho C++ odvádí dobrou práci ve zpětné kompatibilitě... bohužel taky ta syntax podle toho vypadá.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 18:16:19
Ešte som zabudol jednú vec, podľa ktorej sa rozhodujem, a to ako rýchlo ide daný program v danom jazyku naprogramovať. Zároveň kvôli potrebe psát už totálne všetko je tu zas ešte problém že je dosť pravdepodobné že programátor (aj profesionálny) urobí veľa chýb v kóde. Osobne sa pohybujem medzi jazykmi C, C++, Golang, a pod. Dokonca aj JavaScript

Tak do toho svého portfolia zkus zahrnout i Lisp, ve kterém se dá programovat skutečně rychle a rychlý je i jeho běh při minimálních nárocích na prostředky.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Gabriel Mlocik 13. 06. 2019, 18:43:50
Ešte som zabudol jednú vec, podľa ktorej sa rozhodujem, a to ako rýchlo ide daný program v danom jazyku naprogramovať. Zároveň kvôli potrebe psát už totálne všetko je tu zas ešte problém že je dosť pravdepodobné že programátor (aj profesionálny) urobí veľa chýb v kóde. Osobne sa pohybujem medzi jazykmi C, C++, Golang, a pod. Dokonca aj JavaScript

Tak do toho svého portfolia zkus zahrnout i Lisp, ve kterém se dá programovat skutečně rychle a rychlý je i jeho běh při minimálních nárocích na prostředky.

ten jazyk neznám, i když som o ňom počul, preto nemôžem hodnotiť.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 13. 06. 2019, 18:50:10
Lisp, haskell jsou fajn na trenink premysleni.
da se to pouzit i prakticky, v kombinaci s C++ nebo Javou ve vetsim projektu??
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 18:53:22
Tak do toho svého portfolia zkus zahrnout i Lisp, ve kterém se dá programovat skutečně rychle a rychlý je i jeho běh při minimálních nárocích na prostředky.

ten jazyk neznám, i když som o ňom počul, preto nemôžem hodnotiť.

Určitě se vyplatí Lisp naučit, i kdybys v něm nenapsal žádnou aplikaci. Získáš nový náhled na programování, který uplatníš v ostatních jazycích. Syntakticky je Lisp velmi jednoduchý, základy zvládneš za několik minut. Používám ho i jako výkonnou kalkulačku pro práci s  neomezenou přesností, s komplexními čísly a se zlomky.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 19:01:13
Lisp, haskell jsou fajn na trenink premysleni.
da se to pouzit i prakticky, v kombinaci s C++ nebo Javou ve vetsim projektu??

Ano, spolupráce Lispu s C++ je možná. C++ se dává dolů a Lisp nahoru. Ovšem výkon se tím moc nezvýší, neboť efektivita Lispu je srovnatelná s C++. Rychlost vývoje je v Lispu vyšší. Na rozdíl od C++ je možné program v Lispu modifikovat za běhu, tedy zero downtime.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Radovan . 13. 06. 2019, 19:06:06
Dopoučuji shlédnout Stop Teaching C (https://www.youtube.com/watch?v=YnWhqhNdYyk).
Ano, to je přesné: http://programujte.com/clanek/2006030305-rozhovor-s-bjarne-stroustrupem/ (http://programujte.com/clanek/2006030305-rozhovor-s-bjarne-stroustrupem/)

Jenže spotřeba RAM nikoho nezajímá, většina javistů beztak‌ ani pořádně netuší, jak se paměť používá.
Nalezeno kdysi před lety v jedné diskuzi:
"Sem-tam si vzpomenu a říkám si, že ten vývoj jde nějak divně, když na Indigo² s 256MiB RAM a starším software bylo možné spočítat věci, co na x86-64 s novějším software, nelze ani s 8GiB RAM (a s 24GiB to trvá přibližně stejně dlouho a kvalitativně velmi podobně)."
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Johnny 13. 06. 2019, 19:10:39
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...

Kdy se měnila syntax tak, že stávající způsoby už nešly použít? Imho C++ odvádí dobrou práci ve zpětné kompatibilitě... bohužel taky ta syntax podle toho vypadá.
Ať se držíme tématu vlákna, nejde vůbec o kompatibilitu. Začátečník se učí C++, ale syntaxe jazyka se každý rok mění. Logicky se dostane i k aplikacím, které nenapsal, ale používají novou normu, i když ji sám nechce používat...
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 19:13:14
Malá ukázka jednoduchého webserveru napsaného v Lispu, resp. v jeho dialektu Racket:
Kód: [Vybrat]
#lang web-server
(require web-server/http)
(provide interface-version stuffer start)
(define interface-version 'stateless)
(define stuffer
  (stuffer-chain
   serialize-stuffer
   (md5-stuffer (build-path (find-system-path 'home-dir) ".urls"))))
(define (start req)
  (response/xexpr
   `(html (body (h2 "Look ma, no state!")))))
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 13. 06. 2019, 19:28:08
Malá ukázka jednoduchého webserveru napsaného v Lispu, resp. v jeho dialektu Racket:
Kód: [Vybrat]
#lang web-server
(require web-server/http)
(provide interface-version stuffer start)
(define interface-version 'stateless)
(define stuffer
  (stuffer-chain
   serialize-stuffer
   (md5-stuffer (build-path (find-system-path 'home-dir) ".urls"))))
(define (start req)
  (response/xexpr
   `(html (body (h2 "Look ma, no state!")))))

I am stuffed.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 13. 06. 2019, 19:40:20
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...

Kdy se měnila syntax tak, že stávající způsoby už nešly použít? Imho C++ odvádí dobrou práci ve zpětné kompatibilitě... bohužel taky ta syntax podle toho vypadá.
Ať se držíme tématu vlákna, nejde vůbec o kompatibilitu. Začátečník se učí C++, ale syntaxe jazyka se každý rok mění.

Ne, nemění se. Rozšiřuje (a někdy i zjednodušuje) se způsob, jakým se dají věci psát. A rozhodně ne každý rok.

Logicky se dostane i k aplikacím, které nenapsal, ale používají novou normu, i když ji sám nechce používat...

A úplně stejně to funguje opačně. Nikdo nikoho nenutí používat nové způsoby, stejně jako nenutí používat staré. Na rozdíl od jiných jazyků.

Malá ukázka jednoduchého webserveru napsaného v Lispu, resp. v jeho dialektu Racket:
Kód: [Vybrat]
#lang web-server
(require web-server/http)
(provide interface-version stuffer start)
(define interface-version 'stateless)
(define stuffer
  (stuffer-chain
   serialize-stuffer
   (md5-stuffer (build-path (find-system-path 'home-dir) ".urls"))))
(define (start req)
  (response/xexpr
   `(html (body (h2 "Look ma, no state!")))))

Lost In Stupid Parenthesis?
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 20:23:58
Malá ukázka jednoduchého webserveru napsaného v Lispu, resp. v jeho dialektu Racket:
Kód: [Vybrat]
#lang web-server
(require web-server/http)
(provide interface-version stuffer start)
(define interface-version 'stateless)
(define stuffer
  (stuffer-chain
   serialize-stuffer
   (md5-stuffer (build-path (find-system-path 'home-dir) ".urls"))))
(define (start req)
  (response/xexpr
   `(html (body (h2 "Look ma, no state!")))))

Lost In Stupid Parenthesis?

Není tam víc závorek než ve srovnatelném programu v C++ či Javě. Naopak je tam méně balastu.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 13. 06. 2019, 21:08:05
Lisp, haskell jsou fajn na trenink premysleni.
da se to pouzit i prakticky, v kombinaci s C++ nebo Javou ve vetsim projektu??
Haskell se používá v praxi, stejně jako Lisp nebo třeba Prolog. IBM v tom má systémy pro HPC clustery (v kombinaci s OO jazyky).
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 13. 06. 2019, 21:09:45
Není tam víc závorek než ve srovnatelném programu v C++ či Javě. Naopak je tam méně balastu.

Haskell?

Jinak nejde o počet. Byť můj příspěvek byl hlavně vzpomenutí si na tento vtípek. Lisp ještě nevedu.  :)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 13. 06. 2019, 21:11:35
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...

Kdy se měnila syntax tak, že stávající způsoby už nešly použít? Imho C++ odvádí dobrou práci ve zpětné kompatibilitě... bohužel taky ta syntax podle toho vypadá.
Ať se držíme tématu vlákna, nejde vůbec o kompatibilitu. Začátečník se učí C++, ale syntaxe jazyka se každý rok mění.

Ne, nemění se. Rozšiřuje (a někdy i zjednodušuje) se způsob, jakým se dají věci psát. A rozhodně ne každý rok.

Logicky se dostane i k aplikacím, které nenapsal, ale používají novou normu, i když ji sám nechce používat...

A úplně stejně to funguje opačně. Nikdo nikoho nenutí používat nové způsoby, stejně jako nenutí používat staré. Na rozdíl od jiných jazyků.

Malá ukázka jednoduchého webserveru napsaného v Lispu, resp. v jeho dialektu Racket:
Kód: [Vybrat]
#lang web-server
(require web-server/http)
(provide interface-version stuffer start)
(define interface-version 'stateless)
(define stuffer
  (stuffer-chain
   serialize-stuffer
   (md5-stuffer (build-path (find-system-path 'home-dir) ".urls"))))
(define (start req)
  (response/xexpr
   `(html (body (h2 "Look ma, no state!")))))

Lost In Stupid Parenthesis?
Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 13. 06. 2019, 21:43:44
Lost In Stupid Parenthesis?
Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.

A ty i časovat.

Nebuď úzkoprsý, Idrisi. :)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 13. 06. 2019, 23:00:05
Není tam víc závorek než ve srovnatelném programu v C++ či Javě. Naopak je tam méně balastu.

Haskell?

Jinak nejde o počet. Byť můj příspěvek byl hlavně vzpomenutí si na tento vtípek. Lisp ještě nevedu.  :)

Haskell má těch závorek méně, ale zatím ho neovládám. Lisp by však měl být o něco výkonnější.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 14. 06. 2019, 00:20:41
Lost In Stupid Parenthesis?
Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.
A ty i časovat.
Neumíš přiznat chybu a místo toho kolem sebe kopeš? Super přístup ???
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: without_faith 14. 06. 2019, 01:01:00
Mnozí tu píší, že jsem si na začátek vybral poměrně komplexní a náročný jazyk. Padly zde zajímavé názory, stejně jako jejich výměny.

Uvědomuji si, že jsem teprve ve vajíčku a začínám objevovat nový svět. Díky Vám profesionálům a Vašim názorům si dokáži mnohé představit. Dovolte mi tudíž pár dotazů, pro mě momentálně dosti relevantních.

1)Kdybyste se mohli vrátit na počátek, udělali byste něco jinak? Jaký by byl Váš postup, když se na to podíváte s odstupem času?

2)Jaké nejčastější chyby jste dělali?

3)Kdybyste mohli nováčkovi poradit, jakou literaturu a jaký jazyk byste mu doporučili?


Ještě jednou děkuji za Váš čas  :)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 14. 06. 2019, 06:46:20
Lost In Stupid Parenthesis?
Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.
A ty i časovat.
Neumíš přiznat chybu a místo toho kolem sebe kopeš? Super přístup ???

Ne, já to beru. Opravdu. Jen je to takové nedůstojné, když někdo kritizuje něco, co sám nezvládá a ještě i něco navíc. :)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 14. 06. 2019, 07:01:11
2)Jaké nejčastější chyby jste dělali?

To by vydalo na knihu. Možná na celou sérii. ;D Navíc člověk chyby dělá stále, a také to je často i otázkou jazyka, tudíž se to asi nedá tak snadno říct.

3)Kdybyste mohli nováčkovi poradit, jakou literaturu a jaký jazyk byste mu doporučili?

Mno, já bych doporučil JavaScript, ale to mě tu někteří asi sežerou. K tomu se dá na webu najít i spousta kvalitní dokumentace (https://developer.mozilla.org/cs/), přednášek, knih (Ondřej Žára napsal jednu hezkou, byť by bylo fajn nejdřív vědět, co je to funkce a rekurze, dají se najít i jeho přednášky, ale opět jsou spíš pro trochu znalé) a tak dále. Navíc je asynchronní, což je něco, co mají někteří programátoři problém pochopit. Má C-like syntax. Je všude.
Zajímavý je i Haskell, ale tam je ta vstupní bariéra výš než u C++. Jsi samouk, takže si nejsem jist, nakolik je to takto proveditelné. (možná by tě ale mohlo zajímat toto https://www.edx.org/course/introduction-to-functional-programming-2 , nebo http://naucte-se.haskell.cz/).
Nejhorší volbou není ani ten Python. Když už nic jiného, tak aspoň naučí nějak strukturovat kód.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: linuxak 14. 06. 2019, 07:36:33
a jaký jazyk byste mu doporučili?
Rust. Pro začátečníka je náročný na učení, ale to C++ taky. Výkon srovnatelný s C++. Spousta chyb, které se v C++ projeví až za běhu, odchytí Rust už při překladu.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 14. 06. 2019, 09:33:13
1)Kdybyste se mohli vrátit na počátek, udělali byste něco jinak? Jaký by byl Váš postup, když se na to podíváte s odstupem času?

2)Jaké nejčastější chyby jste dělali?

3)Kdybyste mohli nováčkovi poradit, jakou literaturu a jaký jazyk byste mu doporučili?

Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: BoneFlute 15. 06. 2019, 22:33:33
a jaký jazyk byste mu doporučili?
Rust. Pro začátečníka je náročný na učení, ale to C++ taky. Výkon srovnatelný s C++. Spousta chyb, které se v C++ projeví až za běhu, odchytí Rust už při překladu.

Souhlasím. Pokud mohu být trochu kategorický, tak věnovat se C++ má v dnešní době smysl v případě, kdy se chceš věnovat nějakým legaci věcem. Osobně jsem přesvědčen, že Rust je nástupce C, C++, a nemá smysl se učit pro danou niku něco jiného.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: _Jenda 16. 06. 2019, 04:26:40
3)Kdybyste mohli nováčkovi poradit, jakou literaturu a jaký jazyk byste mu doporučili?

To docela záleží co chceš dělat (což z tebe ještě nevypadlo). Osobně bych pro obecné programování začal s Pythonem, a až ho trochu budeš umět, tak přidat C (obyčejné, ne C++) - jednak z praktického důvodu (výkon, lowlevel embedded platformy), jednak proto, že si člověk uvědomí, jak počítače fungují uvnitř. S tím se pak nějak domluvíš všude.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 16. 06. 2019, 20:00:24
Lost In Stupid Parenthesis?
Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.
A ty i časovat.
Neumíš přiznat chybu a místo toho kolem sebe kopeš? Super přístup ???

Ne, já to beru. Opravdu. Jen je to takové nedůstojné, když někdo kritizuje něco, co sám nezvládá a ještě i něco navíc. :)
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 16. 06. 2019, 20:29:35
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.

Na úrovni se můžeme bavit, až nějakou získáš. Zatím místo k věci reaguješ na vtípky kritikou skloňování, které (vedle časování) sám nezvládáš.

Jinak tím "až něco dokážeš" se dost ohání lidé, se kterými nevím, jestli bys chtěl být spojován. Hlavně by mě zajímalo, co ty víš o tom, co kdo dokázal.  ::)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 16. 06. 2019, 20:44:09
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.
které (vedle časování) sám nezvládáš.
Tohle je právě ten blábol, nemáš jediný příklad.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 16. 06. 2019, 20:54:26
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.
které (vedle časování) sám nezvládáš.
Tohle je právě ten blábol, nemáš jediný příklad.

 :o :o :o :o :o :o :o

Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.

A kdyby ti to nestačilo, tak ve vedlejším vlákně si můžeš opravit čárku. Ale chápu, že vlastní medicína nechutná.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 16. 06. 2019, 20:57:08
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.
které (vedle časování) sám nezvládáš.
Tohle je právě ten blábol, nemáš jediný příklad.

 :o :o :o :o :o :o :o

Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.

A kdyby ti to nestačilo, tak ve vedlejším vlákně si můžeš opravit čárku.
Meleš blbosti, tady ani vedle žádná chyba není. Ovčáčku ;)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Cikáda 16. 06. 2019, 21:19:18
Jen blábolíš. Možná až se dovzděláš a něco dokážeš, budeme se moci bavit na úrovni.
které (vedle časování) sám nezvládáš.
Tohle je právě ten blábol, nemáš jediný příklad.

 :o :o :o :o :o :o :o

Když chceš bejt vtipnej, nauč se aspoň nejdřív skloňovat.

A kdyby ti to nestačilo, tak ve vedlejším vlákně si můžeš opravit čárku.
Meleš blbosti, tady ani vedle žádná chyba není. Ovčáčku ;)

Stačí jedna citace

Neumíš přiznat chybu a místo toho kolem sebe kopeš? Super přístup ???

:)
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Jiří Havel 17. 06. 2019, 10:26:09
Souhlasím. Pokud mohu být trochu kategorický, tak věnovat se C++ má v dnešní době smysl v případě, kdy se chceš věnovat nějakým legaci věcem. Osobně jsem přesvědčen, že Rust je nástupce C, C++, a nemá smysl se učit pro danou niku něco jiného.
Pro osamoceného programátora ve vakuu by to možná platilo. :) Výběr jazyka není čistě technické rozhodnutí. Pro C++ mluví třeba to, že management daleko snáze sežene lidi kteří umí C++ než Rust. Taže i projekt na zelené louce je stále pravděpodobnější v C++ než v Rustu.
A ta zmínka o legacy věcech mě fakt pobavila. Třeba "legacy" state of the art herní enginy, co?

Rust je rozhodně zajímavý jazyk a krok správným směrem. Ale jestli se vůbec ujme je stále ve hvězdách.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 17. 06. 2019, 10:32:23
a jaký jazyk byste mu doporučili?
Rust. Pro začátečníka je náročný na učení, ale to C++ taky. Výkon srovnatelný s C++. Spousta chyb, které se v C++ projeví až za běhu, odchytí Rust už při překladu.

Souhlasím. Pokud mohu být trochu kategorický, tak věnovat se C++ má v dnešní době smysl v případě, kdy se chceš věnovat nějakým legaci věcem. Osobně jsem přesvědčen, že Rust je nástupce C, C++, a nemá smysl se učit pro danou niku něco jiného.
Mnohem rozšířenějším "nástupcem" je spíš Go.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 17. 06. 2019, 11:37:20
GO bych videl vic jak C potomka s vlivem dalsich jazyku.
Rust je zas vic potomek C++.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 17. 06. 2019, 11:43:38
GO bych videl vic jak C potomka s vlivem dalsich jazyku.
Rust je zas vic potomek C++.
Ve smyslu, že Rust je složitější?
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 17. 06. 2019, 11:46:18
A ta zmínka o legacy věcech mě fakt pobavila. Třeba "legacy" state of the art herní enginy, co?

Proč by aplikace v Rustu nemohla využívat engine v C++? Na PHP se mi například líbí bezešvé napojení na hromadu dalších jazyků. Nemusím vše dělat v jednom monolitu, jako například v Javě, ale mohu určitou komponentu aplikace napsat v něčem vhodnějším. Taková vlastnost je významnou devizou každého jazyka, který to umí.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Jiří Havel 17. 06. 2019, 12:03:15
A ta zmínka o legacy věcech mě fakt pobavila. Třeba "legacy" state of the art herní enginy, co?

Proč by aplikace v Rustu nemohla využívat engine v C++? Na PHP se mi například líbí bezešvé napojení na hromadu dalších jazyků. Nemusím vše dělat v jednom monolitu, jako například v Javě, ale mohu určitou komponentu aplikace napsat v něčem vhodnějším. Taková vlastnost je významnou devizou každého jazyka, který to umí.
No samo že mohla. O tom žádná. Já to psal jako reakci na to, že C++ má být potřeba jen pokud se chce věnovat legacy věcem. Což mi přijde kapku mimo, pokud "legacy" není úplně prázdný pojem.

Ale teda jako vyšší vrstvu nad nějakým enginem si dokážu představit spoustu lepších jazyků, než zrovna Rust. Ten se hodí právě spíš do těch spodních vrstev, ale IMO bude problém ho tam dostat.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Kit 17. 06. 2019, 12:16:45
Ale teda jako vyšší vrstvu nad nějakým enginem si dokážu představit spoustu lepších jazyků, než zrovna Rust. Ten se hodí právě spíš do těch spodních vrstev, ale IMO bude problém ho tam dostat.

Tak s tím souhlasím. Dlouho nebylo pro spodní vrstvy nic vhodnějšího než Fortran, C nebo C++. Když se objevil Rust, tak jsem se na něj zpočátku koukal s despektem, ale zdá se, že se jeho pozice zlepšují.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: alex6bbc 17. 06. 2019, 13:28:35
GO bych videl vic jak C potomka s vlivem dalsich jazyku.
Rust je zas vic potomek C++.
Ve smyslu, že Rust je složitější?

Spis to mam tak, ze C mam rad, ale jsem nucen pracovat s C++, tak bych si vybral radsi Go.
Kdo ma radsi C++ by si spis asi vybral Rust.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: BoneFlute 17. 06. 2019, 22:19:24
GO bych videl vic jak C potomka s vlivem dalsich jazyku.
Rust je zas vic potomek C++.
Ve smyslu, že Rust je složitější?

Spíše, že Rust je mocnější.

Ale je možné, že ze mě mluví potřeba po statickém typování. Zatímco GO, je spíše takové poraď si sám (bez pejorativnosti).
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: PetrK 07. 07. 2019, 10:23:30
Ja si pamatuju, ze kdyz jsem se jeste jako bazant nekdy v 1. rocniku na VS zacal ucit C++, tak poucen znalostmi pointru v C jsem mel dojem, ze je to vlastne strasne jedndocuhe, a citil jsem se jako na koni, ze ten jazyk uz vlastne umim - protoze slychaval jsem narky, ze C++ je strasne tezky.

C++ je hrozna multiparadigmaticka hydra a je slozity jako prase, je plny nastrah. Zbastlit se v tom neco samozrejme neco da hned, ale udelat neco dobre vyzaduje kopec znalosti. A to ani nemluvim o tom, ze na trhu prace to potom ani neni dostatecne zaplacene.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: czmiho 07. 07. 2019, 13:47:13
Takto polozena otazka je absurdni. Odpovida zhruba tomu: Zacal jsem se ucit nemcinu. Za jak dlouho budu psat nemecky romany tak, abych se tim uzivil?

Programovani i psani romanu vyzaduje "trochu" vic nez jen znalost jazyka.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: Idris 07. 07. 2019, 17:07:19
A to ani nemluvim o tom, ze na trhu prace to potom ani neni dostatecne zaplacene.
Senior se hravě dostane na 150 tisíc Kč. To není zas tak málo.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: BoneFlute 08. 07. 2019, 00:15:10
A to ani nemluvim o tom, ze na trhu prace to potom ani neni dostatecne zaplacene.
Senior se hravě dostane na 150 tisíc Kč. To není zas tak málo.

Což mě přivádí k myšlence, vyplatí se ten jazyk?
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: _Jenda 08. 07. 2019, 07:08:09
Takto polozena otazka je absurdni. Odpovida zhruba tomu: Zacal jsem se ucit nemcinu. Za jak dlouho budu psat nemecky romany tak, abych se tim uzivil?

Aby se člověk uživil, nemusí mít programátorské schopnosti na úrovni psaní románů, jak dokazuji třeba já.
Název: Re:Za jak dlouho se naučím C++?
Přispěvatel: sadnessineye 08. 07. 2019, 16:42:08
To C++ bych možná na chvíli odložil a začal bych s C. Jazyk C tě naučí základy procedurálního programování, tedy podmínky, cykly, funkce, struktury, ukazatele. Navíc C++ z C vychází, takže pochopíš, proč C++ vypadá, tak jak vypadá. Pokud se začneš učit C, mohu ti na začátek doporučit dvě kvalitní knihy, které jsou k dostání v českém jazyce, a sice Programovací jazyk C (Kernighan, Ritchie), tuto knihu zná každý pokročilejší programátor, a Učebnici jazyka C (Pavel Herout). Jazyk C je základ programování a měl by ho znát každý lepší programátor. C se používá hlavně k programování operačních systémů (linux), ovládačů, kompilátorů a interpretů. Například Python, Ruby nebo Perl jsou napsány v C. C se hodí i k učení algoritmů a datových struktur.

Až budeš mít nějaké základy céčka, tak se klidně můžeš vrátit k C++. Kvalitní knihy o C++ jsou třeba Programming: Principles and Practice Using C++ (Stroustrup), z této knihy se naučíš vážně hodně. Dále jako referenci můžeš použít The C++ Programming Language (Stroustrup) nebo C++ Primer (Lippman). Mimochodem Bjarne Stroustrup je tvůrce jazyka C++.

Docela elegatní kód pro tetris najdeš zde:

https://doc.qt.io/qt-5/qtwidgets-widgets-tetrix-example.html

Toto není čisté C++, ale jedná se o gui framework Qt.

Předtím než se začneš učit programovat, měl by sis ujasnit, co vlastně chceš programovat. Programování je hodně těžké a komplikované, existuje spousta jazyků a každý se hodí tak trochu na něco jiného. A skutečné programování často není tak krásné, elegantní a čisté, jak se zdá z některých knih.