informatika
- 1. Inform.
Informazioaren tratamendu automatikoaren zientzia.
- 1. Inform.
- Informazioaren tratamendu automatikoaren zientzia.
Informatika Edit
Egilea: Xabier Artola
Esan beharrik ez dago informatika gure bizitzetan sartu dela azken urteotan. Duela pare bat hamarkada aditu gutxi batzuen irismenean baino ez zegoena, denon eskura dago orain, eta egun guztiok gara, gutxi edo asko, informatikaren erabiltzaile. Internet sarearen etorrerak ere eragin handia izan du informatikaren hedatze honetan, World Wide Web edo mundu zabaleko amaraunak lehen askoz eskuragaitzagoa zen informazio-masa handia etxeratu baitigu duela urte batzuetatik hona.
Baina, zer da informatika? Definizio bat ematen hasita, esango genuke informazioaren tratamendu automatikoari dagozkion alderdi guztiak —teoriko nahiz teknikoak— biltzen dituen jakintza-arloa dela informatika. Tratamendu automatikoa diogunean, sistema konputazionalen bidez eginiko tratamenduaz ari gara, ordenagailuen edo, oro har, gailu elektronikoen bitartez gauzatutako tratamendu edo prozesamenduaz. Tratamendu horrekin estuki lotuta dago programaren kontzeptua, hau da, tratamenduan egin beharrekoa adierazten duen agindu multzoa da programa.
Mundu errealeko zenbait problema ebazteko soluzio informatikoak sortzen, garatzen eta inplementatzen dituenari esaten zaio, oro har, informatikari. Informatikarien artean, baina, hainbat lanbide aurkituko ditugu: sistema- eta aplikazio-analistak, programatzaileak, kalkulu-zentroen arduradunak, webguneen diseinatzaileak, mantentze-laneko teknikariak, operadoreak, datu-grabatzaileak eta beste. Lanbide desberdinak, informatika-munduaren zabalaren eta konplexutasunaren isla.
Informatikaren erabilerak direla eta, berriz, gaur egun, zertan erabiltzen den baino, zertan ez den erabiltzen galdetu beharko genuke, agian. Izan ere, erabilera-arloak aipatzen hasita, zerrenda nahi adina luza baitaiteke: gestioa, oro har; komunikazioa; informazioaren biltegiratzea —testuzkoa ez ezik, era eta molde askotarikoa: datu-baseak, irudiak, soinua...—; prozesuen kontrola eta monitorizatzea; robotika; segurtasuna; medikuntza; garraioaren kontrola; ikerkuntza; jokoak; diseinua; multimedia; domotika; kriptografia; eta abar luze bat.
Historia
Informatika hitza frantsesetik dator, Philippe Dreyfus ingeniariak 1962an information eta automatique hitzak konbinatuz sortutako akronimo batetik, hain zuzen.
Informatika jakintza-arlo modernoa den arren, bere historia egin nahi izanez gero ezinbestean aipatu behar dira zenbait aurrekari: abakoa, Hammurabiren taulak, astronomian erabilitako hainbat tresna, Pascalek 1642an egin zuen kalkulagailua... Zerbait kalkulatzeko makina edo algoritmoak ditugu horiek guztiak. Programazioaren ikuspuntutik, berriz, programatu daitezkeen gailuak aipatzen hasita, beti aipatzen da Jacquardek, 1805ean, Lyonen plazaratu zuen ehuntzeko makina: makina horren lana programatzen ahal zen, egin beharreko eragiketen segida gordetzen zuten txartel zulatu batzuk erabiliz.
Gaur egungo informatika ordenagailuekin hasi zen, Bigarren Mundu Gerraren garaian elektronikan egindako aurrerapenei esker, batik bat. Turing matematikaria aipatu beharra dago hemen, bera baita konputagailu baten oinarri teorikoa definitu zuen lehena, Turingen makina unibertsala delakoa sortu zuenean. Turingen makina konputagailuen eta beren memoriaren funtzionamenduaren eredu abstraktu bat da.
Historia labur honekin bukatzeko, ezin utzi ordenagailuen funtzionamenduarekin zerikusia duen kontzeptu funtsezko bat aipatu gabe: Von Neumann arkitektura —hala esaten zaio normalean, zenbait autoreren arabera Eckert-Mauchly arkitektura esan beharko litzaiokeen arren—. Arkitektura horren oinarria datuak zein programa ordenagailuen memorian gordetzen direla da, eta handik irakurtzen direla programa exekutatzen denean. Gaur egungo konputagailu gehienek arkitektura horren arabera egiten dute lan.
Informazioaren tratamendua: programazioa
Informazioa automatikoki prozesatzeko, ordenagailuek datuak eskuratu behar dituzte nonbaitetik: datu horiei sarrera (input) esaten zaie. Sarrera hori tratatu egin behar dute gero, horretarako propio prestatutako algoritmo edo programa baten arabera. Tratamendu horren ondorioz emaitza batzuk sortuko dira: horiei irteera (output) esaten zaie.
Informazioaren tratamendu edo kalkulu konputazionalari dagokionez, hainbat kontu hartu behar dira aintzat. Teorikoki, zehaztu behar da zer den kalkulatzea, eta, are garrantzitsuago, zer kalkula daitekeen eta zer ez. Izan ere, hainbat problema ez dira konputazionalki ebazteko modukoak, edo, beste kasu batzuetan, ebazteko modukoak izan arren, gaur egungo teknologiarekin soluziora iristeko beharko litzatekeen denbora ez da arrazoizkoa. Hori horrela, informazioa prozesatzeko algoritmoak diseinatzen direnean, eraginkortasunak garrantzi handia hartzen du: nola egin kalkuluak, emaitzak ahalik eta denbora laburrenean lortzeko, eta nola errepresentatu maneiatuko den informazioa, ahalik eta memoria-espazio gutxien hartuz. Bi kontu horiek ez dira ahaztu behar, biek garrantzi handia baitute informazioa prozesatzerakoan lortuko den eraginkortasunari dagokionez: batetik, nola deskribatu algoritmo bat, nola zehaztu ordenagailuak egin beharrekoa, emandako sarreratik abiatuta helburu den irteerara iristeko ahal den modurik eraginkorrenean; bestetik, nola errepresentatu prozesuan erabiltzen den informazioa, tratatu ahal izateko, eta hori ere modu eraginkorrenean egiteko.
Algoritmo bat deskribatzea, funtsean, eguneroko edozein zeregin deskribatzea bezalakoa da: automobila garbitu nahi badugu, (1) garajetik hartu, (2) garbitegira eraman, (3) fitxa erosi, (4) makinan sartu eta abar eta abar egin beharko ditugu, sailean-sailean. Ordenagailu batek egikaritu behar duen algoritmo bat ere antzera zehazten da, baina ordenagailuak ulertuko duen hizkuntza batean egin behar da. Horretarako dira programazio-lengoaiak.
Esan bezala, informazioa, automatikoki tratatuko bada, adierazpide jakin baten arabera errepresentatu eta biltegiratu behar da. Errepresentatze hori kode baten bitartez egiten da (azken batean, errepresentazioaren abstrakzio-mailarik baxuenean, hain ezagun bihurtu diren bit-segidak dirateke, 0 eta 1ekoen segidak, hain zuzen), programek informazioa behar bezala uler eta maneia dezaten, eta software- nahiz hardware-osagaien arteko datu-trukea posible izan dadin. Biltegiratzea, berriz, memoria iraunkor zein hegazkorretan egiten da, eta horretarako ere hainbat adierazpide, formatu eta errepresentazio-lengoaia erabiltzen dira.
Hardwarea eta softwarea
Hardwarea informatikan erabili ohi den tresneria da, hau da, konputagailuen eta hauekin batera erabiltzen diren bestelako gailu guztien osagaiak: inprimagailua, pantaila, CD/DVD irakurgailu-grabagailuak, diskoa, sagua, eskanerra eta abar. Konputagailuen sailkapen bat egiten hasita, honako hauek bereiz ditzakegu, gutxienez: mikroak (etxeko PCak), lan-estazioak (zeregin berezietarako erabili ohi diren ordenagailu ahalmentsuak), zerbitzariak (informazioa partekatzeko, web-zerbitzua emateko...), ekipo handiak (mainframe), PDAk (eskuko ordenagailuak)... Baina ez da ahaztu behar, gaur egun beste gailu askoren barnean ere benetako ordenagailuak daudela, zeregin berezi batean espezializatuak: sakelako telefonoak, argazki- eta bideo-kamera digitalak, etxetresna elektrikoak... horiek denak ere hardware deiturapean sailka daitezke.
Softwarea, berriz, informatikaren osagai “ukiezina” da, programak. Programarik gabe tresnak alferrik lirateke, ez bailukete inolako funtzionalitaterik eskainiko. Era askotako programak daude, eta horren arabera softwarearen nolabaiteko sailkapena egin dezakegu: sistema eragileak (Unix, Windows eta abar), datu-baseak, komunikazio-programak, konpiladoreak (programa programazio-lengoaiatik makinak ulertzen duen lengoaiara itzultzen dutenak) eta, oro har, aplikazioak, hainbat eta hainbat zereginetarako aurki ditzakegun ordenagailu-programak: aplikazio zientifikoak, bulegotikakoak, multimediakoak, jokoak eta abar.