Merkistöistä

  • Keskustelun aloittaja Keskustelun aloittaja JCSH
  • Aloitettu Aloitettu
Pointtina ei ole se, että se tiedonsiirto olisi muka uusi juttu. Pointtina on se, että sille tiedonsiirrolle on tullut uusia vaatimuksia sitä mukaa kun niiden tietojärjestelmien käyttö laajenee.
Toistan nyt ties kuinka monennen kerran:
Pelkästään EU:n sisällä tarvitaan 4 eri 8-bittistä legacymerkistöä. Tai siis tarvittaisin, jos ei olisi sitä Unicodea. Mutta koska se Unicode löytyy, niin sitä käytetään, ja sillä vältetään kaikki ne ongelmat, mitä monien eri 8-bittisten merkistöjen sekakäytöstä tuli aiemmin. Eli verottajankin softat ovat hyvä esimerkki paikasta, jossa sille Unicodelle on nykyaikana oikeasti tarvetta.
Erittäin suurelle osalle tietojenkäsittelyä 4 eri legacymerkistöä ei ole olennainen ongelma. Osaltaan kyse on siitä, että ongelmatilanteille on aikaa sitten kehitetty kelvolliset ratkaisut. Esim. meillä oli ensin lokinsiipi-ASCII, sitten/rinnalla PC-merkistö ja sitten ISO-Latin1. UTF-8 on perfektionistinen ratkaisu, jota ilmankin pärjää monessa. Toki silläkin on paikkansa aidosti kansainvälisessä toiminnassa.
Tuo puhe "UTF-8 viruksesta" alkaa kyllä jo kuulostamaan pahasti foliohattuilulta. Lisäksi tuo kuulostaa siltä, että kerta koko maailma on jo siirtynyt sinne UTF-8:n käyttöön, eikä siitä ole seurannut mitään massiivisia ongelmia, niin sun pitää maalailla jotain näkymättömiä ja toteutumattomia uhkakuvia.
Ei kyse ole siitä, etteikö UTF-8:aa voisi toteuttaa oikein. Tietenkin voi, kunhan koodi tehdään alusta pitäen UTF:n ehdoilla mutta joka tapauksessa koodista tulee tehottomampaa kuin 8-bittisellä merkistöllä. Koodin tehottomuus on ihan oikea ongelma ja toinen oikea ongelma on se, että UTF rikkoo 8-bittiset koodit.

IT:n kuluttama raaka sähköteho alkaa olla konkreettinen ongelma. Osaltaan kyse on laskennasta mutta osansa on myös tekstimuotoisen datan käsittelystä, mm. big datan louhintaa ja AI:n opettamista. Jos aivan perustason tekstitoiminnot on rautatasolla tehottomampia, niin kyllä sille alkaa hintaa kertyä.

Länsimaat saavat kilpailuetua Aasiaan verrattuna, kun voivat käsitellä tekstit 8-bittisinä vaihtuvapituisen UTF:n sijaan. Miksi tämä etu heitetään romukoppaan vapaaehtoisesti?
Lisäksi kuten olen jo aiemmin sanonut, joo, kaikki vanhat legacykoodit eivät toimi Unicoden kanssa. Mutta tuo ei ole mikään syy olla käyttämättä sitä Unicodea uusissa järjestelmissä. Vanhat legacy softat sitten joko muutetaan Unicoden kanssa yhteensopiviksi tai käyttäjien täytyy tietää mitä tekevät.
Miten Fortran tai COBOL tukevat UTF:aa? Koko vakiomuotoisen tietueen käsite menee romukoppaan, jos pitää varautua vaihtuvapituisiin merkkeihin.

COBOLissa näyttää jonkinlaista tukea olevan mutta miten sen käyttö vaikuttaa koodin tehokkuuteen?

Jos on kyse laskentaohjelmista, niin on muuten ihan jäätävä urakka konvertoida joku miljoonarivinen koodi UTF-yhteensopivaksi - ja miksi? Onko se todellakin tehokkaasti käytettyä aikaa, sen sijaan että kehittäisi algoritmeja paremmiksi?

