Zajímavý jazyk na diplomku a následné uplatnění v praxi

Kit

Re:zajímavý jazyk na diplomku a následné uplatnění v praxi
« Odpověď #60 kdy: 15. 11. 2017, 23:36:44 »
Nam sice ASCII nestaci, ale uz jsem videl, jak lidi prasi se znakovymi pary, resp. vubec je neresi (a mozna ani nevi, ze to maji resit).

Co si mám představit pod pojmem "znakové páry"? Ligatury?

Toto: http://www.unicode.org/glossary/#surrogate_pair

Jde o to, ze Java (tedy zakladni jazyk nad JVM) pouziva UTF-16, tj. nektere znaky jsou tvoreny dvema po sobe jdoucimi "chary" ve Stringu, protoze "char" ma 16bitu, kdezto nektere jazyky potrebuji az 21 bitu na znak. Vetsinou to automagicky funguje samo od sebe (coz je jadro problemu - kasle se na to), ale uz jsem videl kod, kde se proste spocita pocet "charu" ve Stringu a prohlasi se to za pocet znaku nebo naopak (vidis jak to mate: char nekdy neni znak).

Kde to dela problemy? Vsude tam, kde specka rika neco ve stylu "jmeno bude na 20 znaku", takze se to kontroluje nekde na strane JavaScriptu (tam to bude pocet Unicode znaku, takze v pohode), potom to nekdo pretahne do Javy, kde tech 15 Unicode znaku muze byt take 30 "charu" (takze to napriklad vyhodi vyjimku) a jak se s tim poperou databaze je uz na delsi vypraveni (btw. DB/2 to ma tak domotane, ze se v tom nevyznaji ani na jejich hotline)

Aha, měl jsi na mysli surrogate pairs, tedy čtyřbajtové znaky v UTF-16. To je podobný problém jako čeština v UTF-8, ale lépe schovaný. V Javě ani v PHP raději neměřím délku stringů a vyhýbám se i dalším řetězcovým operacím. Pokud vím, MySQL si s tím poradí, protože na každý znak si rezervuje 4 bajty a ukládaný text zařízne dle parametru ve varchar.

Myslím si, že když programátor nedělá hovadiny, tak se s tímto problémem do křížku ani nedostane.


Re:Zajímavý jazyk na diplomku a následné uplatnění v praxi
« Odpověď #61 kdy: 23. 11. 2017, 00:32:22 »
Pokud chces brat programovani nekdy vubec trochu vazne, tak zapomen na klasicke jazyky, a nech se inspirovat prirodou, napis diplomovou praci o programovani bunek:
http://news.mit.edu/2016/programming-language-living-cells-bacteria-0331

Ted jsem to zrovna zminoval v jinem prispevku a pokud se chces nechat vizualne inspirovat, tak doporucuju:
https://www.youtube.com/watch?v=WFCvkkDSfIU

Tohle by mohla byt hardcore diplomovka. Vzdyt i robota vytvarime k obrazu svemu, jak nas vytvoril zas neko jiny predtim :-)