Zpět na článek

Diskuze: Blok sem, blok tam: Vrací kopenogramy úder?

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

nemo
nemo
Level 20 Level 20
21. 4. 2017 22:28

Komentáře tohoto uživatele máš zablokované.

Zaujimavy clanok, ako skoro vzdy.
Tema je ale asi na dlhsiu diskusiu. Na jednej strane dnes uz aj jednoduche zariadenia obsahuju logiku a obvody ktore svojou zlozitostou prekonavaju to co pred 20-30 rokmi boly skoro vychytane highend obvody. Dnes popularne RaspberryPi je z dnesneho pohladu primitivny a jednoduchy all in one pocitac ale v porovnani s 8bitmi je to ako superpocitac. A teraz je otazne ci ma zmysel alebo ci su na to moznosti ucit vsetko od uplneho zakladu alebo proste to postavit do roviny ze toto je CPU a vykonava to tieto instrukcie. Ano je to dvojsecna zbran, casom ani odbornici z oblasti vlastne nebudu vediet do detailu ako veci funguju, na druhu stranu je to vobec potrebne a hlavne mozne pri tej zlozitosti a komplexnosti ? Osobne si myslim ze to nieje stastna cesta, ale aj dnesna prax ukazuje ze javascript, python a html je viac sexy ako low level.
A ukazuje to este na dalsi paradox. Pri dnesnom trende digitalizacie sa casto zabuda aj na sice stare ale dobre riesenia. Potom sa zacne optimalizovat algoritmus, pouzije sa viac pameti, rychlejsie prevodniky a znizi spotreba aby potom niekto "objavil" ze vlastne ten low pass filter sa da vyrobit za par supov z par analogovych suciastok.

rnb
rnb
Level 0 Level 0
22. 4. 2017 08:27

Komentáře tohoto uživatele máš zablokované.

@nemo Dnešní praxe se nijak neliší od dřívější praxe, dříve jsi strávil 3 roky v Basicu a zjistil jsi Basic pro vážnější práci vůbec není sexy. Dneska je to nemlich stejné, jenom místo Basicu je Javascript/Python.

nemo
nemo
Level 20 Level 20
23. 4. 2017 23:59

Komentáře tohoto uživatele máš zablokované.

@rnb Nie uplne. Mnohe sw koncepty boli teoreticky zname a zalozene uz relativne davno, cize aj v tych 80tych, 90tych rokoch teoria bola len nebol vykon. A ten sa prave raketovo vyvyjal len ten SW zacal zaostavat. Este koncom 90tych to nebolo tak markantne ale kruto to ukazali prave roky potom. A dnesny stav je nepriamy dosledok tohto vyvoju. Dnes je vyvoj nakladny a narocny preto sa setri kde sa da - lepi sa jedno cez druhe, na optimalne riesenia sa nehladi lebo vykonu je relativne dost, respektive nejak kruto optimalizovat sa ani neoplati (bavime sa o beznej business sw praxi nie o specifickych pripadoch), scriptovacie jazyky su fasa lebo davaju "instantny" vysledok. No a zatial co c/c++ a podobne jazyky navrhovali akademici a tak to aj vypada, dnes je zasa opacny extrem kde mam niekedy pocit ze to tvoria opice hlav nehlava.

Vincent Vega
Vincent Vega
Level 1 Level 1
22. 4. 2017 00:53

Komentáře tohoto uživatele máš zablokované.

Cože?

rnb
rnb
Level 0 Level 0
22. 4. 2017 08:22

Komentáře tohoto uživatele máš zablokované.

Pokusy o grafické vyjádření programu se periodicky opakují více než 20 let a mimo hračky a výukové záležitosti nikdy neuspěly. Důvodem je očividný paradox, že grafická vyjádření místo aby situaci usnadňovaly, tak ji zesložiťují a vyjádřit graficky soudobé jazyky jako třeba C# je prakticky nemožné.

Na hračky pro děti to ale může být skvělé.

gngl0
gngl0
Level 1 Level 1
23. 4. 2017 17:56

Komentáře tohoto uživatele máš zablokované.

