Kdyz uz jsme u toho, tedy predpokladam, ze tento clanek a nazory ctou spis lidi, co maji Javu a JVM v malicku :-), proc se pri podpore nizkourovnovych operaci zapomelo na indexovani retezcu? Operator + na retezce v Jave je, i kdyz neefektivni (to neva, kdyz clovek vi, co se pod tim skryva), ale "indexovani" pres String.charAt() nepochopim a nepochopim, kdyz i cecko nebo i pitomoucky Basic na to ma [] popr. ().
Já myslím, že je to jedině dobře. Alespoň je větší šance, že si někdo uvědomí, že String je utf-16 řetězec, kde můžou být surrogate páry. charAt pak říká, že chci ten prvek typu char (java tomu říká unicode code unit) na té pozici, pak je ještě codePointAt, která vrací unicode znak (jako int) na dané pozici.
Popravde receno mam sam dost problemy s kontrolou, jestli aplikace skutecne bude pracovat korektne i pro retezce se znaky mimo ucs-2. Samozrejme pro evropske jazyky (vcetne azbuky ci alfabety) neni zadny rozdil, ale jak programy s charAt() budou pracovat i pro 21bitove kodovani je nekdy ve hvezdach :)