Tuo softa ei toimi kunnolla edes non-unicode ympäristössä. ASCII on 7-bittinen merkistö joka sisältää ainoastaan kirjaimet a-z. Eli edes tavanomaisia ä- ja ö-kirjaimia ei voi käyttää tuon ohjelmiston kanssa.
Pedantisti näin, mutta hyvin harvoin ohjelmisto tekee eroa 7- ja 8-bittisen tekstin välillä. Kun lähdekoodikin on saatavilla, niin voi jopa olla mahdollista osoittaa, että koodi on sellaisenaan 8-bit yhteensopiva.

Ihan triviana, miten kauas historiaan pitää mennä, että CPU olisi tehnyt eroa 7- ja 8-bittisen datan välillä? Esim. 36-bittinen PDP (1966) voisi kai pakata 5 ASCII merkkiä/sana. Tiedonsiirrossa 7bit+pariteetti on ollut yleisempi, mutta jo 80-luvulta lähtien 'historiallisista syistä'. 8bit+pariteetti olisi yhtä lailla mahdollinen, jos halutaan pariteettitarkistus.
 
Erittäin suurelle osalle tietojenkäsittelyä 4 eri legacymerkistöä ei ole olennainen ongelma. Osaltaan kyse on siitä, että ongelmatilanteille on aikaa sitten kehitetty kelvolliset ratkaisut. Esim. meillä oli ensin lokinsiipi-ASCII, sitten/rinnalla PC-merkistö ja sitten ISO-Latin1. UTF-8 on perfektionistinen ratkaisu, jota ilmankin pärjää monessa. Toki silläkin on paikkansa aidosti kansainvälisessä toiminnassa.

Paitsi että ne eivät koskaan olleet mitään kelvollisia ratkaisuja. Ne aiheutti jatkuvasti kaikensorttisia yhteensopivuus ongelmia, rikkinäisiä tai hylättyjä inputteja, korruptoituneita outputteja, merkkien rendaukset päin vittua jne. jne. Tuon takia nykyään käytännössä kukaan ei enää käytä niitä, jos on mahdollisuus käyttää sitä Unicodea. Koska Unicode korjasi nuo ongelmat.
"Aidosti kansainvälinen toiminta". Koko IT-ala on aidosti kansainvälistä. Olen aika varma, että tuonkin viestin kirjoitit jollain kansainvälisille markkinoille tähdätyllä selaimella, jota ajat kansainvälisille markkinoille tähdätyllä käyttöjärjestelmällä, foorumille, joka pyörii kansainvälisille markkinoille tähdätyllä softastackillä.

Ei kyse ole siitä, etteikö UTF-8:aa voisi toteuttaa oikein. Tietenkin voi, kunhan koodi tehdään alusta pitäen UTF:n ehdoilla mutta joka tapauksessa koodista tulee tehottomampaa kuin 8-bittisellä merkistöllä. Koodin tehottomuus on ihan oikea ongelma ja toinen oikea ongelma on se, että UTF rikkoo 8-bittiset koodit.

IT:n kuluttama raaka sähköteho alkaa olla konkreettinen ongelma. Osaltaan kyse on laskennasta mutta osansa on myös tekstimuotoisen datan käsittelystä, mm. big datan louhintaa ja AI:n opettamista. Jos aivan perustason tekstitoiminnot on rautatasolla tehottomampia, niin kyllä sille alkaa hintaa kertyä.

Länsimaat saavat kilpailuetua Aasiaan verrattuna, kun voivat käsitellä tekstit 8-bittisinä vaihtuvapituisen UTF:n sijaan. Miksi tämä etu heitetään romukoppaan vapaaehtoisesti?

AI/ML on esimerkki siitä, miten se Unicode on helvetin tärkeä asia. Jos meillä olisi vielä legacy 8-bittiset merkistöt käytössä, niin tekstipohjaiset ML-mallit pitäisi kouluttaa erikseen jokaiselle eri merkistölle. Sen sijaan, että meillä olisi yksi malli, joka ymmärtää sitä UTF-8 syötettä, meillä olisi se pari tusinaa eri malleja, joista jokainen ymmärtää vain sitä omaa syötemerkistöään. Tuo vasta olisi ajan ja energian tuhlausta.
Lisäksi koska ML:ssä merkkaa se koulutusdatan määrä ja monimuotoisuus, niin kun se koulutusdata jakautuu eri 8-bittisiin merkistöihin, niin jokaisen yksittäisen 8-bittistä tekstiä ymmärtävät mallin koulutusdata suppenee. Joka mitä todennäköisemmin tekee siitä mallista huonommin toimivan. Oikeastaan jos joku ML-malleja treenaava devaaja joutuisi käsittelemään eri 8-bittisiä inputteja, niin olen aika varma, että hän ensimmäisenä ottaisin kaikki ne eri 8-bittiset merkistöt, konvertoisi sen datan Unicodeksi ja sitten kouluttaisi mallinsa sillä.

