Avatar
beats.omni
Člen
Avatar
beats.omni:

Ahoj, programuji v C# a mám ho už docela dost prolezlý. Samozřejmě tam budu pořád něco objevovat, ale umím dost na to, abych mohl tvořit aplikace a nepsal jako "prase". Rád bych si studium tohoto konkrétního jazyka proložil studiem "těch věcí okolo". Akorát nevím, kde a u čeho začít. Algoritmy? Nebo něco jiného?

Případně, jakou základní teorii, kromě znalosti syntaxe daného jazyka, by měl programátor ovládat?

 
Odpovědět  +1 2. února 14:41
Avatar
Nahoru Odpovědět  -1 2. února 15:57
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
beats.omni
Člen
Avatar
Odpovídá na Ondřej Langr (andysekcze)
beats.omni:

Ahoj, to jsou ale zase další jazyky. O to mi primárně nejde. Jde mi o dodatečné znalosti, kromě toho jak programovat v daném jazyce.

Co jsem se díval, tak jsem narazil např. na Grafy a grafové algoritmy, Složitost algoritmů, Datové typy - zásobnik, fronta, stromy; Datové struktury, atd. Nevím, co z toho bych měl jako programátor znát hodně dobře a co třebas jen okrajově. S ohledem na to, že pravděpodobně budu programovat "běžné" business aplikace a nic přelomového vynalézat nebudu.

 
Nahoru Odpovědět 2. února 16:10
Avatar
Ondřej Krsička
Redaktor
Avatar
Odpovídá na beats.omni
Ondřej Krsička:

Včera jsem si koupil knihu http://knihy.cpress.cz/…itmy-d2.html a zatím maximálně doporučuju (jsem na straně 45 z 367). Příklady jsou v C++ a je tam to co říkáš + hodně cvičení a právě než jsem si koupil tu knížku tak jsem měl úplně stejný problém jako ty.

Jako jazyk ti můžu doporučit Python, na který jsem přešel ze C#. Když jsem si na něj zvyknul, pocit produktivity oproti C# náramně vzrostl.

Konkrétně třeba na procvičení rekurze je perfektní želví grafika.

 
Nahoru Odpovědět 2. února 16:46
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na beats.omni
Jiří Gracík:

Jestli plánuješ dělat "běžné business" aplikace, tak co Microsoftí databáze? Tam se můžeš učit docela dost a pro většinu aplikací se to bude celkem hodit :)

Nahoru Odpovědět 2. února 17:19
Creating websites is awesome till you see the result in another browser ...
Avatar
beats.omni
Člen
Avatar
Odpovídá na Ondřej Krsička
beats.omni:

Není tohle už trošku náročnější čtení? Případně, co všechno už musím umět, abych rozuměl obsahu té knihy.

 
Nahoru Odpovědět 2. února 18:22
Avatar
Ondřej Krsička
Redaktor
Avatar
Odpovídá na beats.omni
Ondřej Krsička:

Stačí umět základy programování, což umíš. A ano, odpočinková četba to určitě není, ale na matiku bys (podle autora - napsal to v úvodu) neměl narazit.

 
Nahoru Odpovědět 2. února 18:41
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Ondřej Krsička
Taskkill:

ono jak se to vezme zejo, matika je vsude ... prece jenom algoritmy (ty efektivni) jsou prave stavene na nejakych matematickych principech ... ale rekneme, ze je to matika jina nez takova ta analiticka, pocitaci a tak .. je to neco do logiky a nejakeho toho algoritmickeho vnimani .. jinak ano kniha je dobra volba, taky podporuju

 
Nahoru Odpovědět  +1 2. února 18:50
Avatar
beats.omni
Člen
Avatar
Odpovídá na Ondřej Krsička
beats.omni:

Tak matika mi zrovna nevadí, tu zvládnu i trošku náročnější. A pokud pro zbytek je potřeba znát jen základy programování, tak do toho asi půjdu. Díky za tip.

 
Nahoru Odpovědět  +1 2. února 18:53
Avatar
Odpovídá na beats.omni
Štefan Pružinský:

Môžeš sa skúsiť obzrieť po nejakých stránkach precvičujúcich rôzne algoritmy napr. Checkio.org atď. Prípadne sa pusť do nejakého rozsiahlejšieho projektu... :)

Nahoru Odpovědět 2. února 18:56
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Odpovídá na Ondřej Krsička
Jakub Šárník:

Kniha vypadá zajímavě. Já sám bych si taky mohl koupit nějakou knihu o algoritmizaci. Díval jsem se po "Umění programování", ale z nějakého důvodu jsou v češtině jen dva díly a hlavně ten první se už nedá sehnat. Ne že bych tomu v angličtině nerozuměl, ale stejně je četba v češtině lepší...

 
Nahoru Odpovědět  +1 2. února 22:23
Avatar
mayo505
Redaktor
Avatar
Odpovídá na Jakub Šárník
mayo505:

môžeš sa aj vybrať cestou zlepšovania svojho kódu a lepšiemu pochopeniu návrhu väčších aplikácií. To teraz robím ja, na to je kopa kníh napr.
clean code (uncle bob)
Design Patterns: Elements of Reusable Object-Oriented Software (GoF)
niečo s domain driven designom
patterns of entreprise application architecture (Fowler)

Editováno 2. února 23:02
 
Nahoru Odpovědět  +2 2. února 23:02
Avatar
Odpovídá na mayo505
Jakub Šárník:

Zajímavé... ale stejně bych si asi prvně pořídil nějaký "výčet algoritmů". I když návrh aplikací zní taky lákavě. (Mimochodem nejsem zakladatel vlákna :-D)

 
Nahoru Odpovědět  +1 2. února 23:12
Avatar
mayo505
Redaktor
Avatar
Odpovídá na Jakub Šárník
mayo505:

jáj prepáč, to som tak narýchlo označoval, bolo to myslené jemu :D

Editováno 3. února 0:15
 
Nahoru Odpovědět 3. února 0:15
Avatar
hanpari
Redaktor
Avatar
 
Nahoru Odpovědět 3. února 14:22
Avatar
Majkel
Člen
Avatar
Odpovídá na hanpari
Majkel:

Ahoj, na tom odkazu je hromada super knížek. Díky moc.

 
Nahoru Odpovědět 3. února 16:05
Avatar
beats.omni
Člen
Avatar
Odpovídá na Majkel
beats.omni:

Jenom škoda, že v EN. Anglicky pořád něco luštím na webu. Knížku bych raději v mateřštině.

 
Nahoru Odpovědět 3. února 16:33
Avatar
Majkel
Člen
Avatar
Majkel:

Jen tak mimochodem, koukám, že tady nikdo neodpověděl na jednu z původně položených otázek..

Případně, jakou základní teorii, kromě znalosti syntaxe daného jazyka, by měl programátor ovládat?

...to by mě totiž taky dost zajímalo.

 
Nahoru Odpovědět 3. února 16:58
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Majkel
hanpari:

1/ http://checkio.org jak už radili předtím
2/ Odkaz na knihy není zač.

beats.omni
3/ Kašli na programování a uč se anglicky, pokud ti dělá problém číst v angličtině.

 
Nahoru Odpovědět  +1 3. února 17:20
Avatar
hanpari
Redaktor
Avatar
 
Nahoru Odpovědět 3. února 17:24
Avatar
Ondřej Krsička
Redaktor
Avatar
Odpovídá na beats.omni
Ondřej Krsička:

Ta angličtina... Je to běžná angličtina + odborný věci. Čti co nejvíc anglicky a slovíčka co neznáš si zapisuj a občas si je projdi. Časem by to měl být menší a menší problém :-)

 
Nahoru Odpovědět 3. února 17:27
Avatar
hanpari
Redaktor
Avatar
Odpovídá na beats.omni
hanpari:

Pokud vysloveně toužíš po mateřském jazyce, tak si prostuduj tohle:

http://is.muni.cz/…y-text10.pdf

Je to srozumitelný výcuc z této knihy:
http://www.cupress.cuni.cz/…xt/index.jsp?…

ale to už ti přijde jednodušší ta angličtina :)

No a pak pravděpodobně neseženeš tyhle:
http://knihy.cpress.cz/…nalosti.html
http://www.academia.cz/…-vzorce.html

 
Nahoru Odpovědět 3. února 17:44
Avatar
Majkel
Člen
Avatar
Odpovídá na hanpari
Majkel:

Zrovna ty grafy by mě zajímaly, jak se dají použít v praxi. Chvilku jsem studoval základy grafových algoritmů, nikde jsem ale nenarazil na nějakou praktickou ukázku, jak se to používá v praxi.

 
Nahoru Odpovědět 3. února 18:49
Avatar
Jaro
Člen
Avatar
Odpovídá na Majkel
Jaro:

grafy sa používajú vtedy, keď programuješ niečo, čo sa ti dobre reprezentuje pomocou grafu a potrebuješ hladať cesty, súčty váh... grafmi sa dajú reprezentovať rôzne relácie a podobne. Predstav si napríklad mestské MHD, železničnú sieť, aerolinky. Niektoré algoritmy (backtracking) sa dajú použiť na riešenie kadejakých problémov. Na backtrackingu je dokonca založený Prolog (logické programovanie), ono je toho dosť a je celkom dobré mať aspoň prehľad o tom, že také niečo existuje, pomocou grafových algoritmov sa dajú pomerne zložité problémy riešiť jednoducho.

Nahoru Odpovědět 3. února 19:36
A ship is safe in harbor. But then again, that´s not what ships are for.
Avatar
Majkel
Člen
Avatar
Odpovídá na Jaro
Majkel:

No a já jsem právě našel všude jen teorii a nikde žádné příklady, které by mi to přiblížily. Samozřejmě něco polopatě a ne hned nějaký extremní příklad :-)

Editováno 3. února 19:43
 
Nahoru Odpovědět 3. února 19:42
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Majkel
hanpari:

Téměř všechno kolem tebe se dá vyjádřit formou grafu. Sociální sítě, dokumenty, molekuly (typicky uhlovodíky), internet, hledání cesty, zabezpečení průchodnosti silnic pro všechny obce, rozvody a dodávky energií, navigace, mapy, elektrické obvody, atd, atd.

Abys pochopil, k čemu grafy jsou, se napřed musíš naučit svět kolem sebe převádět na grafy. To pdf je stručné a dobré.

 
Nahoru Odpovědět  +1 3. února 20:32
Avatar
Majkel
Člen
Avatar
Odpovídá na hanpari
Majkel:

Tak to pdf mám vytištěné a pomalu ho začnu vstřebávat. Ty máš nějaké praktické zkušenosti s těmi grafy. A pokud ano, nechtěl bys tady na to napsat nějaký článek? :-)

 
Nahoru Odpovědět 4. února 12:01
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Majkel
hanpari:

Pokud začneš řešit úlohy s algoritmy, nakonec na grafy narazíš. Co se týče článku, těžko bych tam napsal něco jiného, než je v tom pdf. Může tě leda zajímat konkrétní implementace v daném jazyce, což je konkrétně v Pythonu knihovna networkx, které je ostatně součástí Anacondy:

https://networkx.github.io/

Nebo si můžeš udělat svoji jednoduchou implementaci.
Lepší bude, když si projdeš pdf a pak se zeptáš, pokud bys něčemu nerozuměl.

 
Nahoru Odpovědět 4. února 13:15
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Majkel
hanpari:

Anebo se podívej na databáze založené na grafech.
http://neo4j.com/…ph-database/

Ale to je jen perlička, pro zajímavost.

 
Nahoru Odpovědět 4. února 13:17
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 30 zpráv z 30.