Vypadá to jako zajímavý jazyk. Ale rád bych si ještě upřesnil pár detailů :
- dá se definovat pole, kterému některé prvky chybí ?
Např. a=['p','o',,,'l','e']
čemu se ppak rovnají neexistující prvky ? Nil ?
- co se stane, pokud se inicializuje prvek "daleko" mimo současné rozmezí ?
Např a[10]="x"
- když se indexy počítají od 0, co mi vrátí a.index, pokud hledaný prvek není součástí pole ? -1 ?
- co přesně znamená "kontrola mezí indexů" ? Už článek zmiňuje případ, kdy se přidá prvek zapsáním na dosud neexistující pozici, takže to mi není úplně jasné.
- v kapitole o regulárních výrazech vypadá výraz pro test data nevěrohodně. Mám dojem, že by "prošly" i :
.1.2000
1.0.0000
111.111.2002
Jinak díky za perfektní článek. Tento jazyk je docela šikovný a určitě se časem rozšíří.
Odpovím také příklady:
irb(main):002:0> a=['a',nil,nil,'b']
["a", nil, nil, "b"]
irb(main):003:0> a[10]='c'
"c"
irb(main):004:0> a
["a", nil, nil, "b", nil, nil, nil, nil, nil, nil, "c"]
irb(main):005:0> a.index 'k'
nil
Metoda compact odtsraňuje nil prvky z pole:
irb(main):006:0> a.compact
["a", "b", "c"]
irb(main):007:0> a.compact[2]
"c"
Kontrola indexů možná není šťastný termín. Měl jsem na mysli právě automatické přizpůsobení pole a vracení nil při překročení mezí.
Ten regulární výraz není dokonalý - je to spíše ilustrace. Nicméně trojciferný den nebo měsíc by neprošel.
Predne musim pochvalit vas clanek. Prijde mi na velice dobre odborne urovni. Nejvice me pobavil priklad v casti o regex - nahrada 'Python' za 'Ruby'. Clanek me ale stale jeste nepresvedcil, abych tuto nahradu provedl v praxi :)
Nechme vsak polemizovani stranou a polozme si otazku, proc se na skolach (dukazem je treba SPS a VOS Pisek - http://www.sps-pi.cz) neuci nejaky jednoduchy interpretovany jazyk typu Perl, PHP, Python nebo Ruby, proc se zacina "revoluci znamenek" cili Ceckem? Proc jsme se jeden rok ucili molocha Delphi a druhy rok, to nam jeste porad nikdo nevysvetlil ani ty nejmensi zaklady programovani, jsme bez okolku presli na C? Neni neco spatne? Jsou ucitele tak zkostnateli a nedokazou se primet k tomu, aby se ucili neco noveho?
Musím se přiznat, že zmíněný příklad je inspirovaný knihou Programming Ruby. Ale doufám, že smysl pro humor mám i tak ;-)
U té výuky to možná skutečně bude tím, že pro učitele neznamená přechod na nový jazyk "jen" se ho naučit, ale musí si připravit materiály k výuce, což je dosti pracné.
Tezko rict, ale nase skola (kterou nam predhazuji jako elitni skolu v celem kraji) disponuje takovymi "kapacitami", ktere uci metodou napiste 'xyz' udela to 'opq'. Pro ty by jedinym problemem asi bylo prelozit si anglicky tutorial.
Mel bych jeste jeden dotaz. Nevite o nejakem ceskem serveru venovanem opensource programovani? Napriklad builder (http://www.builder.cz) je venovany jen Windows, jiny jsem za cele dopoledne nenasel. Jestlize jsem prehledl nejaky dulezity server, omluvte moji neznalost a dejte mi vedet v teto diskuzi.
Nakonec jednu prihodu z praxe aneb jak se programuje na SPS a VOS Pisek:
Ve 3. rocniku na SPS a VOS se bere programovani mikroprocesoru 8051 v asembleru. Byl ctvrtek a u nas suploval hodinu jeden nejmenovany profesor D. Svuj vyklad zacal nadhozenim problemu - napsat program ovladajici automatickou pracku. Na tabuli nakreslil co je na ktere vyvody zapojeno a dal se do programovani. Kdyz z hlavy (!) napsal 10 radku kodu chtel ho prelozit, jake bylo ale jeho prekvapeni, kdyz mu kompilator vypsal asi 3 syntakticke chyby. Clovek by cekal, ze ho napadne je opravit, ale on ty radky kompletne smazal!!! Program byl sice syntakticky v poradku ale zcela nefunkcni.
To je jen kratka ukazka programovani na pisecke prumce. Dalo by se pokracovat do nekonecna.
PS: Pisu to proto, ze prave mam 4 hodiny "programovani" a cloveku je z toho nanic.