Taaskin väite kilpailuedusta on täysin irrallaan todellisuudesta. Miten helvetissä me saataisiin kilpailuetua siitä, että tehdään hommat vaikeammin ja vähemmän yhteensopivasti muun maailman kanssa? Nyt kun me länsimaissa käytetään Unicodea, niin me voidaan erittäin helposti myydä ne meidän tekemät softat myös sinne Kiinaan, Japaniin, Koreaan, arabimaihin, jne. jne. jne. Jos me käytettäisiin omissa softissa 8-bittisiä merkistöjä, niin tuo tulisi helvetisti vaikeammaksi.
Kun taaskin sitä Unicodea käyttävä muu maailma pystyisi myymään softaansa niin muuhun maailmaan kuin myös länsimaihinkin. Kerta se Unicode kuitenkin toimisi myös länsimaissa.

Miten Fortran tai COBOL tukevat UTF:aa? Koko vakiomuotoisen tietueen käsite menee romukoppaan, jos pitää varautua vaihtuvapituisiin merkkeihin.

COBOLissa näyttää jonkinlaista tukea olevan mutta miten sen käyttö vaikuttaa koodin tehokkuuteen?

Jos on kyse laskentaohjelmista, niin on muuten ihan jäätävä urakka konvertoida joku miljoonarivinen koodi UTF-yhteensopivaksi - ja miksi? Onko se todellakin tehokkaasti käytettyä aikaa, sen sijaan että kehittäisi algoritmeja paremmiksi?
Kuinka monta kertaa tämä pitää sanoa?
Jos niitä vanhoja softia ei pystytä/ei kannata muuttaa Unicodea tukeviksi, niin sitten niitä ei muuteta. Se ei tarkoita, etteikö uusia softia kannattaisi tehdä Unicoden päälle.
 
Taaskin väite kilpailuedusta on täysin irrallaan todellisuudesta. Miten helvetissä me saataisiin kilpailuetua siitä, että tehdään hommat vaikeammin ja vähemmän yhteensopivasti muun maailman kanssa? Nyt kun me länsimaissa käytetään Unicodea, niin me voidaan erittäin helposti myydä ne meidän tekemät softat myös sinne Kiinaan, Japaniin, Koreaan, arabimaihin, jne. jne. jne. Jos me käytettäisiin omissa softissa 8-bittisiä merkistöjä, niin tuo tulisi helvetisti vaikeammaksi.
Kun taaskin sitä Unicodea käyttävä muu maailma pystyisi myymään softaansa niin muuhun maailmaan kuin myös länsimaihinkin. Kerta se Unicode kuitenkin toimisi myös länsimaissa.

En tuota kilpailuetua lainkaan tajunnut, kansallisesti tehtäisiin jotain viritystä että sujuisi edes meidän kansalliset kielet, joka olisi rikki jo ihan sisämarkkinoilla.
Ihan tarpeeksi jumppaa vanhojen juttujen perässä raahamisessa, joten samaa mieltä että niistä pitäisi päästä eroon, ei luoda lisää samaa ongelmaa.

Ja kansallisesti meillä ehdottoman tärkeää että meidän merkistöt olisi tuettuna ja tukea sitä että niin myös olisi.

