Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Osel
Člen
Avatar
Osel:29.9.2013 16:55

Zdravím, i přesto, že je tu portál plný návodů na C#, chtěl bych se zeptat, jestli někdo (kdo čtete) nemáte tip na dobrou knihu pro začátečníky ? Která by pomohla v studiu, rád bych si něco i přečestl, co je v papírové podobě, jestli rozumíte, samozřejmně i s články zde ;) . Pokud někdo víte o dobré, poraďte je jich mnoho, takže nevím co přesně si půjčit :)

Díky Oslík :`

 
Odpovědět
29.9.2013 16:55
Avatar
Odpovídá na Osel
Michal Žůrek - misaz:29.9.2013 18:22

Přečetl jsem http://knihy.cpress.cz/…-c-2010.html?… a je celkem dobrá, od začátku rychle k pokročilému. Nicméně je to pro starší verzi 2010. Dnes je novější verze této knihy akorát zatím není přeložena. http://www.amazon.com/…p/0735668019

 
Nahoru Odpovědět
29.9.2013 18:22
Avatar
Osel
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Osel:29.9.2013 18:28

A bude to mít velký vliv 2010 a 2012? Přeci jen studio má z 85% stejné funkce a jsou tam jen přidělané vychytávky a něco navíc. Já právě používám Visual 2012 :`

 
Nahoru Odpovědět
29.9.2013 18:28
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Petr Nymsa:29.9.2013 18:28

Také tuto knihu mám. A je jak říkáš vcelku dobrá. Teď když se na to kouknu zpětně, zaráží mě že autor knihy vlastně zaěžuje hned s WF.

Nahoru Odpovědět
29.9.2013 18:28
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Osel
Petr Nymsa:29.9.2013 18:29

Ono to není o Studiu ale o jazce. Myslím že v nové verzi se bude autor zaobírat novinkami jako nový způsob async programování apod

Nahoru Odpovědět
29.9.2013 18:29
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Osel
Člen
Avatar
Osel:29.9.2013 18:38

Takže radíte si ji půjčit? :) Projel jsem tu základy a zatím vše chápu, tak snad nebudu mít problém pochopit ne? Zasekt jsem se to trošku na OOP ;(
:D

 
Nahoru Odpovědět
29.9.2013 18:38
Avatar
Luboš Běhounek Satik:29.9.2013 18:42

Hm, že bych si taky někdy nějakou knížku o C# nebo .NET někdy přečetl? :D

Nahoru Odpovědět
29.9.2013 18:42
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Osel
Kit:29.9.2013 18:50

Pokud se chceš naučit C#, tak se hlavně nauč OOP. Nejlépe i z jiných zdrojů. Bez znalosti principů OOP budeš v C# jen patlalem.

Nahoru Odpovědět
29.9.2013 18:50
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Osel
Člen
Avatar
Odpovídá na Kit
Osel:29.9.2013 18:59

Jasně, právě proto se ptám na celou vazbu (knihu), kde je to pohromadě, abych OOP pořádně pochopil. Zde nevím proč, pořádně to nepobírám, bude chyba někde ve mě :D Tak hledám jinde i a kompletní niha by byla asi dobrý přínos ;)

Jinak radíte tedy Visual 2010, krok za krokem ? :)

Editováno 29.9.2013 19:00
 
Nahoru Odpovědět
29.9.2013 18:59
Avatar
Odpovídá na Osel
Neaktivní uživatel:29.9.2013 19:02

Zasekl jsem se u OOP, to se mi stalo taky, ale jelikož dělám Javu, sáhl jsem po Pecinovském a jeho knize Myslíme objektově v jazyku Java, v úvodu jsem však zjistil, že učí OOP a ne Javu - tu pouze využívá k naučení toho OOP, tak ho zkus, mezi C# a Javou zas tolik rozdílů není a to OPP se naučíš - já už ho docela chápu jenom díky němu ;) :)

Nahoru Odpovědět
29.9.2013 19:02
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Osel
Kit:29.9.2013 19:07

Myslel jsem to jinak. Aby ses naučil nejprve OOP a teprve potom C#.

Skvělá je i kniha Bruce Eckel: Myslíme v jazyku Java. Naučíš se v ní i TDD.

Nekoukej na to, že ti tady nabízíme knihy o Javě. Jsou to knihy hlavně o OOP. Java je v nich podružná.

Nahoru Odpovědět
29.9.2013 19:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Osel
Člen
Avatar
Osel:29.9.2013 19:19

A v C# nějaká podobná není?.. Jinak díky za rady

 
Nahoru Odpovědět
29.9.2013 19:19
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Osel
Kit:29.9.2013 19:26

Java a C# jsou z pohledu OOP skoro stejné jazyky. Pro C# však není taková motivace učit kvalitní OOP, ale spíš schopnosti a detaily C#.

Nahoru Odpovědět
29.9.2013 19:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:29.9.2013 19:27

