09 octombrie, 2008

Şi altă inepţie

Tot Hotnews mi-a amintit câţi programatori proşti sunt lăsaţi să umble în libertate în lumea asta! Cum aşa?

Păi uite aşa, că s-a trezit "Autoritatea de Management pentru Programul Operational Sectorial Dezvoltarea Resurselor Umane" (am obosit numai scriind asta!) să-şi informatizeze sistemul de trimitere a cererilor de finanţare. Au făcut nişte formulare frumoase online: scăpam de teancurile de dosare, simplificăm procesul de finanţare, toată lumea e fericită! Ei bine, nu ştiu pe cine au angajat să le facă aplicaţia, dar pot să vă spun că sigur n-au călcat prin Politehnică. Nici măcar un student din anul întâi n-ar face aşa o porcărie!

Secţiunile formularelor, dragele de ele, au limită de caractere (3000 de caractere). Dacă o depăşeşti nu poţi trimite formularul. Până aici, să zicem că nu e nimic în neregulă. Ei, ce credeţi că numără cei care au făcut aplicaţia atunci când numără "caracterele" dintr-un text? Octeţii necesari pentru stocarea lor!

Pentru ne-tehnici, să încercăm o explicaţie: un şir de caractere pe care eu îl scriu de la tastatură necesită o anumită cantitate de memorie pentru a fi stocat. În vremuri imemoriale nu se puteau reprezenta caractere speciale - cum sunt diacriticele româneşti sau caracterele chinezeşti - şi fiecare caracter ocupa un octet de memorie. Toate caracterele "extra" apărute pe parcurs ocupă mai muţi octeţi de memorie. Acuma io stau şi mă întreb: ce om cu scaun la cap şi care se gândeşte că programul lui va fi folosit de un public larg numără octeţii dintr-un şir de caractere?

Şi asta ca asta, dar să scrii tu pe site că limitezi textul la 3000 de caractere, şi apoi să scoţi un document explicativ de 2 pagini în care să spui că de fapt numeri octeţii? Document din care utilizatorul înţelege că o literă de-a lui poate face uneori cât 4 caractere de-alea numărate pe site! Wow! Şi unde stai tu să-i spui omului de rând ce-s alea caractere "invizibile" (spaţii, paragrafe noi, etc) şi cum şi alea se numără. Şi mai simţi nevoia să precizezi că ştergerile necesită 2 octeţi de informaţie? Cine bau-bau numără ştergerile? Şi de ce aş vrea eu ca utilizator cu scaunul la cap să mi se numere ştergerile? Sau hai s-o luam de la început: dacă eu văd că am scris 10 litere şi trei spaţii, de ce nu ştie cineva să mi le numere ca 13 caractere? Până şi pluginul de Firefox de pe care trimit eu Twitter updates ştie să numere litera "ă" ca un caracter şi nu urlă la mine că îi ocup prea mulţi octeţi! Şi ăsta e dezvoltat de oameni care nu sunt plătiţi să-l facă!

Şi încă n-am spus nimic de greşeala fundamentală care apare în tot documentul explicativ: în loc de octet e folosit cuvântul "bit". Dragi autori ai documentului explicativ - un bit poate lua două valori: 0 şi 1. Aş vrea să vă văd cum codificaţi voi cu doar două valori toate literele din alfabet, başca alte semne suplimentare! Un octet are 8 biţi şi da, cu un octet se pot codifica mult mai multe semne.

Să zicem că documentul nu l-a scris un programator şi nici măcar un inginer. Dar aplicaţia? Ce copchil de clasa a 8-a a fost angajat să facă implementarea aia?

3 comentarii:

  1. știi de ce mi-e frică? nu care cumva tocmai vreun „programator” scăpat din Poli să fi făcut șmecheria :-ss

    RăspundețiȘtergere
  2. știi de ce mi-e frică? nu carecumva vreun student scăpat din Poli să le-o fi făcut. aplicația adecă :(

    RăspundețiȘtergere
  3. Şi mie mi-a fost frică să scriu aşa ceva, deşi mi-a trecut prin cap...

    RăspundețiȘtergere