Diskuze: Rady

C# .NET .NET (C# a Visual Basic) Rady American English version English version

Avatar
Osel
Člen
Avatar
Osel:

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):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Osel
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Osel:

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
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

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
Redaktor
Avatar
Odpovídá na Osel
Petr Nymsa:

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:

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):

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  +1 29.9.2013 18:42
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Osel
Kit:

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  +2 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:

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
Mr. Forstak
Člen
Avatar
Odpovídá na Osel
Mr. Forstak:

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  +1 29.9.2013 19:02
Avatar
Kit
Redaktor
Avatar
Odpovídá na Osel
Kit:

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:

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

 
Nahoru Odpovědět 29.9.2013 19:19
Avatar
Kit
Redaktor
Avatar
Odpovídá na Osel
Kit:

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):

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  +2 29.9.2013 19:27
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

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  +1 29.9.2013 19:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Čápka:

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

Nahoru Odpovědět 29.9.2013 19:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

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  -1 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):

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  +1 29.9.2013 19:51
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

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  -1 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:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Osel
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Benjibs
Člen
Avatar
Benjibs:

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ý:

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  +2 29.9.2013 20:05
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michael Olšavský
Kit:

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  ±0 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ý:

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  +1 29.9.2013 20:17
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michael Olšavský
Kit:

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  -1 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):

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  +3 29.9.2013 20:29
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Michael Olšavský:

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):

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  +1 29.9.2013 20:42
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

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  -1 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ý:

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  +1 29.9.2013 20:56
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michael Olšavský
Kit:

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  -1 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ý:

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  +1 29.9.2013 21:19
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

"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  +4 29.9.2013 21:34
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

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

Nahoru Odpovědět  +3 29.9.2013 21:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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.