Jos jossain tietokannassa on energiasäästöä, niin taitaa usein olla jostain muusta kyse. ja jos on kyse kentistä missä ihmisen luettavaa sisältöä, niin varmaan ihan plussaa että ne on siellä sellaisella merkistöllä mikä tukee sellaisenaan kaikkia. Oli sitten kyse nimestä, katuosoitteesta, sähköposti osoitteesta, niin menee vähän vaikeeksi 8 bittisillä, jos vapaata tekstiä niin samoin. Lähinnä noloa jos joku pikku paikallis kerho käyttäisi 8bit merkistöä, eihän kenenkään osoite ole ASCII ulkopuolelle, entäs sitten kun yksi jäsen muuttaa, toinen vaihtaa nimeä, esim menee naimisiin., mailiosoite vaihtuu.

80 luvulla vielä pysty selittään että sori ääkköset, mutta ei enään.

Jos resurssit ei riitä sähköön, niin listalla taitaa olla liuta muita asioita mistä tingitään aiemmin, tai toivottavasti jostain muusta kuin siitä että nimet on oikein.

Ja todennäköisesti jos joku valitsisi sen 8 bittisen ACSCIIn, niin sitä sitten aletaan paikkaileen jos ei ihan AIllä, niin melkein.
 
Viimeksi muokattu:
Taaskin väite kilpailuedusta on täysin irrallaan todellisuudesta. Miten helvetissä me saataisiin kilpailuetua siitä, että tehdään hommat vaikeammin ja vähemmän yhteensopivasti muun maailman kanssa?

Ei mikään täysjärkinen softatalo enää väkipakolla käytä näitä 80-luvun rajoitettuja merkistöjä jos voidaan tukea Unicodea. Tässä nyt hakataan kuollutta pollea. Unicode-juna meni jo aikoja sitten, eikä muutama 80-luvulle haikaileva todellisuudesta irrallaan oleva ulisija enää muuta asiaa mihinkään. Toimimaton legacy-paska vähenee koko ajan ja sitä korvataan uudemmalla koodilla, joka tukee Unicodea. Käytetään uudempia ohjelmointikieliä ja kirjastoja, joiden kanssa Unicode toimii saumattomasti ilman ongelmia. Käytetään standardeja, jotka ovat jo rakennettu Unicode huomioiden.

Se on nimenomaan kilpailuetu ja helpottaa softan lokalisointia ja myymistä uusille markkinoille.
 
Pedantisti näin, mutta hyvin harvoin ohjelmisto tekee eroa 7- ja 8-bittisen tekstin välillä. Kun lähdekoodikin on saatavilla, niin voi jopa olla mahdollista osoittaa, että koodi on sellaisenaan 8-bit yhteensopiva.

Jos se toimii 8-bittisellä tekstillä, niin miksi ei sitten UTF-8:lla? UTF-8:n voi ajatella eksoottiseksi 8-bittiseksi merkistöksi.

Käytännössä ainoa ero tulee jos halutaan laskea merkkijonojen pituuksia. C-kirjaston strlen() laskee tavupituuden, mutta konsoliin printf() funktiolla tulostuvien merkkien määrä ei olekaan sama. Tästä tulee ongelmia jos halutaan tulostaa esimerkiksi taulukoita.

Ihan triviana, miten kauas historiaan pitää mennä, että CPU olisi tehnyt eroa 7- ja 8-bittisen datan välillä? Esim. 36-bittinen PDP (1966) voisi kai pakata 5 ASCII merkkiä/sana. Tiedonsiirrossa 7bit+pariteetti on ollut yleisempi, mutta jo 80-luvulta lähtien 'historiallisista syistä'. 8bit+pariteetti olisi yhtä lailla mahdollinen, jos halutaan pariteettitarkistus.
80-luvulla 7-bit + pariteetti oli ihan validi tapa säästää kaistaa. Se on tietysti ollut vain optimointia eikä varsinainen rautarajoite.

CPU:ssa 128-255 lukualue on tietysti sillä tavalla spesiaali että 8-bittisen luvun voi käsitellä joko etumerkillisenä (signed) tai etumerkittömänä (unsigned). Tälläkin on monet bugit saatu varsinkin kun C-standardi oli alussa tämän määrityksessä epätarkka.
 
Kertokaas muuten miksi näppäimistön asettelulla on edelleen väliä vuonna 2024?

Ymmärrettävää joskus 90 luvulla mutta eikö nykyään saataisi jo tehtyä näppäimistöä joka lähettäisi vaikkas UTF-8 datana sen merkin joka näppäimessä lukee (nuolet ja muut erikoisnapit omilla koodeillaan) ja se olisi sillä jämpti?