@rnb Jinak samozřejmě grafické jazyky jako takové jsou docela problém. Poměrně často jsou nižšího řádu, takže např. reprezentace kódu jako vstupů jiného kódu je nesnadná, nebo dokonce nemožná. Nutno ovšem dodat, že takováto notace se často používá spíš na specializované problémy, kde může programujícím nespecialistům usnadnit nějakou hodně konkrétní doménu aplikací.

gngl0
gngl0
Level 1 Level 1
23. 4. 2017 17:52

Komentáře tohoto uživatele máš zablokované.

@rnb Mám takový pocit, že si pletete grafické jazyky a strukturované editory. Ty bloky jsou izomorfní s prvky textové syntaxe jazyka a strukturovaný editor pouze omezuje výběr editovacích akcí, které můžete provádět (s tím, že každá úprava zachová platnost programu, na rozdíl třeba od vložení náhodného znaku na náhodné místo ve zdrojovém souboru). Znázornění C# v této podobě jen stěží bude nemožné (což samozřejmě neznamená, že to bude praktické, ale to už je jiná otázka).

rnb
rnb
Level 0 Level 0
24. 4. 2017 07:13

Komentáře tohoto uživatele máš zablokované.

@gngl0 ... proto jsem uvedl "prakticky nemožné" :D

nobloch
nobloch
Level 33 Level 33
22. 4. 2017 08:43

Komentáře tohoto uživatele máš zablokované.

Pan Pecinovský mě učil programování na VŠE. Od té doby nemůžu Javu ani vidět.

Xcute
Xcute
Level 1 Level 1
22. 4. 2017 15:38

Komentáře tohoto uživatele máš zablokované.

Já myslím, že to bude podobně, jak uvádíš ve druhé kapitole - z pohledu laika. Návyky z ultramobilních, ryze konzumních, zařízení se nebudou přenášet na platformy považované za ryze pracovní - ne v takovém rozsahu, si myslím. Myslím, že Blockly apod. jsou spíš jen doplňkem na cesty, pro někoho, kdo už se v kódování víceméně orientuje.

Jinak jako "z jara" - měl bych s kódováním někdy už konečně začít, jenže ono je tolik jiných věcí, co dělat.

Mmchk
Mmchk
Level 16 Level 16
22. 4. 2017 19:47

Komentáře tohoto uživatele máš zablokované.

Nejsem profi programator - jsem spis tlacen nutností... ale jako pro laika je nejlepsí systém blueprintů který pouzívá unreal - delal sem v c# v unity a problem byl ze kdyz sem kod pul roku nevidel, tak mi trvalo dlouho se do nej dostat... v unrealu je mi vec jasna jen z tvaru struktury, coz je naprosto super - doporucuju smrknout

Samboush
Samboush
Level 21 Level 21
23. 4. 2017 11:36

Komentáře tohoto uživatele máš zablokované.