Nejsem si úplně jistý, že je dobrý nápad učit někoho nejdřív OOP a pak až nějaký jazyk. Nemůže si to vyzkoušet a opravdu pochopit a ta spousta teorie před tím, než něco opravdu naprogramuje člověka spíš znechutí.

Nahoru Odpovědět
29.9.2013 19:27
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:29.9.2013 19:31

OOP je samo o sobě zábavné. Když se však nejprve začneš učit syntaxi nějakého jazyka, je to pro někoho peklo.

Nahoru Odpovědět
29.9.2013 19:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Luboš Běhounek Satik
David Hartinger:29.9.2013 19:31

Viděl jsem tu knížku a také se mi to nelíbilo.

Nahoru Odpovědět
29.9.2013 19:31
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:29.9.2013 19:41

Vím, jak bylo pro mne obtížné naučit se OOP. A to jenom proto, že jsem příliš dlouho používal imperativní styl. Pak to bylo jako přepnutí: Najednou jsem věděl, jak na to a jak jsou ty různé návody na OOP chybné ve své podstatě. A to jenom proto, že jsou ve svých myslích stále vězněni imperativním stylem.

Nahoru Odpovědět
29.9.2013 19:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:29.9.2013 19:51

Problém je v tom že ty porovnáváš vlastní zkušenost s něčím co si vydedukoval. Dvakrát ses programovat neučil.

 
Nahoru Odpovědět
29.9.2013 19:51
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:29.9.2013 19:56

IMHO je to správné tak, jak jsi se to naučil. Problém je jen v tom, že jsi imperativně psal moc dlouho a nevěděl jsi, že je to jen mezikrok. Po přečtení pecinovského víš, že třída je jako tvar a instance jako kosočtverec a že uděláš stromeček, ale nenaprogramuješ sám nic :)

Nahoru Odpovědět
29.9.2013 19:56
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:29.9.2013 19:57

Kdybys tušil, kolikrát jsem musel zbořit základy toho, co jsem už znal... Zkusil jsi někdy Prolog nebo Lisp? A co XSLT? S imperativním stylem jsi v těchto jazycích zcela mimo a neuděláš v nich vůbec nic.

Nahoru Odpovědět
29.9.2013 19:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Osel
Člen
Avatar
Osel:29.9.2013 20:00

Lidi konečná rada nějaká tedy? Už se rozjíždí diskuze jinam trošku :)

 
Nahoru Odpovědět
29.9.2013 20:00
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Osel
David Hartinger:29.9.2013 20:03

Jak vidíš, tak názor má každý jiný. Nejlépe to pro tebe vyjde tak, když zkusíš všechny možnosti.

Nahoru Odpovědět
29.9.2013 20:03
You are the greatest project you will ever work on.
Avatar
Benjibs
Člen
Avatar
Benjibs:29.9.2013 20:03

Keď už vieš, ako spraviť podmienku, cyklus, a pole, tak prečo neísť hneď do OOP?

Editováno 29.9.2013 20:04
Nahoru Odpovědět
29.9.2013 20:03
1 + 1 = 2
Avatar
Odpovídá na Kit
Michael Olšavský:29.9.2013 20:05

Avšak vždy to bylo programování. Chápal jsi, jak to tam funguje, jen jsi se přizpůsoboval jinému jazyku. Vždy jsi měl k dispozici ty stejné zdroje, pouze jsi je jinak používal. Algoritmizace je vždy také stejná. V tom je ten rozdíl. Programovat se učíš jen jednou od začátku. Pak už je to jen určitý mezikrok při přechodu. Samozřejmě, že OOP je úplně jiný styl vymýšlení programu, ale jednoduše interpretativní programování je základ bez těch věcí okolo. Nevím, k čemu ti bude návrh tříd bez toho, aniž by jsi uměl jednoduchou algoritmizaci. Pokud samozřejmě nebudeš využívat pouze možností jazyka. Ale to už (alespoň pro mně) nejsi pravý programátor.

 
Nahoru Odpovědět
29.9.2013 20:05
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michael Olšavský
David Hartinger:29.9.2013 20:07

Právě proto se mi Pecinovský nelíbí, abys mohl použít OOP, musíš umět programovat. On to vysvětluje na nekonkrétních věcech, kde je neúplná implementace. Samozřejmě to jinak nejde, ale když na to jde člověk opačně a učí procedurální základ a pak přejde na OOP, je to plynulé.

Editováno 29.9.2013 20:08
Nahoru Odpovědět
29.9.2013 20:07
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michael Olšavský
Kit:29.9.2013 20:12

Jenže v OOP je algoritmizace podružná. Nepotřebuješ podmínky ani cykly na to, abys popsal realitu. Při nepochopení podstaty OOP se často píší konstruktory tam, kde jsou zbytečné a naopak chybí tam, kde jsou potřebné. A to i tady na Devbooku.

Nahoru Odpovědět
29.9.2013 20:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michael Olšavský:29.9.2013 20:17

