Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
První kroky ve Squeaku

mikrom
mikrom (neregistrovaný) 195.91.79.---
22. 7. 2010 1:57 Nový

Re: První kroky ve Squeaku

celé vlákno

Uz sa tesim na dalsie diely serialu.

Pavel Křivánek aura:96
22. 7. 2010 8:40 Nový

Re: První kroky ve Squeaku

celé vlákno

Nemají ty screenshoty být takhle? ;-)
http://img24.imageshack.us/img24/252/worldrv.png
Pro udělání screenshotu stačí pravé tlačítko myši na ploše a vybrat export… > PNG file, zbavíš se dekorace okna.
Neuvažovals nad tím věnovat jeden díl tohoto seriálu i zmíněnému Selfu?

Pavel Tišnovský aura:98
22. 7. 2010 8:55 Nový

Re: První kroky ve Squeaku

celé vlákno

Ahoj Pavle. Ty sis upravil třídu Integer, že 6*9 vychází 42? :-)
Ale samozřejmě máš pravdu, příště udělám screenshoty bez zbytečných dekorací.
O Selfu se toho dá napsat hodně, určitě se k němu dostanu. Ten jazyk je trošku nešťastně přehlížen, těžko říct proč.

Pavel Tišnovský aura:98
22. 7. 2010 9:01 Nový

Re: První kroky ve Squeaku

celé vlákno

ještě uděláme reklamu stařičkému dc :-)
dc -e „6 9*p“
54

Pavel Křivánek aura:96
22. 7. 2010 9:32 Nový

Re: První kroky ve Squeaku

celé vlákno

Ahoj, upravit třídu SmallInteger tak, aby vracela ‚správný‘ výsledek, je jednoduché, ale bohužel násobení optimalizuje přímo interpret, takže i potom je vracen ‚špatný‘ výsledek, protože se metoda pro násobení vůbec nevolá. Volá se jen pokud je kód simulovaný (např. při ladění nebo přímo pomocí ContextPart runSimulated: [6*9]). To by pak k dokonalému efektu vyžadovalo upravit metodu evaluateSelection ;-)

atarist
atarist (neregistrovaný) ---.redhat.com
22. 7. 2010 17:04 Nový

Re: První kroky ve Squeaku

celé vlákno

To bych snad ani nerikal nahlas, ze je nasobeni integeru ve Smalltalku optimalizovane :-) Vzdyt kdyz se v Jave zavadely primitivni datove typy (IMHO strasna blbost), tak se argumentovalo prave tim, ze kdyby se jednalo o objekty, ze by vse bylo pomalejsi a vice narocnejsi na pamet. Me to teda neprislo, proste by se treba 42 chovala jako konstanta tam, kde to ma smysl a objekt jinde.

Biktop
Biktop (neregistrovaný) ---.28.broadband3.iol.cz
23. 7. 2010 1:39 Nový

Re: První kroky ve Squeaku

celé vlákno

A ne snad? Objektově orientované programování je z principu méně efektivní pro počítač. Čím více se vzdaluje programovací jazyk od stroje a blíží se k představám vnuceným člověkem, tím neefektivnější. Navíc to není jediné – např. otáčení oken v Morphicu je taky optimalizované – okna zobrazená normálně (tj. neotočená) se obsluhují jinak, než okna natočená o nenulový úhel. A je toho ještě víc – prostě co vypadá krásně teoreticky, obvykle vychází příšerně neefektivně prakticky.

Pavel Tišnovský aura:98
23. 7. 2010 10:31 Nový

Re: První kroky ve Squeaku

celé vlákno

Nakonec se objektově-primitivní datové typy (takový dualismus :-) do Javy stejně dostaly díky autoboxingu. Samotný překladač v takovém případě rozhoduje, jak kterou konstrukci přeložit, navíc jsou některé „malé“ integerové konstanty optimalizovány i díky použitému bajtkódu.
Ovšem zajímavé je, že překladač například u Integerů skutečně pracuje s objekty a nezjistí si například, že se využívají jen jako nositelé konstant:

public class Test
{
    static {
        Integer a1=6;
        Integer b1=7;
        Integer c1=a1*b1;
        int a2=6;
        int b2=7;
        int c2=a2*b2;
    }
}

Se přeloží do tohoto bajtkódu, kde je vidět (v první části) unboxing a autoboxing, kdežto v části druhé jde o přímé operace nad primitivním datovým typem:

static {};
  Code:
   0:   bipush  6
   2:   invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
   5:   astore_0
   6:   bipush  7
   8:   invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
   11:  astore_1
   12:  aload_0
   13:  invokevirtual   #3; //Method java/lang/Integer.intValue:()I
   16:  aload_1
   17:  invokevirtual   #3; //Method java/lang/Integer.intValue:()I
   20:  imul
   21:  invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
   24:  astore_2
   25:  bipush  6
   27:  istore_3
   28:  bipush  7
   30:  istore  4
   32:  iload_3
   33:  iload   4
   35:  imul
   36:  istore  5
   38:  return
}
Pavel Křivánek aura:96
22. 7. 2010 21:39 Nový

Re: První kroky ve Squeaku

celé vlákno

