Úplný nováček se chce naučit programovat

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Úplný nováček se chce naučit programovat
« Odpověď #75 kdy: 21. 08. 2016, 22:35:05 »
Musim se Javamana zastat. Jaká je výhoda diagramů nebo pseudokůdu oproti kódu v reálném jazyku?
To snad nemyslis vazne. Ved predsa z nakresleneho sa da lahsie pochopit dany problem. a pseudokod je o tom, ze nemusis poznat ani syntax ziadneho jazyka, aby si to pochopil - to je uloha pseudokodu. a UML diagramy snad vies naco sluzia. Pochopit nieco zo sekvencneho diagramu je 100-krat lahsie, ako to studovat v kode.

bullshit. Jaký je rozdíl mezi znát syntax pseudokódu a znát syntax použitelného přesně definovaného jazyka. S těmi diagramy to asi bude subjektivní.
Asi jako rozdíl mezi railroad diagrams a EBNF. To prvé pochopí i takový primitiv jako javaman. EBNF se považuje za hlubší teorii a studenti v tom tápou, byť se jedná o to samé.


gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #76 kdy: 21. 08. 2016, 22:42:41 »

bullshit. Jaký je rozdíl mezi znát syntax pseudokódu a znát syntax použitelného přesně definovaného jazyka.

citujem:
Citace
Pseudokód je kompaktní a neformální způsob zápisu počítačového algoritmu, který používá strukturní konvence programovacích jazyků, avšak nezahrnuje detailní syntaxi jako jsou deklarace proměnných, podprocedury nebo jiné konstrukce specifické pro konkrétní programovací jazyk. Zápis je pro srozumitelnost částečně doplněn popisy podrobností v přirozeném jazyce nebo kompaktně vyjádřeným matematickým zápisem.

Nevím odkud ta citace pochází. V pseudokódu se podprocedury běžně používají. Problém vidím v tom slově neformální. Proč používat neformální zápis, když existuje spousta formálních? Kód v reálném jazyce také nemusí zacházet do detailů. Může používat knihovny. Je dobré mít možnost ten kód spustit a trochu si s ním pohrát.

čumil

Re:Úplný nováček se chce naučit programovat
« Odpověď #77 kdy: 21. 08. 2016, 22:43:01 »
Jasně, kdyby na mě v mejch začátcích někdo skočil s diagramama, a jako uč se programovat podle nich tak bych ho poslal do řitě a asi ani programovat nezačal.

Napřed jazyk ať se to rozhejbe, rozpíská a já nevím co. A pak klidně ty diagramy.

Osobně mě učarovalo když na první hodině pascalu sme napsali hello world a vono to fakt ukázolo to blbý hello world, to mě uchvátilo. Věřím že takhle to má víc lidí.

v

Re:Úplný nováček se chce naučit programovat
« Odpověď #78 kdy: 21. 08. 2016, 22:52:40 »
Základem bude nějaká dobrá VŠ, takže máš tak 2-3 roky na nějakou rozumnou přípravu. Základem jsou obecné algoritmy a datové struktury, takže třeba Wirthova kniha je dobrý začátek - u nás vyšla slovensky pod názvem Algoritmy a štruktúry údajov.
Učit někoho struktury ještě než se naučí syntax random jazyka aby si to zkusil je mimo ...

Syntaxe jazyka je jen formální záležitostí. Datové struktury se dají kreslit propiskou na papíře a algoritmy se dají psát i v nějakém pseudojazyce. Z takových kreseb se pak programuje vcelku snadno.
to zní opravdu zábavně
Ale je to pravda.
no a co?

balki

Re:Úplný nováček se chce naučit programovat
« Odpověď #79 kdy: 21. 08. 2016, 22:55:35 »
;D

Evidentně jste na základce/střední nedělali žádné hry. Tam vám bylo ukradené, jestli používáte správné algoritmy, protože to fungovalo. Ale to lopaty nepochopí, protože ty čekaly, až jim někdo nacpe Pascal a malůvky :D

Znovu souhlas. Také dobrý způsob jak se učit programovat. Jim asi připadá zábavnější kreslit diagramy.


No, lebo na hry algoritmy nie je treba .... Zomg :o  Na strednej sme robili polrocne projekty . Vacsinou hry, lebo deti nerobia podnikove systemy, kde sa algoritmizacia nevyzaduje. Samozrejme, ja som to robil naivne a smatlavo.(lebo som narozdiel od spoluziakov som nebol matematicky genius)  Ucitel poradil algoritmus a hned to islo lepsie. Lopata sposobom ala javaman by som sa na to vysral a skoncil by som najviac tak u hry 15, alebo u cervika.