Tulee melkoinen "VMP" fiilis joka kerta kun tulee tarvetta tökätä näppäimistö johonkin eksoottisempaan laitteeseen ja se olettaa järjestään että jenkkinäppis on. :comp:
 
Kertokaas muuten miksi näppäimistön asettelulla on edelleen väliä vuonna 2024?

Ymmärrettävää joskus 90 luvulla mutta eikö nykyään saataisi jo tehtyä näppäimistöä joka lähettäisi vaikkas UTF-8 datana sen merkin joka näppäimessä lukee (nuolet ja muut erikoisnapit omilla koodeillaan) ja se olisi sillä jämpti?:comp:

Uskallatko sinä tökätä tällaisen hienon kiinasta tilaamasi näppiksen joka sisältää älyä kiinni sun tietokoneeseen. Kuulostaa idealta jossa on miljoona turvallisuusaukkoa.

Esim tämän näppiksen sisällä oleva tietokone voi haistaa että sinä näppäilet "google.com" ja päättelee että ollaan selaimen osoiterivillä ja se lähettääkin tietokoneelle googlen.com sijasta "googlecompitkärivisotkuachinaspyware.com" ja muutaman enterin painalluksen että tämä softa tulee asennettua ja tämä chinaspyware.com sivusto ohjaa sinut sitten asennuksen jälkeen oikealle google sivulle ja sinä vain ihmettelet että mikäs tässä kesti sekunnin kauemmin kuin normaalisti ja joku ikkuna pomppasi näkyviin 0.1 sekunnin ajaksi.

Tai se voi itse sisältää spyware softan jonka se asentaa koneelle suoraan näppiksen tietokoneen kiinteästä muistista ja sitten haistella että sinä näppäilet crypto salasanaa ja laittaa sen muistiin ja kertoa sen sinun huomaamatta tälle asentamalleen spyware ohjelmalle.

Se että näppis on tyhmä on turvallisuusseikka.
Tosin mikäs sen takaa että tyhmä näppis on oikeasti tyhmä.
 
Viimeksi muokattu:
Uskallatko sinä tökätä tällaisen hienon kiinasta tilaamasi näppiksen joka sisältää älyä kiinni sun tietokoneeseen. Kuulostaa idealta jossa on miljoona turvallisuusaukkoa.

Esim tämän näppiksen sisällä oleva tietokone voi haistaa että sinä näppäilet "google.com" ja päättelee että ollaan selaimen osoiterivillä ja se lähettääkin tietokoneelle googlen.com sijasta "googlecompitkärivisotkuachinaspyware.com" ja muutaman enterin painalluksen että tämä softa tulee asennettua ja tämä chinaspyware.com sivusto ohjaa sinut sitten asennuksen jälkeen oikealle google sivulle ja sinä vain ihmettelet että mikäs tässä kesti sekunnin kauemmin kuin normaalisti ja joku ikkuna pomppasi näkyviin 0.1 sekunnin ajaksi.

Tai se voi itse sisältää spyware softan jonka se asentaa koneelle suoraan näppiksen tietokoneen kiinteästä muistista ja sitten haistella että sinä näppäilet crypto salasanaa ja laittaa sen muistiin ja kertoa sen sinun huomaamatta tälle asentamalleen spyware ohjelmalle.

Se että näppis on tyhmä on turvallisuusseikka.
Tosin mikäs sen takaa että tyhmä näppis on oikeasti tyhmä.

Voisi se näppis silti olla "tyhmä" kuin USB näppis.

Tosin mikäs sen takaa että tyhmä näppis on oikeasti tyhmä.
Luottamusta koko toimitusketjuun siinä tarvitaan. Jos ei voida luottaa niin sitten menee vaikeammaksi. Mutta menee jo ohi aiheen.

Mutta olen Huglo nimimerkin kanssa samaa mieltä, olisi siinä etunsa jos näppis olisi unicode, ja se kai olisi ihan mahdollistakin.
 

Statistiikka

Viestiketjuista
257 368
Viestejä
4 475 397
Jäsenet
73 920
Uusin jäsen
Olliddi

Hinta.fi

Back
Ylös Bottom