Je zajímavé, že jazyk J byl vyvinut počátkem devadesátých let a přesto nepřevzal některé zažité symboly z ostatních tehdy již rozšířených jazyků, ale definuje vlastní. Například pro <= používá <: , pro přiřazení používá =: místo := . Je v tomu nějaký hlubší důvod, nebo jen autor chtěl být za každou cenu originální? ;-)
Názory k článku
Programovací jazyk J – od hieroglyfů k ASCII znakům
Re: Zažitá notace
celé vláknoMe to taky zarazilo a vysvetluji si to tak, ze si Iverson rekl, ze funkce (=operatory v jinych jazycich) jsou zapisovany jednim znakem, za nimz muze byt pouze tecka nebo dvojtecka a jako spravny matematik se tohoto uzusu drzel :-) Jiny duvod bych tam nehledal a ani kdyz jsem si cetl rozhovory s Iversonem (byl to velmi chytry pan), tak se o tom nezminoval.
Re: Zažitá notace
celé vláknoKonkrétně u přiřazení mě „=:“ místo „:=“ moc nepřekvapuje. Zapadá to do right-to-left koncepce jazyka, zde tedy na lexikální úrovni (neboli je to to samé, jako třeba v Pascalu „:=“, až na opačné postavení rvalue a lvalue).
BTW, úzu. ;) Ale jinak fajn seriál, díky.
Re: Zažitá notace
celé vlákno… clovek necemu musi verit vid? :)
Praktičnost APL, resp. J
celé vláknoNení v dnešní době praktičtější naučit se dělat s Matlabem místo učení se J nebo, nedejbože, APL? Mám teď namysli především čtenáře, co byli v minulých dílech tak odvaření z vektorových (maticových, tenzorových) schopností APL – toho se dá v Matlabu užít taky dosyta a syntaxe není tak, ehm, ortodoxní…
(Jinak ale chápu, že je to seriál o historii)
Re: Praktičnost APL, resp. J
celé vláknoMyslím že v tomto ohledu je nejpraktičnější se naučit numerický python. Výhoda proti matlabu je taková, že když to člověk časem potřebuje, napíše si v pythonu víceméně libovolný program, nejen numeriku.
Re: Praktičnost APL, resp. J
celé vláknoNaopak – spíš bych se vrhnul na J a vykašlal na Matlab a podobné nesmysly. Proč si hrát s vláčky, když můžete řídit vlak? ;-)
par preklepu
celé vláknov prikladu
NB. porovnani prislusnych slozek vektoru a vraceni mensi z nich
1 2 1 <: 3 2 1
1 2 1
by melo byt <. (jestli jsem to dobre pochopil, <: by vratilo matici bool mensi nebo rovno)
v casti o operatoru prirazeni =: je napsano, ze to odpovida sipce dolu z APL, ale jestli si dobre vzpominam, mela by to byt sipka doleva.
Ká34
celé vláknome by zajimalo srovnani J s K popr. Q (kx.com), z jazykoveho hlediska, v cem se odlisuji, a dal napr. porovnani rychlosti apod., nemate nekdo zkusenosti (kdb+ vypada na realne pouzivany databazovy produkt)?
Příklad pořádného programu
celé vláknoSíla J je v ‚tacit programming‘, tedy řazení sloves do vlaků, které umožňuje nejen efektivní zápis, ale také hyperrychlé zřetězené zpracování. Např. na projecteuler.net jsou některá řešení v J rychlejší, než ta v asembleru.
Řešení problému 69 [projecteuler.net]:
([ i. >./) (5&p:) @ i.1000000
nebo třeba problému 28
+/+/\1,4#2*>:i.500
Číst J je sice náročné a pro mě osobně stále ještě těžší, než jej psát, ale vyjadřovací moc je nesmírná.

