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

Re:Za jak dlouho se naučím C++?
« Odpověď #45 kdy: 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...


Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #46 kdy: 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!")))))

alex6bbc

  • *****
  • 1 432
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #47 kdy: 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.

Re:Za jak dlouho se naučím C++?
« Odpověď #48 kdy: 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?

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #49 kdy: 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.


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #50 kdy: 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).

Re:Za jak dlouho se naučím C++?
« Odpověď #51 kdy: 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.  :)

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #52 kdy: 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.

Re:Za jak dlouho se naučím C++?
« Odpověď #53 kdy: 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. :)

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #54 kdy: 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ší.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Za jak dlouho se naučím C++?
« Odpověď #55 kdy: 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 ???

Re:Za jak dlouho se naučím C++?
« Odpověď #56 kdy: 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  :)

Re:Za jak dlouho se naučím C++?
« Odpověď #57 kdy: 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. :)

Re:Za jak dlouho se naučím C++?
« Odpověď #58 kdy: 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.

Re:Za jak dlouho se naučím C++?
« Odpověď #59 kdy: 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.