evoluția interacțiunii om-calculator (iv)
sâmbătă, 11 aug. 2012, 14:46
Seria „evoluția interacțiunii om-calculator” a avut un parcurs interesant, căruia îmi voi permite să îi fac un rezumat. Prima parte tratează câteva generalități legate de domeniul interacțiunii om-mașină. Cea de-a doua discută pe marginea interacțiunii dintre oameni și dispozitive digitale oarecare – care însă nu-s mai puțin „mașini” decât calculatoarele personale -, iar în partea cu numărul trei se remarcă existența unei nișe unde interfețele om-calculator au progresat enorm, și anume jocurile pe calculator.
Revenind la problema de fond, s-ar părea că interacțiunea om-calculator se poate reduce – cel puțin parțial – la ceea ce omul numește în general comunicare. Nu ne e clar ce implică asta, însă foarte probabil că într-o lume ideală ar fi de ajuns să îi zicem „calculatorului” [i] să rezolve nu știu ce problemă X („spală-mi șosetele”), iar acesta să se apuce imediat de muncă, ca un adevărat „rabochiĭ” care este dânsul. Observăm definiția vagă a conceptului „calculator”, care-i mai mult o mașină în sensul abstract al cuvântului. În spatele procesului de spălare a șosetelor pot sta unul, două, zece sau o mie de calculatoare fizice, care pentru utilizator vor apărea însă ca o singură entitate, „calculatorul”.
Nu știu dacă vă amintiți, dar în caz că nu, ar fi o idee bună să reluăm: ansamblul de programe sau mașini care apar utilizatorului drept o singură entitate se numește „sistem distribuit”. Ori sistemul distribuit, adică Internet-ul, adică arhiva™ e un pas evolutiv firesc față de telegraf, telefon, televiziune și așa mai departe, ceea ce face problema „interacțiunii”, adică a „comunicării” cu atât mai importantă. Un rol important în rezolvarea acestei probleme îl joacă web-ul, despre care spuneam mai demult că e o platformă socială în virtutea faptului că satisface nevoia de comunicare între oameni; însă comunicarea între oameni nu poate fi în acest caz eficientă dacă intermediarul („calculatorul”) nu satisface aceleași condiții. (mai mult…)
- Care „calculator” e ceva abstract, ca din ceruri, și suficient de inteligent încât să înțeleagă actele de vorbire, posibil mai bine decât ființa umană medie. [↩]
o introducere ușor neobișnuită în domeniul arhitecturii software
duminică, 29 iul. 2012, 16:24
Arhitectura, sau mai general proiectarea chestiilor este un subdomeniu al ingineriei ca oricare altul, care se ocupă, am putea spune lipsiți de rigoare, cu descrierea chestiilor în cauză. Bunăoară, dacă doresc, inginer fiind, să proiectez un ciocan spre a rezolva o problemă dată (de obicei bătutul cuielor), va trebui – dat fiind că-s om, iară nu orice om, ci inginer – să îmi formulez un set de cerințe și întrebări adiacente acesteia, legate printre altele de: părțile componente ale ciocanului, felul în care arată acestea, din ce sunt formate și cum se îmbină ele spre a forma mai mult decât suma părților lor.
Fundamentele acestei paradigme sunt aceleași în cazul sistemelor software, motiv pentru care și există în prezent acest domeniu oarecum bizar al ingineriei programelor pe calculator [i]. Diavolul se regăsește bineînțeles în detalii, acolo unde teoreticienii încearcă să prezică evoluția software-ului în timp. Dacă în cazul unui ciocan lucrurile stau destul de simplu – dai cu el până se strică -, software-ul evoluează destul de haotic în timp, degradându-se și pierzându-și din fiabilitate în moduri greu de prevăzut. Colac peste pupăză, inginerii noștri plini de creativitate gândesc modele și implementări care de care mai complexe, când rolul abstractizării e tocmai opusul, anume acela de a simplifica lucrurile. Deci aici zic că ar ajuta un pic să luăm lucrurile de la zero, deci să regândim problema. (mai mult…)
- Da, dragi cititori, ingineria software e un ceva anume extrem de bizar prin felul ei de a fi. Aceasta ba apare în, ba dispare din mintea inginerului programator, existând și în același timp încetând să existe pentru acesta la un moment dat. Fenomenul se datorează nu numai faptului că lumea ideilor e volatilă în cadrul unui singur individ, ci și aceluia că oameni diferiți pot privi o singură problemă în moduri complet disjuncte, ajungând astfel să petreacă o perioadă considerabilă de timp stabilindu-și un limbaj comun. Astfel au apărut hack-uri imense dezvoltate de oameni cu interese profund diferite, cum e nucleul Linux, și astfel au luat viață inclusiv unele produse ale consumului de LSD, cum e Unix. [↩]
breviar istoric arm
duminică, 8 iul. 2012, 16:26
În cadrul unui articol trecut spre sfârșit povesteam despre cum ARM pot fi deja considerați un adversar serios al Intel și un candidat pe piața calculatoarelor de performanță medie [i]. Din acest motiv și în virtutea faptului că tot m-am apucat să întorc pe toate părțile diverse microarhitecturi, n-ar fi o idee rea să pun pe foaie un scurt istoric ARM. Problema stă în faptul că nu sunt foarte familiar cu istoria companiei – deși de vreo douăsprezece luni încoace programez mai des pe ARM decât pe x86 -, motiv pentru care vă invit să ne documentăm împreună.
În primul rând trebuie menționat că ARM și Intel vând două lucruri fundamental diferite. În timp ce Intel este o companie producătoare de hardware, la fel ca IBM, AMD, Texas Instruments sau Samsung Semiconductor, ARM produc doar proprietate intelectuală, cu toate implicațiile acestui fapt. Asta înseamnă de exemplu că în timp ce Intel fac și cercetări legate de micșorarea tranzistoarelor (încă de la începuturi), ARM se axează pe eficiența design-ului, lăsând aspectele pur tehnologice la latitudinea producătorilor.
Istoria ARM își are rădăcinile în cadrul unei companii pe nume Acorn Computers, al cărei procesor Acorn RISC Machine (ARM1) a fost lansat cândva în prima jumătate a anilor 1980. Procesoarele ARM au fost gândite astfel încât să aibă un design „hardwired”, adică fără microinstrucțiuni, și în plus cei care au conceput arhitectura au mers din start pe ideea că o să aibă lungimea cuvântului de 32 de biți. Cu toate astea primul procesor care a ieșit efectiv pe piață a fost ARM2, care era format din doar în jur de treizeci de mii de tranzistoare. Și se pare că zisul procesor avea performanțe comparabile cu ale unui 80286 la un consum mai mic de putere. (mai mult…)
- Apple au anunțat deja că vor vinde Macbook-uri bazate pe ARM. [↩]