Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
]semo[
Založen: 29. 07. 2007 Příspěvky: 1525 Bydliště: Telč
|
Zaslal: 7. březen 2014, 15:43:51 Předmět: |
|
|
Nene, já už končím, o tomhle tématu se bavím často s kámošem na icq a už mě to nebaví :). _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
|
OndraSej
Založen: 28. 07. 2007 Příspěvky: 765 Bydliště: Brandýs nad Labem
|
Zaslal: 7. březen 2014, 16:18:10 Předmět: |
|
|
]semo[ napsal: |
To mě vždycky tak rozesmutní. Je to napsat, že "moře je podle mě špatné, mělo by se jezdit jen na rybníku" Neni to tak nebezpečné, že...? |
Fráze, kterou jsi asi hledal je "Lednička probíjí a má ulomené madlo. Ale když si nasadíš gumové rukavice, tak není tak nebezpečné si z ní něco vzít" _________________ http://trionteam.net |
|
Návrat nahoru |
|
|
perry
Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 7. březen 2014, 17:40:49 Předmět: |
|
|
Obecně, kde to jde rekurzi necpat.. nicméně zrovna u traverzace stromů mi přijde imho přehlednější než iterační kód.
Ale psát, že C++ je na hovno jazyk.. jako prasečina jde napsat všude. Podle mě je třeba absolutní čuňárna právě Lisp.. měl jsem tu čest jednou a nikdy více to nechci vidět.
Btw.. pokud někomu přijde C++ jako čuňárna, doporučuji Objective-C -> plně to podporuje čunárny C + to má čunačiny od Objective-C _________________ Perry.cz |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 7. březen 2014, 18:14:07 Předmět: |
|
|
]semo[ napsal: |
U těch příkladů, co si poslal, je samozřejmě jedno velké ALE: nikdo tě nenutí to psát takhle. A musel bys být fakt velké prase, abys to tak psal. U C++ zkrátka záleží na tom, jakým stylem budeš psát. U jiných jazyků ti ten styl většinou někdo vnutí. |
v tomto je tak trochu zakopany pes. Co jeste neni a co uz je prasacky zapis je ciste subjektivni a vychazi z velke casti ze zkusenosti kazdeho programatora. Nevidim nic v cem by c++ bylo lepsi nez treba c. Problem je ze syntaxe umoznuje ruzne (subjektivni) zapisy stejne veci (ci velmi podobne + je nutne mi hlubokou znalost semantiky prekladace - viz. ten druhy link). Tym vyvojaru se pak casto dohaduje co je a co uz neni syntakticka cunarna (namisto toho aby se zabyvali funkcionalitou, lepsimi/rychlejsimi algoritmy apod.). Objektivnim meritkem je korektnost chovani programu (zde patri i bezchybnost) a rychlost (zde patri big O atd..). Tyto dve veci lze objektivne merit(!). Ale co je a co uz neni prasacky zapis je ciste subjektivni. Jedna z kvalit lispu/scheme je v tom ze syntaxe je v porovnani s c++ temer nulova a presto se lze hlavne diky homoiconicite vyjadrovat velmi expresivne. |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 8. březen 2014, 00:32:02 Předmět: |
|
|
perry napsal: |
Obecně, kde to jde rekurzi necpat.. nicméně zrovna u traverzace stromů mi přijde imho přehlednější než iterační kód.
|
Tak když už jsme u té rekurze, musím říct, že jsem velmi překvapený, že ještě dnes (evidentně) spousta lidí holduje mýtům o rekurzi (nemám na mysli tebe , že je pomalá, nebezpečná, atd.
Když jsem ještě psal šachový engine, pamatuji si lidi, co přepisovali rekurzivní hledání na iterativní.
Ve výsledku nejen, že prakticky nezískali nic na rychlosti, ale ztratili čas přepisem a výsledkem byl nečitelný kód.
Samozřejmě jsou věci, na které by snad nikoho nenapadlo ji použít.
Dalších mýtů existuje spousta, namátkou třeba to, že iterování vektoru přes iterátory je rychlejší, než iterování přes smyčku s indexováním od nuly do size, ve skutečnosti je pravdou opak, protože překladač je indexovanou iteraci schopný zvektorizovat (pokud je tělo smyčky dostatečně jednoduché) apod., ale to už jsem hodně odbočil. |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 8. březen 2014, 01:09:51 Předmět: |
|
|
perry napsal: |
Obecně, kde to jde rekurzi necpat.. |
zajimave obecne pravidlo. jazyk scheme ve svem zakladu zadny jiny zpusob "cyklu" nema a to je starsi nez c++ a to docela dost (pokud studujete zaklady lisp-1 tak je rozdil v desitkach let). zvlastni. kdyz jsem byl jeste na vysoke skole tak rekurze byla jeden ze zakladnich zpusobu jak se "vyjadruji" reseni problemu. asi jsem uz moc stary. |
|
Návrat nahoru |
|
|
josh
Založen: 30. 07. 2007 Příspěvky: 74
|
Zaslal: 9. březen 2014, 08:24:37 Předmět: |
|
|
quas4 napsal: |
perry napsal: |
Obecně, kde to jde rekurzi necpat.. |
zajimave obecne pravidlo. jazyk scheme ve svem zakladu zadny jiny zpusob "cyklu" nema a to je starsi nez c++ a to docela dost (pokud studujete zaklady lisp-1 tak je rozdil v desitkach let). zvlastni. kdyz jsem byl jeste na vysoke skole tak rekurze byla jeden ze zakladnich zpusobu jak se "vyjadruji" reseni problemu. asi jsem uz moc stary. |
Je to tak. Ses starej Na druhou stranu, zrovna hodně frci funkcionální rysy (clojure, Scala, csharp), takže kdo studoval CS ma jasnou výhodu
Ale je fakt, ze je to trochu vomrd, myslet na to aby mi rostl stack max sublinearne nebo mít to zapsány jako tail-call. To bude asi ten problém proč se toho kde kdo boji a radši obětují čitelnost a udrzovatelnost kodu ve prospěch cyklu. _________________ Tak Karle, kolik? |
|
Návrat nahoru |
|
|
|