U 8 bitů bylo nativních 8 bitů - např Z80, tzn jednobytové instrukce zabírala nejméně taktů. A to včetně skoků. Tzn se používal relativní skok. Který hopsal, 128 bajtů dopředu a 127 dozadu.
Z toho lze odvodit i délku kódu mezi skoky. Výhoda toho bylo, že takovej program běžel kdekoliv v paměti, tzn nepožeboval přesné umístění, ale díky relativním skokům fungoval bez úprav kdekoliv v RAM. Rozšíření o další RAM probíhal tak , že například mělo horních 32KB shadow banku, která se zapla poslání Out určité hodnot na určitej port. A pokud samotnej přepínací kus kódu běžel v jedné bance OUT vyvolal přepnutí na druhou banku a program pokračoval na další adrese v přepnuté bance. A zase naopak.
POKE: i když "BIOS" byl umístěn v ROM, tak měl svoji konfiguraci umístěnou v RAM, a dalo se to používat jako registry. Basic umožňoval některé hodnoty modifikovat přímo, ale na zbytek byl podle specifikace - adresa , kde to leží a jakou to má dýlku pravě POKE. Neleželo tam jen sada proměných systému, ale táky adresy s odkazy na různou funkčnost. Tzn je šlo pomocí POKE modifikovat a změnit například defaultní loader za jinej, nebo tiskocou rutinu atd. Nebo prostě v BASICU pomoci POKE nacpat někam binární data a spustit pak něco přímo v ASM.
K těm barevnem blokům. Jedna věc je samotnej algoritmus, kus funkčního kódu. to je asi jepší psát ručně, ale ty funkční algoritmy jsou uspořádány do fukčních celků a to už se ty rámečky celkem hodí, nebo na návrch datovejch objektů, nebo tvorbu celý logický architekrury atd.
Pak tu jsou tzv design patterns, což už je zase jiná pohádka a tam se to montování z obrázků vyloženě hodí.
Během vývoje se používalo například u WWW různý kontent systémy, kde se funkčnost dávala dohromady z pevnejch celků a jen se to konfigurovalo, tzn jedna kostička za druhou - inject toho a samého kusu kódu, jen se před něj nasypal nějakej parametr, který ovlivnil jeho chod.
Podobný to je jak proběhl nějakej článek o tom, jak se AI učí programovat, tak , že dáva dohromady podle funkčnosti sobě známé kusy kódu a snaží se dosáhnou požadovaného výsledku.
Osobně si myslím, že v době kdy na kapacitě v případě programů přestalo záležet,ale naopak frčí funkční programování, a je tu obrovská poptávka pro unikátni funkčnosti výsledného kódu, je to cesta do budoucna, kdy člověk nebo autobat bude na základě požadavku vhodně montovat dogromady přednaprogramovaný kostičky kódu propojené universálním designem do unikátní požadované funkčnosti s neomezenou dovedností paralelního provozu.
Jsou tu jazyky jako SCALA a další , který jdou tímto směrem.
A určitě budou vznikat čistě visualní nástroje, který laikům dovolí jen se znalostí jejich problematiky vytvořit vysoce efektivní program. :D

kelley
kelley
Level 26 Level 26
24. 4. 2017 09:46

Komentáře tohoto uživatele máš zablokované.

@Samboush Doplnění doplnění: Relativní skoky zajišťovaly tz. "relokovatelnost" (tedy tu nezávislost na umístění v paměti) programu. Dokonce se tenkrát vedly spory, jestli je relokovatelnost nuttná a užitečná...
POKE - ten příkaz byl přece vynalezen kvůli cheatování her na osmibitech :lol:

Survivor80
Survivor80
Level 1 Level 1
24. 4. 2017 13:53

Komentáře tohoto uživatele máš zablokované.

Zkoušel jsem Colobot. Při prvním průchodu hrou jsem si vytvořil prográmky a při druhém hraní už jenom nechával programy vykonat.
Hloupé je, že bohužel nemám mozek, který by byl schopen zvládnout i něco složitějšího, už i u Colobot jsem se musel sakra snažit, abych se v tom vůbec vyznal, už jsem se pak v tom ztrácel.
Takže zkusil jsem, ale programátor ze mně fakt nebude. Kebule nestačí.

jendabek
jendabek
Level 2 Level 2
27. 4. 2017 16:15

Komentáře tohoto uživatele máš zablokované.

@Survivor80 Pokud máte pocit, že by vás programování bavilo, tak se hlavně nevzdávejte a zkuste si dle návodu vytvořit třeba HTML stránku, později doplnit o JavaScript atd. Ono ne vždycky člověk musí být bedna, aby se v tomto oboru uplatnil (z vlastní zkušenosti) :D
Někdy je to spíš o trpělivosti a nadšení pro věc, nesmí samozřejmě chybět nějaké základní logické uvažování (i když i to se dá myslím časem zlepšit) a schopnost dohledat si co neznám. A hlavně pořád hledat způsoby, jak další projekt zpracovat lépe.
Samozřejmě jiný případ je, pokud byste měl ambice na opravdu náročné pozice / projekty, kde je potřeba dlouholetých zkušeností, případně znalosti matematiky atd., ale to se mi nejeví, že by bylo vaším cílem :)

Reklama
Reklama