Neni trochu zbytecne davat sem dalsi serial o tom, jak programovat ve Squeaku, kdyz uz tu jeden hodne dobry byl (http://www.root.cz/serialy/squeak-navrat-do-budoucnosti/) a tento neprinasi nic noveho?
Názory k článku
Základy programování ve Squeaku - bloky a strukturované příkazy
Re: Duplikovany serial
celé vláknoJa z toho nepomýšlím udělat plnokrevný tutoriál ke Squeaku (toho se již zhostil Pavel), toto byl jen základ Smalltalku, který je nutný v dalších dílech, kde bych se chtěl věnovat právě jeho GUI a taktéž (asi především) projektu Alice – právě tam se teprve dostaneme k jádru, čemu se tento seriál věnuje – programovacím jazyků pro výuku.
Re: Duplikovany serial
celé vláknoĎakujem za seriál, ktorý sa podľa týchto slov nebude referenčný manuál, ale bude sa uberať podobným smerom, ako je to v knihe Squeak – Learn Programming with Robots (http://gforge.inria.fr/frs/download.php/10764/BotsInc-OriginalEnglish.pdf a upravený obraz squeaku s prostredím pre cvičenia podľa tejto knihy http://scg.unibe.ch/wiki/botsinc/).
IMO Squeak je vhodným nástrojom pri výučbe nielen informatiky už pre deti na základných školách (tu môže byť trochu problém s použitým jazykom – nie pre deti, ale, v naších školách žiaľ často, pre vyučujúceho), ale aj pre ostatné predmety, kde je možné urobiť jednoduché simulácie (fyzika, biológia, …), ako je to napr. v článku Alana Kaya http://www.squeakland.org/content/articles/attach/etoys_n_learning.pdf
Re: Duplikovany serial
celé vláknoOdvolavam, co jsem napsal. :-)
vybodnout se na tohle - pokracovat v openGL
celé vláknopresne tak vybodnete se na tohle a zacnete psat dalsi dily serialu u OpenGL, ukazte priklady OpenGL 2.0+ tedy shadery a OpenGL ES. To byl dobry serial, ackoliv nektere techniky tam nebyly probirany vubec. Hry asi moc nepisete.
Re: vybodnout se na tohle - pokracovat v openGL
celé vláknohmm, k OGL se asi ještě dostanu. Hry skutečně nepíšu a vlastně ani nevím, kam se jejich vývoj posledních 5–6 let ubíral, asi i proto mě realtime grafika (na PC) už tak nebaví jako dříve :-)
Poďakovanie
celé vláknoVďaka za serial. Teším sa na ďalšie diely a komplikovanejšie príklady použitia.
hloupej dotaz
celé vlákno
Další velmi důležitou vlastností bloků je to, že jsou vyhodnocovány explicitně, konkrétně po přijetí unární (bezparametrické) zprávy value.
není to spíš – unární / jednim parametrem a nulární / bezparametrický?
Re: hloupej dotaz
celé vláknoVe Smalltalku a tím pádem i ve Squeaku se zprávy rozdělují podle toho, kolika objektů se daná zpráva „týká“. V případě unárních zpráv se týká pouze jednoho objektu – příjemce zprávy – který na zprávu reaguje podle jejího selektoru. Binární zprávy, například 1 + 2 se „týkají“ dvou objektů, příjemce (tím je objekt 1, tj. instance třídy SmallInteger) a parametru (tím je objekt 2).
Re: hloupej dotaz
celé vláknoJeště podotknu, že to hloupej dotaz v žádném případě není, ono to ze začátku „trkne“ každého :-)
Výukový assembler
celé vláknoMá někdo tip na jednoduchý assembler s přehledným IDE vhodným pro výuku? Zkouším pro tento účel použít PicoBlaze IDE (http://www.mediatronix.com/Screenshot.htm), což je hodně blízké tomu, co si představuji, a jediné, co mi na něm trochu vadí, je harvardská architektura, absence push/pop a fakt, že standardní dokumentace k PicoBlaze používá jiné názvy instrukcí.
Re: Výukový assembler
celé vláknoDrobná poznámka. Zjistil jsem, že absolvent prvního ročníku střední školy se zaměřením na programování netuší, co je to faktoriál. Asi je potřeba najít jednodušší příklad unární zprávy :-)
Re: Výukový assembler
celé vláknoVysvětlení faktoriálu snad trvá cca minutu až dvě, ne? ;-)
Re: Výukový assembler
celé vláknohehe a vlezl se vám výsledek do operační paměti?
dc by to teoreticky měl vyřešit:
echo 1000000 | dc -e ‚?[q]sQ[d1=Qd1-lFx*]dsFxp‘
:-)
Re: Výukový assembler
celé vláknono, podle Wikipedie to je 8.2639316883 × 105,565,708
Třída Float už reálné číslo 8.2639316883e556 Squeak bere jako Infinity a
Float infinity size = 2, takže se do do paměti vejde s přehledem ;-)
Re: Výukový assembler
celé vláknoTahle verze bohužel konzumuje zásobník, takže skončí na segfault. Moje o jeden znak kratší verze tohle nedělá, ale myslím, že 1000000 je i na ni moc.
echo 1000000 | dc -e'?d[1-dsa*lad1<b]dsbxszp'
Re: Výukový assembler
celé vláknoNějak jsem nepochopil, jaký assembler chcete učit. Snad všechna DSP mají harvardskou architekturu a instrukce push/pop nepotřebují, nebo mají zásobníky implementované trochu jinak, než to má Intel (z důvodů rychlosti). Mikrořadiče, co se týče harvardské architektury, taky vedou nad Svobodou. A řekl bych, že v dnešní době člověk přijde do styku spíše s Assemblerem pro nějaké DSP nebo mikrořadič, než že by v něm kutil nějaké věci pro x86. Jinak solidní IDE má dle mého názoru i AVRStudio nebo Keil, který podporuje i ARMy.
Re: Výukový assembler
celé vláknoNejde ani tak o výuku nějakého konkrétního assembleru jako spíš o seznámení se s tím, co programování v Assembleru/strojovém kódu obnáší. Pro to je něco jako PicoBlaze ideální – malá množina instrukcí, RAM menší než město v Karlovi ;-), indexované registry. PUSH/POP lze samozřejmě snadno nahradit. Osobně to vidím jako vhodnou průpravu pro C/C++, protože je na tom snadno demonstrují ukazatele (vč. ukazatelů na funkce), problematika předávání parametrů atd.
Re: Výukový assembler
celé vláknoAhoj Pavle,
nestacilo by nakonec neco takoveho:
http://www.6502asm.com/
?
Ja jsem se s tim docela dobre pobavil a vzpomel si na stare dobre casy osmibitu :-) Ma to i video RAM, takze nejenom Karel ale i Logo is possible, pokud si tedy zvladnete se studentem implementovat FP nebo FX operace :-)
Re: Výukový assembler
celé vláknoTak tohle určitě ještě zvážím :-) Bohužel jsem ho neměl k dispozici tak dlouho, jak by bylo potřeba, a konec prázdnin se kvapem blíží. Takže možná se nakonec za Karla nedostaneme. Ale jestli zvládne samostatně to násobení čtyřbitových čísel v Karlovi, co jsem mu dal za domácí úkol, tak bych byl s výsledkem toho rychlokurzu spokojen :-)
Posledně jsem s ním dělal sčítání dvou binárních čísel (reprezentovaných značkami) a to dvěma způsoby – jeden, kdy se zpracuje najednou jeden sloupeček a případně provede přenos doleva, a druhý složitější, kdy se nejdříve sečtou sloupečky a pak se postupně přenesou přenosy. Karel je na výuku opravdu vynikající záležitost.
Re: Výukový assembler
celé vláknoTo je pravda, vetsina mikroradicu ma ROM a RAM oddelene (a v teto oblasti to ma vyznam). Pokud Pavle potrebujes nejaky MCU s jednotnym adresnim prostorem, tj. von Neumanna, tak je tady jeste porad 68HC08 a 68HC11, i kdyz na tom bych popravde asi assembler (pokud se ma jednat o prvni seznameni s nim) neucil, ta instrukcni sada je zpocatku trosku zmatena :-)
Smalltalk
celé vláknoprosím vás prečo píšete o jazykoch ktoré v praxi nemajú žiadne reálne uplatenenie? Veď každý ajtak používa len C#, Javu a C++.
Re: Smalltalk
celé vláknoa na co server o Linuxu, když každý používá Windows.
Re: Smalltalk
celé vláknoNo ja to sem chtel napsat taky ale pak jsem si rikal nebudo trollovat…
Zkuste treba Groovy, ten je dostatecne objektove orientovany. Vice nez Java a programovat se v nem da dobre. Je k nemu grails framework a tak studenti si muzou psat po praci webovky.
Re: Smalltalk
celé vláknoJá bych doporučil spíš Scalu (když už jsme u těch webových frameworků, Scala má Lift). Autor Groovy sám má ke Scale velký respekt: http://macstrac.blogspot.com/2009/04/scala-as-long-term-replacement-for.html
Re: Smalltalk
celé vláknoCitace z článku autora Groovy pro rychlost: I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy.
Given that MrJava, MrJRuby and MrGroovy are all tipping Scala as javac's long term replacement, there might be something in it. So what are you waiting for; get the Programming in Scala book or the O'Reilly Scala book and start having fun :)
Tím nechci říct, že je Groovy k ničemu, ale Scala mi osobně přijde ve většině situací výhodnější.
scala
celé vláknoscala jako statický jazyk bude vždý rychlejší než dynamicky typovaný jazyk. Na Groovy/Grails je dobré to, že jej podporuje springsource a tak se dá koupit kvalitní support, který v případě potíží rychle pomůže.
Re: scala
celé vláknoMáš s podobným supportem nějaké praktické zkušenosti?
Re: Smalltalk
celé vláknoProtože mu je asi jasný, že se velmi podobná věta říkala už dávno: „proč používat nějaký podivný C, když přece všichni ajťáci znají Fortran“, „naco nějaká Java/C#, vždyt céčko stačí pro všechny“ atd.
Btw. proč vlastně učit „algoritmy“ sčítání a násobení, když to zvládnou počítače a kalkulačky za nás.
Re: Smalltalk
celé vláknoAjťák možná. Ale průměrný ajťák ví o počítačích kulový (jen si myslí, že něco ví, ikdyž ví prd). :-) A skuteční odborníci na počítače a programování to vidí úplně jinak. ;-)
Re: Smalltalk
celé vláknoTo asi nebudou zadni poradni ajtaci :-)
Jeste bysme meli napsat Paulu Grahamovi, at ve svych startupech prejde z Lispovskych jazyku na C#, ze je jinak looser… Taky Google se svyma dynamickyma jazykama je looser…
Re: Smalltalk
celé vláknoJasně, samej looser o který by si LeninPOWER! ani neopřel kolo ;-)