Kit

Re:Úplný nováček se chce naučit programovat
« Odpověď #80 kdy: 21. 08. 2016, 22:56:53 »
Jasně, kdyby na mě v mejch začátcích někdo skočil s diagramama, a jako uč se programovat podle nich tak bych ho poslal do řitě a asi ani programovat nezačal.

Napřed jazyk ať se to rozhejbe, rozpíská a já nevím co. A pak klidně ty diagramy.

Osobně mě učarovalo když na první hodině pascalu sme napsali hello world a vono to fakt ukázolo to blbý hello world, to mě uchvátilo. Věřím že takhle to má víc lidí.

Samozřejmě Javamanovi nebráníme v tom, aby si nejprve rozhejbal a rozpískal jednoduché programy, než přikročí ke kreslení diagramů a užívání návrhových vzorů. Jinak ani programovat nezačne.

hu

Re:Úplný nováček se chce naučit programovat
« Odpověď #81 kdy: 21. 08. 2016, 23:00:43 »
Jasně, kdyby na mě v mejch začátcích někdo skočil s diagramama, a jako uč se programovat podle nich tak bych ho poslal do řitě a asi ani programovat nezačal.

Napřed jazyk ať se to rozhejbe, rozpíská a já nevím co. A pak klidně ty diagramy.

Osobně mě učarovalo když na první hodině pascalu sme napsali hello world a vono to fakt ukázolo to blbý hello world, to mě uchvátilo. Věřím že takhle to má víc lidí.

Ale jo, taky jsem to tak měl. Ale když chci pochopit nějaký algoritmus nebo datovou strukturu dneska, pseudokódem neopovrhuju, protože obvykle používá jenom nějakou podmnožinu imperativních výrazových prostředků (řídicích struktur) a nezatěžuje implementačními detaily. Zkrátka, ma větší zásah, než ukázková implementace v konkrétním jazyce, neboť není zatížen nutností tento konkrétní jazyk znát. Abych pochopil trie, nemusím k tomu přece znát pointery v céčku a javové reference (ačkoliv jedno z toho pravděpodobně umět budu).

gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #82 kdy: 21. 08. 2016, 23:05:02 »
;D

Evidentně jste na základce/střední nedělali žádné hry. Tam vám bylo ukradené, jestli používáte správné algoritmy, protože to fungovalo. Ale to lopaty nepochopí, protože ty čekaly, až jim někdo nacpe Pascal a malůvky :D

Znovu souhlas. Také dobrý způsob jak se učit programovat. Jim asi připadá zábavnější kreslit diagramy.


No, lebo na hry algoritmy nie je treba .... Zomg :o  Na strednej sme robili polrocne projekty . Vacsinou hry, lebo deti nerobia podnikove systemy, kde sa algoritmizacia nevyzaduje. Samozrejme, ja som to robil naivne a smatlavo.(lebo som narozdiel od spoluziakov som nebol matematicky genius)  Ucitel poradil algoritmus a hned to islo lepsie. Lopata sposobom ala javaman by som sa na to vysral a skoncil by som najviac tak u hry 15, alebo u cervika.

To by me zajímalo co to bylo za algoritmus. V moderních enginech se dá naskriptovat pěkná hra bez velkých znalostí. Algoritmy jsou třeba maximálně pro AI a i to se dá vždy nějak fejknout.

gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #83 kdy: 21. 08. 2016, 23:08:44 »
Ale jo, taky jsem to tak měl. Ale když chci pochopit nějaký algoritmus nebo datovou strukturu dneska, pseudokódem neopovrhuju, protože obvykle používá jenom nějakou podmnožinu imperativních výrazových prostředků (řídicích struktur) a nezatěžuje implementačními detaily. Zkrátka, ma větší zásah, než ukázková implementace v konkrétním jazyce, neboť není zatížen nutností tento konkrétní jazyk znát. Abych pochopil trie, nemusím k tomu přece znát pointery v céčku a javové reference (ačkoliv jedno z toho pravděpodobně umět budu).

Dej mi pseudokód a já ti dám stejně stručnou implementaci.

gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #84 kdy: 21. 08. 2016, 23:15:52 »
Abych pochopil trie, nemusím k tomu přece znát pointery v céčku a javové reference (ačkoliv jedno z toho pravděpodobně umět budu).

Nemluvil jsem o C nebo Javě.

Trie v pythonu s pomocí dictů:

http://stackoverflow.com/a/11016430/1112457


balki

Re:Úplný nováček se chce naučit programovat
« Odpověď #85 kdy: 21. 08. 2016, 23:16:56 »
;D

Evidentně jste na základce/střední nedělali žádné hry. Tam vám bylo ukradené, jestli používáte správné algoritmy, protože to fungovalo. Ale to lopaty nepochopí, protože ty čekaly, až jim někdo nacpe Pascal a malůvky :D

Znovu souhlas. Také dobrý způsob jak se učit programovat. Jim asi připadá zábavnější kreslit diagramy.


No, lebo na hry algoritmy nie je treba .... Zomg :o  Na strednej sme robili polrocne projekty . Vacsinou hry, lebo deti nerobia podnikove systemy, kde sa algoritmizacia nevyzaduje. Samozrejme, ja som to robil naivne a smatlavo.(lebo som narozdiel od spoluziakov som nebol matematicky genius)  Ucitel poradil algoritmus a hned to islo lepsie. Lopata sposobom ala javaman by som sa na to vysral a skoncil by som najviac tak u hry 15, alebo u cervika.

To by me zajímalo co to bylo za algoritmus. V moderních enginech se dá naskriptovat pěkná hra bez velkých znalostí. Algoritmy jsou třeba maximálně pro AI a i to se dá vždy nějak fejknout.

Quadtree na detekciu kolizii v skakacke. Pouzival som sekvencne prehladavanie, tak mi to spomalovalo hru. Min-max algoritmus na cinsku damu. A este nejake prehladavanie s heuristikou, co si nepamatam ani v com to bolo ...   Za mojich cias enginy neboli, programator proste musel vediet programovat. Aj teraz to tak dopadava, ved naco vediet algoritmy, ved engine, a potom to vyhuluje procesor, lebo dotycny nevie poriadne ako funguje engine a co tam ma nastavit.

hu

Re:Úplný nováček se chce naučit programovat
« Odpověď #86 kdy: 21. 08. 2016, 23:21:11 »
Abych pochopil trie, nemusím k tomu přece znát pointery v céčku a javové reference (ačkoliv jedno z toho pravděpodobně umět budu).

Nemluvil jsem o C nebo Javě.

Trie v pythonu s pomocí dictů:

http://stackoverflow.com/a/11016430/1112457

Tak Pythonu se někdy říká kompilovatelný pseudokód :-)

gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #87 kdy: 21. 08. 2016, 23:24:33 »
Tak Pythonu se někdy říká kompilovatelný pseudokód :-)

V jiných jazycích by to nebylo o moc delší. Nevidím důvod proč takovou jednoduchou věc vysvětlovat na pseudokódu.

hu

Re:Úplný nováček se chce naučit programovat
« Odpověď #88 kdy: 21. 08. 2016, 23:29:27 »
Tak Pythonu se někdy říká kompilovatelný pseudokód :-)

V jiných jazycích by to nebylo o moc delší. Nevidím důvod proč takovou jednoduchou věc vysvětlovat na pseudokódu.

Protože pokud to napíšu v Pythonu, bude čtenář muset vědět, co jsou zač dictionaries. Pokud to napíšu v céčku, neobejde se bez pointerů a dynamické alokace, v případě Javy zas bude muset tušit, že je (skoro) všechno reference. Pseudokód je language-agnostic, je to jen o malinko formálnější slovní popis.

gl

Re:Úplný nováček se chce naučit programovat
« Odpověď #89 kdy: 21. 08. 2016, 23:32:37 »
Tak Pythonu se někdy říká kompilovatelný pseudokód :-)

V jiných jazycích by to nebylo o moc delší. Nevidím důvod proč takovou jednoduchou věc vysvětlovat na pseudokódu.

Protože pokud to napíšu v Pythonu, bude čtenář muset vědět, co jsou zač dictionaries. Pokud to napíšu v céčku, neobejde se bez pointerů a dynamické alokace, v případě Javy zas bude muset tušit, že je (skoro) všechno reference. Pseudokód je language-agnostic, je to jen o malinko formálnější slovní popis.

V pseudokódu odkaz na další uzel pojmenuješ jak?