Hlavní navigace

Názor k článku Světu vládne Python, Trumpa porazí jen Zuckerberg a Facebook opět falšuje čísla od Miloslav Ponkrác - V každém ze zmiňovaných jazyků (i řady dalších)...

  • Článek je starý, nové názory již nelze přidávat.
  • 12. 9. 2017 0:38

    Miloslav Ponkrác (neregistrovaný)

    V každém ze zmiňovaných jazyků (i řady dalších) mám praktické, minimálně několik trvající, zkušenosti. Zcela drsně to začnete cítit, až dostanete požadavek, že program musí umět všechny světové jazyky - a nebo dostanete převodní čískou tabulku, abyste to počínštili pro Asii.

    Z vámi zmiňovaných jazyků PHP řetězce nemá vůbec, nutí vás emulovat práci s textem skrze bajtová pole v nějaké znakové sadě. Nakonec vás stejně donutí pracovat v UTF-8, protože je to jediné kde je plná sada funkcí včetně regulárních výrazů a dalších věcí.

    Java a C# má práci s řetězci v jazyce, na rozdíl od PHP - a má datový typ String. Zde je ale omezení, že unicode řetězec je vnímán jako "pole 16bitových unsigned integerů", a tedy ve skutečnosti je to vnitřně UTF-16 kódování. Takže občas pracuje se znaky (kódovými pozicemi), občas s těmi 16bitovými kódy v UTF-16 kódování - a celkově oba tyto jazyky tím obtěžují, že ne vždy je "znak" skutečným znakem.

    Je vůbec zvláštní, jak mají programovací jazyky problém implementovat bez komplikací a bez obtěžování nějakou znakovou sadou (a nějakými vnitřními reprezentacemi toho řetězce uvnitř jazyka) - takovou základní věc, jak je textový řetězec v dnes standarndím Unicode. Z vámi zmiňovaných jazyků to dokázal pouze Python.

    Jinak dejte si do google "python string" - pokud chcete odkaz na referenci a standard pythonu, nebo "python string tutorial" - pokud chcete něco pro prvotní představu. Lupa by mi asi zakázala komentář, pokud bych sem dal haldu odkazů.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).