Tak to ti nezávidím tvá omezení. Jako programátor máš algoritmy vymýšlet... Ne jen používat daný jazyk. Jsi poté příliš vázaný na daný jazyk a nedostaneš nikdy nic víc. To si mám stahovat knihovny třetích stran, vázat se na ně...? OOP je sice pěkné, nerad píši bez něj, ale nedržel bych se ho tak striktně. Původní myšlenka OOP byla pohlížet nejdříve na data a až poté na algoritmy. Tím se mělo přiblížit k realitě. Ne tím, že tě omezuje na "realitu vytvořenou programátory před námi". Nikam bychom se pak neposunuli. Navíc tak můžeš porušit architekturu... A zbytečné používání objektů navíc...

 
Nahoru Odpovědět
29.9.2013 20:17
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michael Olšavský
Kit:29.9.2013 20:23

Nepochopil jsi mě. Nestahuji knihovny třetích stran. Jen výjimečně, pokud musím dodržen nějaký formát dat, např. Markdown nebo XML a usoudím, že je zbytečné vynalézat kolo. A můj odpor k uznávaným frameworkům je snad známý.

Nahoru Odpovědět
29.9.2013 20:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:29.9.2013 20:29

Nevím jak u tebe, ale u mě nestačí napsat do třídy název funkce, aby něco dělala.
Musím ji obvykle naplnit nějakým algoritmem, aby se něco dělo.

Je hezké že si načmáráš model reality, ale když ho nebudeš moct bez algoritmů uvést do praxe, tak ti bude k čemu? To už radši znát algoritmy a neznát OOP než obráceně.

Pro mě je důležitá algoritmizace a podružné je OOP.
OOP používám ke zpřehlednění programu, kód rozčleněný do funkcí a tříd je mnohem přehlednější a příjemnější než neobjektový, ale funkční program napíšeš i bez OOP.

Co uděláš se znalostí OOP, bez znalosti algoritmizace?

Nahoru Odpovědět
29.9.2013 20:29
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Michael Olšavský:29.9.2013 20:37

Přesně tak. I bez znalostí OOP dokázali programátoři vymyslet úžasné věci. Ale bez algoritmizace to asi moc nepůjde. Vždyť samotná algoritmizace je dost přibližitelná realitě. Pouze je moc rozkouskovaná. Algoritmem je i to, že jdu na záchod...

 
Nahoru Odpovědět
29.9.2013 20:37
Avatar
Odpovídá na Michael Olšavský
Luboš Běhounek Satik:29.9.2013 20:42

Ono od chvíle, co jsem se OOP naučil, bych už bez OOP nic většího (resp. ani menšího) programovat nechtěl, ale OOP není samospásné.

Nahoru Odpovědět
29.9.2013 20:42
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:29.9.2013 20:46

Dřív jsem se na OOP díval s podobným despektem. Také jsem používal statické třídy a statické metody. Zřejmě si tím musí projít každý programátor.

Nahoru Odpovědět
29.9.2013 20:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michael Olšavský:29.9.2013 20:56

Nestavil bych se nad ostatní... Je to pouze styl. A nedá se s jistotou říci, co je lepší a co horší. Každý má svůj názor.

 
Nahoru Odpovědět
29.9.2013 20:56
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michael Olšavský
Kit:29.9.2013 21:06

Neměl jsem v úmyslu se stavět nad ostatní. Luboš Běhounek Satik mě prostě dráždí, když tvrdí, že používá OOP v C++ :)

Nahoru Odpovědět
29.9.2013 21:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michael Olšavský:29.9.2013 21:19

Ano, OOP v C++ má jinou definici než novodobé. Existují čistě OOP jazyky jak jsi někdy psal, ale v jiných jazycích se jednoduše musí dělat kompromisy

 
Nahoru Odpovědět
29.9.2013 21:19
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:29.9.2013 21:34

"Dřív jsem se na OOP díval s podobným despektem. Také jsem používal statické třídy a statické metody. Zřejmě si tím musí projít každý programátor."

Ego++?

Na OOP se nedívám s despektem, to jen ty ho považuješ za svatý grál :) .

Statické třídy a metody používám tam, kde je to pohodlné, nejsem masochista, abych si referenci na třeba logovací třídu předával po celé aplikaci, ale jinak samozřejmě používám většinou nestatické třídy.

V C++ nic většího než maximálně pár funkcí neprogramuji, C# je pro mě pohodlnější.

A OOP používám hlavně v C#, čímž se už 5 let úspěšně živím (4 roky vývoj hry sponzorované z dotací EU), teď v jiné firmě rok weby v ASP.NET / desktop aplikace ve WinForms.

Ještě něco chceš k mému názoru na OOP vědět?

Čím se třeba živíš ty, když jsi tak sečtělý a víš všechno nejlépe?

Nahoru Odpovědět
29.9.2013 21:34
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:29.9.2013 21:41

Koukám, že tě také dovedu pěkně vyvést z míry :)

Nahoru Odpovědět
29.9.2013 21:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Nahoru Odpovědět
29.9.2013 21:45
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 38 zpráv z 38.