Ciències de la computacióLes ciències de la computació estudien les bases teòriques de la informació i la computació, i la seva aplicació en sistemes computacionals.[1][2][3] El cos de coneixement de les ciències de la computació és descrit sovint com l'estudi sistemàtic dels processos algorítmics que descriuen i transformen informació: teoria, anàlisi, disseny, eficiència, implementació, algorismes sistematitzats i aplicació.[4] Hi ha diverses branques o disciplines dins les ciències de la computació o ciències computacionals; algunes ressalten els resultats específics del còmput (com els gràfics per computadora), mentre que d'altres (com la teoria de la complexitat computacional) es relacionen amb propietats dels algorismes usats al realitzar còmput i unes altres s'enfoquen en els problemes que requereixen la implementació de sistemes computacionals. Per exemple, els estudis de la teoria de llenguatges de programació descriuen un còmput, mentre que la programació de computadores aplica llenguatges de programació específics per desenvolupar una solució a un problema computacional específic. Un computòleg s'especialitza en teoria de la computació i en el disseny i implementació de sistemes computacionals.[5] Segons Peter J. Denning, la qüestió fonamental en què es basa la ciència de la computació és: «Què pot ser (eficientment) automatitzat?».[6] HistòriaLa història de la ciència de la computació antecedeix a la invenció del computador digital modern. Abans de la dècada de 1920, el terme computador es referia a un ésser humà que realitzava càlculs.[7] Els primers fonaments del que es convertiria en ciències de la computació són anteriors a la invenció de la computadora digital moderna. Es tractava de màquines per al càlcul de les tasques numèriques fixes, com l'àbac, que han existit des de l'antiguitat, ajudant en càlculs tals com la multiplicació i la divisió. A més, els algorismes per realitzar càlculs han existit des de l'antiguitat, fins i tot abans que es creessin equips de computació sofisticats. Els antics sánscritos tractadistes Shulba Sutras, o "Regles de la corda", és un llibre d'algorismes escrits en 800 a. C. per a la construcció d'objectes geomètrics com a altars utilitzant una clavilla i corda, un precursor del camp modern de la geometria computacional. Blaise Pascal va dissenyar i va construir la primera calculadora mecànica de treball, la Pascalina, l'any 1642.[8] El 1673 Gottfried Leibniz va crear una calculadora mecànica digital, anomenada el 'Stepped Reckoner'. Ell pot ser considerat el primer computòleg i teòric de la informació, entre altres raons, perquè va ser el primer en documentar el sistema numèric binari.[9] El 1820, Charles Xavier Thomas de Satisfer va llançar la calculadora mecànica industrial quan va llançar el seu simplificat aritmòmetre, que va ser la primera màquina de calcular prou robusta i fiable per ser utilitzada diàriament en un entorn industrial.[10] Charles Babbage va iniciar el disseny de la primera calculadora automàtica mecànica, la seva màquina diferencial, el 1822, que finalment li va donar la idea de la primera calculadora mecànica programable, la seva màquina analítica. Ell va començar a desenvolupar aquesta màquina el 1834 i "en menys de dos anys havia esbossat moltes de les característiques més destacades del modern equip.[11] Un pas fonamental va ser l'adopció d'un sistema de targetes perforades derivat del teler de Jacquard" fent-ho infinitament programable.[12][13] El 1843, durant la traducció d'un article francès sobre la màquina analítica, Ada Lovelace va escriure, en una de les moltes notes que inclou l'article, un algorisme per calcular els nombres de Bernoulli, que és considerat com el primer programa d'ordinador.[14] Al voltant de 1885, Herman Hollerith va inventar la màquina tabuladora, que usava targetes perforades per processar informació estadística; finalment, la seva companyia es va convertir en part d'IBM. El 1937, cent anys després del somni impossible de Babbage, Howard Aiken i d'altres, per desenvolupar la calculadora programable gegant d'IBM, l'ASCC/Harvard Mark I, es van basar en la màquina analítica de Babbage, que al seu torn utilitza les targetes perforades i una unitat central de càlcul.[15] Quan es va acabar de construir la màquina, algunes persones ho van aclamar com "el somni de Babbage fet realitat".[16] Durant la dècada de 1940, conforme es desenvolupaven les noves i més poderoses màquines per computar, el terme computador es va començar a utilitzar per referir-se a les màquines i ja no als seus antecessors humans.[17] Quan es va fer evident que les computadores no solament podrien utilitzar-se per realitzar càlculs matemàtics, el camp de les ciències de la computació es va ampliar per estudiar còmput en general. Les ciències de la computació van començar a establir-se com una disciplina acadèmica diferent de les altres en la dècada de 1950 i principis de 1960.[18] Llavors va sorgir el primer programa de grau universitari del món, el Cambridge Diploma in Computer Science, del Cambridge Computer Lab (Departament de Ciències de la Computació) de la Universitat de Cambridge, el 1953. El primer programa de grau universitari en ciències de la computació als Estats Units es va formar a la Universitat de Purdue el 1962.[19] Des que es disposa d'ordinadors pràctics, moltes aplicacions de les ciències de la computació s'han convertit en diferents àrees d'estudi en els seus propis termes. Encara que inicialment molts van creure que era impossible que les computadores en si mateixes podrien constituir en realitat un camp científic d'estudi, a final dels anys cinquanta es va anar tornant gradualment acceptat aquest fet entre la població acadèmica.[20][21] És la marca IBM la que va formar part de la revolució de les ciències de la computació durant aquest temps. IBM (abreujament de International Business Machines) va llançar l'IBM 704 i més tard les computadores d'IBM 709 que van ser àmpliament utilitzades durant el període d'exploració d'aquest tipus de dispositius.[22][23] "No obstant això, el treball amb les IBM [computadores] va ser frustrant ... si haguessis perdut tant com una lletra en una instrucció, el programa xocaria, i vostè hauria de començar tot el procés una altra vegada". A finals dels cinquanta, les disciplines de les ciències de la computació estaven en les seves etapes de desenvolupament més primordials, i tals qüestions eren comunes. La disciplina científica de les ciències de la computació neix a principis de 1940 amb la confluència de la teoria d'algorismes, lògica matemàtica i la invenció del programa emmagatzemat en una computadora electrònica.[24] Exemples d'això són els treballs d'Alan Turing, Alonzo Church i Kurt Gödel el 1930 sobre els algorismes i el seu treball en sistemes de regles (vegeu Càlcul Lambda, Màquina de Turing i Problemes Indecidibles), els algorismes creats per Augusta Ada seixanta anys abans, la computadora analògica construïda per Vannevar Bush el 1920 i les computadores elèctriques construïdes per Howard Aiken i Konrad Zuse el 1930. Els escrits de John Von Neumann van donar una profunditat intel·lectual considerable a aquesta disciplina emergent a mitjan dècada dels 40. Durant 1960, hi havia suficientment cos de coneixement per justificar la creació de departaments acadèmics i programes de grau universitari per a aquesta disciplina.[24] IBM és reconeguda com la marca que va formar part de la revolució de les ciències de la computació durant aquest temps. IBM (abreujament de International Business Machines) va llançar la IBM 704 i més tard la IBM 709 computadores, que van anar àmpliament utilitzades durant el període d'exploració d'aquest tipus de dispositius.[25][26] "No obstant això, el treball amb la IBM [equip] era frustrant ... si t'equivoques en una lletra d'alguna instrucció, el programa s'arruïnaria, i s'hauria de començar tot el procés una altra vegada". Durant la dècada de 1950, la disciplina de les ciències de la computació estava en la seva etapa de desenvolupament, i aquests problemes eren comuns. El temps ha donat millores significatives en la capacitat d'ús i l'eficàcia de la tecnologia de la computació. La societat moderna ha presenciat un canvi significatiu en els usuaris de la tecnologia de còmput, de ser utilitzada únicament per experts, professionals i científics, ha passat a ser utilitzada per una base d'usuaris que és gairebé omnipresent a la teoria amb la qual es va desenvolupar i funciona aquest tipus de tecnologia. Inicialment, les computadores eren bastant costoses, i era necessari un cert grau d'ajuda humana per a l'ús eficient - ajuda d'operadors de computadores professionals. Com que l'adopció d'equip es va fer més generalitzada i assequible, es necessitava menys assistència humana en l'ús comú. Majors assolimentsMalgrat el poc temps que porta com a disciplina científica formal, les ciències de la computació han fet un gran nombre de contribucions importants a la ciència i la societat –de fet, juntament amb l'electrònica, és una ciència fundacional de l'època actual de la història humana anomenada Era de la informació i la Revolució de la Informació, vist com el tercer gran salt en el progrés tecnològic humà després de la Revolució Industrial (1750-1850) i la revolució neolítica (8000-5000 a. C.)–. Aquestes contribucions a la humanitat inclouen:
FilosofiaUn gran nombre de científics de la computació han argumentat a favor de la distinció de tres paradigmes diferents en ciències de la computació. Peter Wegner ha argumentat que aquests paradigmes són la ciència, la tecnologia i les matemàtiques.[33] El grup de recerca de Peter Denning va argumentar que són l'abstracció (modelatge), i disseny. Amnon H. Eden ho descriu com el “paradigma racionalista” (el qual tracta a les ciències de la computació com una branca de les matemàtiques, la qual preval en ciències de la computació teòrica i principalment fa ús del raonament deductiu), el paradigma tecnocràtic (que podria ser trobat en enfocaments d'enginyeria, més prominent en l'enginyeria de programari) i el paradigma científic (que s'enfoca a objectes relacionats amb la computació des de la perspectiva empírica de les ciències naturals identificable en algunes branques de la intel·ligència artificial). Nom del campMalgrat la seva primera proposició el 1956, el terme “ciències de la computació” apareix el 1959 en un article de la revista Communications of the ACM (prestigiosa publicació científica destinada a lectors amb experiència en tots els àmbits de la computació i els sistemes d'informació),[34] en la qual Louis Fein discuteix sobre la creació d'una Escola d'Estudis de Postgrau en Ciències Computacionals anàloga a la creació d'Harvard Business School el 1921,[35] justificant el nom amb l'argument que: Com la ciència administrativa, el tema o àrea de coneixement pot ser aplicat, és de caràcter interdisciplinari i compta amb les característiques típiques d'una disciplina acadèmica.[36] Els seus esforços i els d'uns altres, com l'analista numèric George Forsythe, van ser recompensats: universitats van passar a crear aquest tipus de programes d'estudi, a partir de 1962 a Purdue.[37] Malgrat el nom d'aquesta disciplina acadèmica, una quantitat significativa de tòpics en ciències de la computació no involucren l'estudi de les computadores, per aquesta raó molts noms alternatius han estat proposats.[38] Alguns departaments d'universitats prefereixen el terme “ciències de la computació” per fer èmfasi en aquesta diferència. El científic danès Peter Naur va suggerir el terme datologia,[39] per reflectir el fet que aquesta disciplina científica gira entorn de les dades i del tractament d'aquests, mentre que no necessàriament involucra als ordinadors. La primera institució científica que usar aquest terme va ser el Departament de Datologia de la Universitat de Copenhaguen, fundat en 1969, amb Peter Naur com a professor de datologia. El terme és usat en països escandinaus. En els primers anys de la computació, un nombre de termes per als practicants del camp de la computació van ser proposats a la revista Communications of the ACM – turinginyer, turòleg, home dels diagrames de flux, matemàtic meta-aplicat, i epistemòleg aplicat.[40] Tres mesos després en aquesta mateixa publicació científica, el terme computòleg va ser suggerit. El següent any a la mateixa publicació va sorgir el terme hypòleg.[41] El terme computica també ha estat suggerit.[42] A Europa, termes derivats de traduccions de l'expressió "automatic information" (i.g. "informazione automatica" en Italià) o "informació i matemàtiques" són freqüentment usats, i.g. informatique (francès), Informatik (alemany), Informàtica (Itàlia, Països Baixos), Informàtica (Espanya i Portugal), informatika (llengües eslaves) o pliroforiki (πληροφορική, que significa informàtica) en Grec. Paraules similars han estat adoptades en alguns llocs del Regne Unit, per exemple a la Universitat d'Edimburg.[43] Però aquestes no reflecteixen l'aspecte de la computabilidad, per aquesta raó en un context de recerca científica tant acadèmica com industrial el terme ciències de la computació és majoritàriament usat en publicacions i conferències científiques. Camps de les ciències de la computacióCom a disciplina científica, les ciències de la computació abasten una gran gamma de temes, des dels estudis teòrics dels algorismes i els límits de la computació als problemes pràctics de la implementació de sistemes computacionals en maquinari i programari.[44][45] Computing Sciences Acreditation Board o la Junta d'Acreditació en Ciències de la Computació. –Formada per representants de l'Association for Computing Machinery (ACM), i la Societat de Computació IEEE (IEEE-CS) – identifica quatre àrees que considera crucials per a la disciplina de ciències de la computació: teoria de la computació, algorismes i estructures de dades, metodologia i llenguatges de programació, arquitectura de computadores.[46] A més d'aquestes quatre àrees, C.S.A.B. també identifica àmbits com l'enginyeria de programari, intel·ligència artificial, xarxes de computadores i de telecomunicacions, sistemes de bases de dades, computació paral·lela, computació distribuïda, la interacció persona-computador, gràfics per ordinador, sistemes operatius, càlcul numèric i simbòlic, essent importants àrees de les ciències de la computació. Ciències de la computació teòriquesEl camp més ampli de la ciència de la computació teòrica abasta la teoria clàssica de la computació i una àmplia gamma d'altres temes que se centren els aspectes més abstractes, lògics i matemàtics de la computació. Teoria de la computacióSegons Peter J. Denning, la pregunta fonamental en ciències de la computació és, «Què pot ser eficientment automatitzat?» L'estudi de la teoria de la computació està enfocat a respondre preguntes fonamentals sobre què pot ser computat i quina quantitat de recursos són requerits per executar tals còmputs. En un esforç per resoldre aquesta pregunta, la teoria de la computabilidad examina quins problemes computacionals es poden resoldre a partir de varis models teòrics de còmput. La segona pregunta és abordada per la teoria de la complexitat computacional, que estudia els costos de temps i espai associats a diferents enfocaments per resoldre una multitud de problemes computacionals. El famós problema "P=NP?" és un dels Problemes del mil·lenni, és un problema obert en ciències de la computació.[47]
Teoria de la informació i codisLa teoria de la informació està relacionada amb la quantificació de la informació. Va ser desenvolupada per Claude I. Shannon per desenvolupar els límits fonamentals del processament de senyals així com les seves operacions, tals com a compressió i emmagatzematge de dades així com la comunicació de les dades de manera fiable.[48] La teoria de codis és una àrea de les matemàtiques que busca resoldre el problema de detectar i corregir errors durant el moment de transmetre informació.[49] Els codis són usats per comprimir dades, criptografia i més recentment per a la codificació de xarxes. Els codis són estudiats amb el propòsit de dissenyar mètodes eficients i segurs per a la transmissió de dades. Algorismes i estructures de dadesEls algorismes i les estructures de dades són l'estudi de mètodes computacionals comunament usats així com la seva eficiència computacional.
Teoria de llenguatges de programacióLa teoria del llenguatge de programació és una branca de les ciències de la computació que s'ocupa del disseny, implementació, anàlisi, caracterització i classificació dels llenguatge de programació i les seves característiques individuals, entra dins de la disciplina de les ciències de la computació, depenent de les matemàtiques, enginyeria del software i la lingüística. És una àrea de recerca activa, amb nombroses revistes acadèmiques i conferències especialitzades en el tema.
Mètodes formalsEls mètodes formals són un tipus particular de la tècnica basada en les matemàtiques per a l'especificació formal, desenvolupament i verificació formal dels sistemes de programari i maquinari. L'ús de mètodes formals per al disseny de programari i maquinari està motivat per l'expectativa que, la realització d'una anàlisi matemàtica adequada pot contribuir a la fiabilitat i robustesa d'un disseny. Aquests formen una important base teòrica per a l'enginyeria de programari, especialment quan està involucrada la seguretat o robustesa. Els mètodes formals són un complement útil per a les proves de programari, ja que ajuden a evitar errors i també poden oferir un marc per fer proves. Per al seu ús industrial, es requereix el suport d'eines. No obstant això, l'alt cost de la utilització de mètodes formals significa que en general només s'utilitzen en el desenvolupament de sistemes crítics d'alta integritat on la vida o la seguretat és molt important. Els mètodes formals es descriuen millor com l'aplicació d'una àmplia varietat de fonaments teòrics de la informàtica, en particular, els càlculs lògics, els llenguatges formals, la teoria d'autòmats, i la semàntica dels programes, així com els sistemes de tipus i els tipus de dades algebraiques a problemes d'especificació i verificació de programari i maquinari. Ciències de la computació aplicadesLes ciències de la computació aplicades tracten d'identificar certs aspectes conceptuals i teòrics de les ciències de la computació que poden ser aplicats directament per resoldre problemes del món real. Intel·ligència artificialAquesta branca de les ciències de la computació pretén o té com a objectiu la síntesi de processos orientats tals com la resolució de problemes, presa de decisions, l'adaptació al medi ambient, l'aprenentatge i la capacitat de comunicació que es troba en els éssers humans i els animals. Des dels seus orígens en la cibernètica i en la Conferència de Dartmouth (1956), la recerca en intel·ligència artificial (IA) ha estat necessàriament multidisciplinària, aprofitant àrees d'especialització, tals com les matemàtiques, la lògica simbòlica, la semiòtica, l'enginyeria elèctrica, la filosofia de la ment, la neurofisiologia, i la intel·ligència social. La IA erròniament s'associa popularment al desenvolupament robòtic, però el principal camp d'aplicació pràctica ha estat com un component integrat en àrees de desenvolupament de programari que requereixen comprensió computacional, tals com les finances i l'economia, la mineria de dades i les ciències físiques. El terme va ser creat pel científic de la computació i matemàtic John McCarthy en 1955.
Arquitectura d'ordinadorsL'arquitectura d'ordinadors o organització d'ordinadors digitals és el disseny conceptual i l'estructura operacional fonamental d'un sistema còmput. Se centra en gran manera en la manera en què la unitat central de processament executa internament i com accedeix a les adreces en la memòria.[50] El camp involucra disciplines de l'enginyeria en computació i l'enginyeria elèctrica, la selecció i la interconnexió dels components de maquinari per crear els equips que compleixen funcions, de rendiment, i costos. Anàlisi de rendiment de computadoresAnàlisi del rendiment de l'equip és l'estudi del treball que flueix a través dels equips amb l'objectiu general de millora del rendiment i control de temps de resposta, utilitzant els recursos de manera eficient, l'eliminació dels colls d'ampolla, i la predicció de rendiment sota càrregues màximes previstes.[51] Còmput científicLa ciència computacional (o computació científica) és el camp d'estudi que tracta la construcció de models matemàtics i tècniques d'anàlisis quantitatives, així com l'ús de computadores per analitzar i resoldre problemes científics. En l'ús pràctic, és típicament l'aplicació de simulació per ordinador i altres formes de càlcul als problemes en diverses disciplines científiques.
Xarxes de computadoresAquesta branca de les ciències de la computació té com a objectiu gestionar la connectivitat entre xarxes (LAN / WAN) de computadores a nivell mundial. Sistemes concurrents, paral·lels i distribuïtsConcurrència és una propietat dels sistemes en els quals diversos càlculs s'executen de forma simultània, i, potencialment, interactuen entre si. Un nombre de models matemàtics han estat desenvolupats per al càlcul concurrent general, incloent les xarxes de Petri, càlculs de procés i del model de màquina d'accés aleatori en paral·lel. Un sistema distribuït amplia la idea de la simultaneïtat a diversos ordinadors connectats a través d'una xarxa. Computadores dins del mateix sistema distribuït tenen la seva pròpia memòria privada, i la informació és sovint intercanviada entre si per aconseguir un objectiu comú. Bases de dadesUna base de dades té la intenció d'organitzar, emmagatzemar i recuperar grans quantitats de dades de forma senzilla. Bases de dades digitals es gestionen mitjançant sistemes de gestió de base de dades per emmagatzemar, crear, mantenir i consultar les dades, a través de models de bases de dades i llenguatges de consulta. Una base de dades és un conjunt de dades interrelacionades entre elles mateixes. Informàtica en salutInformàtica de la Salut s'ocupa de les tècniques computacionals per a la solució de problemes en la cura de la salut. Ciència de la informacióAquest camp estudia l'estructura, algorismes, comportament i interaccions dels sistemes naturals i artificials que desen, processen, accedeixen a i comuniquen informació. També desenvolupa els seus propis fonaments conceptuals i teòrics i utilitza fonaments desenvolupats en altres camps. Una aplicació moderna és el Big Data, que consisteix en el processament d'un conjunt de dades (provinents de fonts com per exemple: transaccions comercials, formularis web, imatges, videos, emails, xarxes socials, entre altres), les quals són sotmeses a eines informàtiques d'anàlisis que permeten extreure informació valuosa per predir comportaments futurs i formular estratègies de presa de decisions.[52]
Enginyeria de programariEnginyeria de programari és l'estudi del disseny, implementació i modificació del programari amb la finalitat d'assegurar-se que és d'alta qualitat, assequible, fàcil de mantenir, i ràpid de construir. És un enfocament sistemàtic per al disseny de programari, que implica l'aplicació de pràctiques d'enginyeria de programari. Els enginyers de programari tracten amb l'organització i anàlisi del programari — no només treballen en la creació o fabricació d'un nou programari, sinó també amb el seu manteniment i disposició interna. Es preveu que estiguin entre les ocupacions de més ràpid creixement entre 2008 i 2018. A causa de la novetat d'aquest subcamp, l'educació formal en Enginyeria de programari generalment és part dels plans d'estudi de ciències de la computació. La gran majoria d'enginyers de programari tenen un grau acadèmic en ciències de la computació sense tenir relació amb l'enginyeria.[53] Relació amb altres campsPer ser una disciplina recent, existeixen diverses definicions alternatives per a la ciència de la computació. Aquesta pot ser vista com una forma de ciència, matemàtiques o una nova disciplina que no pot ser categoritzada segons els models actuals. Les ciències de la computació freqüentment es relacionen amb altres àrees de recerca, tals com la física i la lingüística. Però és amb les matemàtiques amb les quals es considera que té un grau major de relació. Això és evidenciat pel fet que els primers treballs en l'àrea fossin fortament influenciats per matemàtics com Kurt Gödel i Alan Turing. En l'actualitat segueix havent-hi un intercanvi d'idees útil entre tots dos camps en àrees com la lògica matemàtica, la teoria de categories, la teoria de dominis, l'àlgebra i la geometria. Un altre punt a destacar és que, malgrat el seu nom, les ciències de la computació rarament involucren l'estudi mateix de les màquines conegudes com a computadores. De fet, el reconegut científic Edsger Dijkstra és molt citat per la frase «Les ciències de la computació estan tan poc relacionades amb les computadores com l'astronomia amb els telescopis». La recerca en ciències de la computació també sol relacionar-se amb altres disciplines, com la ciència cognitiva, la física (vegeu computació quàntica), la lingüística, etc. La relació entre les ciències de la computació i l'enginyeria de programari és un tema molt discutit, per disputes sobre el que realment significa el terme "enginyeria de programari" i sobre com es defineix a les ciències de la computació. Algunes persones creuen que l'enginyeria de programari seria un subconjunt de les ciències de la computació. Unes altres, tenint en compte la relació entre altres disciplines científiques i l'enginyeria, creuen que el principal objectiu de les ciències de la computació seria estudiar les propietats del còmput en general, mentre que l'objectiu de l'enginyeria de programari seria dissenyar còmputs específics per aconseguir objectius pràctics, amb el que es convertirien en disciplines diferents. Aquest punt de vista és el que sosté, per exemple, Parnas (1998). Fins i tot hi ha uns altres que sostenen que no podria existir una enginyeria de programari. Els aspectes acadèmics, polítics i de finançament a les àrees de ciències de la computació tendeixen a veure's influïts dràsticament pel criteri del departament encarregat de la recerca i l'educació a cada universitat, que pot estar orientat a les matemàtica o a l'enginyeria. Els departaments de ciències de la computació orientats a les matemàtiques teòriques solen alinear-se del costat de la computació científica i les aplicacions de càlcul numèric. El terme "computació científica", que no deu confondre's amb ciència de la computació, designa a totes aquelles pràctiques destinades a modelar, plantejar experiments i validar teories científiques servint-se de mitjans computacionals. En aquests casos la computació és una mera eina i l'esforç es dirigeix a avançar en els camps objectiu (física, biologia, mecànica de fluids, radiotransmissió...), més que en la pròpia ciència de la computació. Finalment, el públic en general algunes vegades confon la ciència de la computació amb àrees vocacionals que treballen amb computadores o pensen que tracta sobre la seva pròpia experiència amb les computadores, la qual cosa sol incloure activitats com els jocs, la navegació web i el processament de text. No obstant això, el punt central de la ciència de la computació va més enllà d'entendre les propietats dels programes que s'empren per implementar aplicacions de programari com jocs i navegadors web, i utilitza aquest enteniment per crear nous programes o millorar els existents.[54] Referències
Bibliografia
Vegeu també
Enllaços externs |