Byl jsem požádán, jestli bych jednomu klukovi nepomohl, protože z programování má po prvním ročníku střední školy špatnou známku a je to navíc nějaká škola na programování zaměřená. Jsem od něj zjistil, že dělali v Pascalu a dalším ročníku nastupují na C++. Tak jsem se zeptal na pár příkladů, co dělali a co po nich chtěli při zkoušení – třeba měli za úkol nahradit v řetězci všechna slova hvězdičkami krom prvních a posledních písmen těch slov. Prý mu práce s řetězci moc nešla.
Tak jsem se od toho odpíchl a zjistil jsem, že prakticky není schopen sám formulovat podmínky, které ten znak musí splňovat, aby byl prvním či posledním písmenem slova. Zjevně má potíže se základní algoritmizací. Tak jsem si vzpomněl na kolegu z FITu, který mi říkal, jak bych se divil, kolik bakalářů má problém mu třeba jen neformálně popsat recept/algoritmus na vaření párků! Zkusil jsem to a tohle mu naštěstí problémy nedělalo. Takže jsem nahodil Karla a zdálo se, že ten ho celkem bavil a docela mu i šel. Zmínil se, že je škoda, že s tím ve škole nedělali.
Prý u nich s podobnými problémy není zdaleka jediný…

Biktop
Biktop (neregistrovaný) ---.28.broadband3.iol.cz
23. 7. 2010 1:17 Nový

Re: První kroky ve Squeaku

celé vlákno

To je totiž dnes hodně rozšířený problém. Je to dost zajímavé, ale za minulého režimu byli mladí mnohem „počítačově vyspělejší“. Samotnému je mi záhadou, jak se to těm komančům povedlo (s nadsázkou – ti samozřejmě žádné počítače neučili, ale mám na mysli tu dobu), ale i s tím málem, co tu bylo, se povedlo vypěstovat v dětech algoritmické myšlení tak, že do 15 let mohli začít se strojákem, aniž by se v tom totálně ztratily. Možná i proto byl u nás Karel vnímán jako hračka pro malé děti, zatímco byl originálně vytvořen pro studenty VŠ. Vlastně i mezinárodní matematické soutěže naši reprezentanti pravidelně vyhrávali a v různých srovnávacích matematických testech jsme se pravidelně umísťovali na nejlepších místech na světě, zatímco nedávno jsem četl, že naše děti v tomto oboru začaly nevídaně zaostávat a končí spíše jako podprůměrné… Asi to s tím nějak souvisí a bude nutné přehodnotit styl výuky – je to zlé, ale to, co zvládali studenti před 20 lety – v době, kdy mnohokrát ani doma neměli vlastní počítač – už dnešní studenti nezvládají. Někde je chyba.

Michal Kára
Michal Kára (neregistrovaný) ---.dkm.cz
23. 7. 2010 8:03 Nový

Re: První kroky ve Squeaku

celé vlákno

Za prvé, těch „počítačově vyspělejších“ bylo ale malé procento populace, zbytek byl naopak zcela počítačově negramotný ;-)
Za druhé, počítače byly tak drahé / obtížně sehnatelné, že pokud si ho někdo pořídil, tak se tomu většinou věnoval do hloubky.
A za třetí, počítače byly mnohem jednodušší, hardwarově i softwarově, takže se na nich mnohem lépe pochopily principy.

Pavel Stěhule aura:89
23. 7. 2010 9:09 Nový

Re: První kroky ve Squeaku

celé vlákno

Za páté – neexistovali žrouti času jako facebook, internet, televizní seriály – takže bylo víc času – a když se člověk dostal k nějaké dokumentaci, tak si ji náležitě vychutnal. K tomu ještě – výuka IT zahrnovala opravdu malé procento populace – vlastně až na výjimky nadšence / pro ty, co nadšenci nebyli nebyl problém výuku ofixloval – tudíž celkový dojem ze studentů musel být zákonitě jiný – (nižší počty studentů IT/nižší počty vysokoškoláků a pravděpodobně i trochu jiný přístup je studiu).

andy
andy (neregistrovaný) ---.chello.sk
23. 7. 2010 20:26 Nový

Re: První kroky ve Squeaku

celé vlákno

Za sieste vtedy este maso bolo maso, maslo bolo maslo a zelenina bola zelenina.
Okrem toho nie je IT ako IT. Niekto kto nechape stringy asi na matfyz nepojde, podla osobnych skusenost by ma celkom zaujimalo, co robia na FIT 5 rokov?

Pavel Tišnovský aura:98
23. 7. 2010 10:20 Nový

Re: První kroky ve Squeaku

celé vlákno

Ad bod 2 – to je pravda, dobře je to například vidět na ruských programátorech, kteří pořád IMHO patří mezi špičku, a ti, když začínali ještě v dobách SSSR, to měli s dostupností techniky ještě horší.
Ale on vlastně i Simonyi začínal na elektronkovém Uralu a kam to dotáhl :-)

leumas
25. 7. 2010 22:17 Nový

Re: První kroky ve Squeaku

celé vlákno

K tym medzinarodnym matematickym sutaziam – dovod bol ten, ze sa ich vtedy este ucastnilo malo krajin, hlavne chybali aziati, ktori na tychto sutaziach vsetkych drtia. Ale, nie je to take zle, v iformatike sa stale drzime. Pred nejakymi troma rokmi boli Slovaci v sucte bodov treti v poradi krajin (v ostatnych matfyz olympiadach koncia cechoslovaci najlepsie 20.). Takze, nevidel by som to tak bledo, decka nie su sprostejsie, to len prisla vacsia konkurencia z Ciny:-)

Zasílat nově přidané příspěvky e-mailem