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. [↩]
cu cofunctori și matrice inversabile
duminică, 19 feb. 2012, 15:37
Articolul despre atom ne-a lăsat în pom cu o particularitate destul de neplăcută (și care dă spre inconsistență) a sistemului prezentat: toate reprezentările abstracte din cadrul acestuia sunt cu precădere duale, deci binare [i], pe când abordarea categorială e una ternară. Cu alte cuvinte, categoria ca construcție naturală a matematicii e formată din obiecte (notate de obicei ), săgeți între obiecte (notate de obicei
) și o operație
de compunere a săgeților care respectă două axiome [ii].
Definiția o generalizează pe cea a monoidului, care-i în fapt și la urma urmei o categorie cu un singur obiect care-i de fapt o mulțime , ale cărei elemente sunt săgeți în categoria dată, iar compunerea e operația binară de compunere a monoidului. Definiția generală a monoidului dă de fapt un triplet format dintr-un obiect și două morfisme, într-un mod analog cu monadele, dar astea nu-s legate de discuția noastră. (mai mult…)
- Și iată cum am comis și erezia de a folosi numere în cadrul unor teorii care fac abstracție de acestea la un nivel fundamental. [↩]
- Mai exact asociativitatea operației și existența unui element neutru [↩]