abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 11:40 | Pozvánky
Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15.-16.2. 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24.1.) v brzkých odpoledních hodinách.
TomasVondra | Komentářů: 0
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 6
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (4%)
 (10%)
Celkem 367 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: Imperatívny vs. deklaratívny prístup

________________ avatar 5.2.2011 12:33 ________________ | skóre: 5 | blog: _
Imperatívny vs. deklaratívny prístup
Přečteno: 573×
Ktorý prístup je vhodnejší na vývoj bežných aplikácií?

Aké výhody má imperatívny oproti deklaratívnemu prístupu, a aké má naopak nevýhody?

Čo je rýchlejšie a efektívnejšie? A čo je menej pamäťovo náročnejšie?

Ja používam oboje, ale intuícia mi hovorí že napríklad LINQ je menej efektívne ako prejsť kolekciu v cykle. A kritické časti kódu píšem vždy imperatívne. Niekde som čítal že deklaratívny prístup je výhodnejší na viacjadrových systémoch. Tak ako to teda je?

Řešení dotazu:


Odpovědi

5.2.2011 13:18 polymorf | skóre: 14 | blog: tar_zxpf
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
Pripomínaš mi jednu vedľajšiu postavu z filmu Good Will Hunting.
5.2.2011 13:36 JS
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
To je asi stejne (takto obecne) nesmyslna otazka, jako zda je lepsi psat program v assembleru nebo v C.

Obecne, deklarativni (= rikate co chcete, aby se stalo) znamena, ze musi vic prace udelat pocitac, a imperativni (= rikate jak chcete, aby se neco stalo), ze musi vic prace udelat clovek. (Nakonec je totiz kazdy program imperativni.) Coz muze byt jak vyhoda, tak nevyhoda.

Pokud nechate veci na pocitaci, usetrite cas, ale muze to dopadnout mizerne (nebo taky ne). Pokud nechate veci na cloveku (na vas), budete si s tim muset vic pohrat, ale zase je potencial, ze to udelate lepe.
5.2.2011 21:06 l4m4
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
Deklarativní programování popisuje výpočet (v obecném smyslu), imperativní popisuje proces. Některé věci se vyjadřují snáz jedním způsobem (které prvky množiny mají vlastnost foo?), jiné druhým (počkej, dokud zařízení nepošle data). Přijde na to, co programuješ...
6.2.2011 12:32 JS
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
Nesouhlasim s tim, ze je to ekvivalentni co do obtiznosti. Nakonec jsou vsechny programy imperativni (ve strojovem kodu), a cim je program deklarativnejsi, tim je slozitejsi ho dobre prevest na imperativni (pokud je to vubec dobre mozne, viz problemy z nedeterministicke tridy NP). Navic i proces se da definovat deklarativne (operace A nesmi nastat pred operaci B).

Idealem (patrne nedosazitelnym) je, abychom programy psali jen deklarativne, tj. aby stacilo zadat specifikaci, a pocitac vyrobil program. Vsechno, co potrebujete pocitaci rict nad presnou specifikaci chovani programu (napr. jake algoritmy a datove struktury ma pouzit) je ta imperativni cast.
6.2.2011 13:32 l4m4
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
V tomto ideálním stavu programátoři nejsou zapotřebí (nikdo se nezabývá algoritmy), takže otázka ztrácí smysl...

Ve skutečnosti programátor vždy popisuje jak, a to i u deklarativního stylu - interpret/kompilátor má sice velkou volnost v provedení, jenže to má nakonec i kompilátor C. Takhle to opravdu rozlišovat nejde, ledaže by prohlásil, že všechno je hybridní.

Samozřejmě, že i proces se dá zapsat deklarativně, ovšem deklarativní zápis procesu pošli do zařízení data a počkej sekundu, nebo dokud nepřijde odpověď, ... vypadá nakonec (a) dost imperativně (b) nezsrozumitelně z hlediska uvažování o tom, co to zařízení dělá.
7.2.2011 11:31 Ivan
Rozbalit Rozbalit vše Re: Imperatívny vs. deklaratívny prístup
Ve skutečnosti programátor vždy popisuje jak, a to i u deklarativního stylu - interpret/kompilátor má sice velkou volnost v provedení, jenže to má nakonec i kompilátor C.
To neplati vzdy. Treba takove SQL je jasne deklarativni jazyk a vas jako programatora casto nezajima exekucni plan(imperativni forma SQL). A hlavne co je nejdulezitejsi, exekucni plan zavisi na statistickych charakteristikach dat, muze byt u kazdeho zakaznika jiny a muze se vyvijet v case bez zasahu programatora. Exekucni plan se "kompiluje" pri pouziti aplikace a ne behem vyvoje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.