|
| ||||||||||||||||||
Llenguatges de programacióJoan Puigcerver Ibáñez Conceptes bàsics¶Informàtica, binari, digital i programari¶La paraula informàtica ve d'informació i automàtica. La informació és un conjunt de dades, i un procés és automàtic quan funciona per si mateix. Per tant, la informàtica és la ciència que estudia el tractament de la informació de manera automàtica, mitjançant un sistema com pot ser un ordinador. La informàtica permet automatitzar el processament de la informació. Tota la informació que utilitza un ordinador ha d'estar representada en una seqüència de zeros i uns (dígits) anomenada codi binari. Això significa que cada unitat bàsica d'informació pot tindre dos estats (0 o 1). Aquesta unitat es coneix com a bit (binary digit, b) i un conjunt de huit bits s'anomena byte (B). Un byte pot representar \(2^8\) valors, és a dir, 256 possibilitats diferents, com els caràcters de la taula ASCII – Viquipèdia. Quan un dispositiu utilitza o emmagatzema informació en forma de bits, es diu que és digital. En canvi, quan el mecanisme que utilitza no es basa en aquest codi, com un rellotge clàssic o un termòmetre de mercuri, es diu que és analògic. El programari (software) és la part intangible d'un sistema informàtic, és a dir, el seu equipament lògic. Tot programari està dissenyat per fer una tasca determinada en el sistema. Dins del programari es poden distingir dos tipus diferents. D'una banda, les aplicacions són programari instal·lat sobre el sistema operatiu amb la funció de realitzar una tasca concreta, com editar documents o reproduir música. D'altra banda, el sistema operatiu és un programari amb la funció de proporcionar una plataforma única per a l'ús de la màquina, independentment del maquinari (hardware) que hi haja. El sistema operatiu és l'encarregat de comunicar-se amb el maquinari. Programar vs. desenvolupar programari¶Programar consisteix a especificar les ordres (instruccions) i les dades que un ordinador (dispositiu) executarà per obtindre una sèrie de resultats o provocar un cert comportament. És important utilitzar la paraula dispositiu Hui en dia es pot programar des d'un ordinador fins a una nevera, passant per unes sabatilles esportives o, per què no, fins i tot una catifa, si utilitzen informació digital. Cada vegada més elements de la vida quotidiana accepten ordres en forma de línies de codi o programes, dins del que es coneix com a Internet de les Coses (Internet of Things, IoT). En canvi, desenvolupar programari va més enllà de programar. Inclou tot el procés d'analitzar, dissenyar, provar, documentar i mantindre el programari, que requereix molt més temps que el que es dedica exclusivament a escriure línies de codi. Autoria desconeguda Figura 1. Fases del desenvolupament de programari. Llenguatges de programació¶Els llenguatges de programació es poden classificar segons diversos criteris: el nivell d'abstracció, el tipus d'execució i el paradigma. Segons el nivell d'abstracció¶Els éssers humans es comuniquen mitjançant llenguatges naturals, que s'han originat i han evolucionat al llarg dels segles. Aquests llenguatges són molt complexos, amb molts matisos i ambigüitats. Fins i tot, quan les persones es comuniquen, poden arribar a malentesos per culpa del llenguatge. Per contra, per donar instruccions a una màquina cal fer-ho d'una manera clara, concisa i que només tinga una única interpretació. Arran d'aquesta necessitat s'han creat els llenguatges de programació. El llenguatge de programació més bàsic, però alhora més difícil d'utilitzar i d'entendre, és el llenguatge màquina. Aquest llenguatge és un sistema de codis directament interpretables per un processador concret, que realitzen diferents operacions (sumar, restar, moure dades d'un registre a un altre...). Aquests codis estan en binari i, per tant, són difícils d'utilitzar per a les persones.
Per facilitar aquesta tasca existeix el llenguatge de baix nivell o assemblador, que relaciona
els codis del llenguatge màquina amb paraules o valors fàcils de recordar ( German, Wikimedia Commons Figura 2. Llenguatge màquina. Perquè la tasca de desenvolupar codi siga més amigable, fàcil i flexible, s'han creat diferents llenguatges de programació d'alt nivell, cadascun amb diferents característiques, funcionalitats i propòsits. Aquests llenguatges s'assemblen més al llenguatge natural, però són clars i no permeten ambigüitats. A més, tenen una alta abstracció respecte al maquinari de la plataforma on s'executen. Programming gecko, Wikimedia Commons Figura 3. Llenguatge d'alt nivell. Segons el tipus d'execució¶L'equip de desenvolupament prefereix utilitzar llenguatges d'alt nivell per desenvolupar programari. No obstant això, els dispositius només entenen el llenguatge màquina dissenyat per a ells. Per tant, per poder executar el codi escrit en un llenguatge d'alt nivell, cal traduir-lo abans a un llenguatge que el dispositiu siga capaç d'entendre. Segons com es faça aquesta traducció, els llenguatges de programació es classifiquen en dos tipus:
Interpretats vs. compilats¶La taula següent compara els dos tipus de llenguatges segons diversos criteris:
Llenguatges intermedis o bytecode¶Alguns llenguatges de programació més moderns combinen les dues maneres de traducció per aprofitar al màxim els avantatges de cadascuna. El llenguatge intermedi o bytecode és un llenguatge més abstracte respecte al maquinari que el codi màquina, però que es genera en un fitxer binari mitjançant la compilació d'un llenguatge d'alt nivell. Després, el bytecode s'executa en el dispositiu mitjançant un intèrpret. Aquest mètode té els avantatges següents:
Alguns exemples d'aquest tipus de llenguatge són Java, Kotlin (compatible amb Java) o C#. Java¶Un exemple de llenguatge intermedi és Java. La Figura 4 mostra el procés d'execució d'un codi font en Java. Figura 4. Procés d'execució de codi Java.
Exemple: Compilar i executar un programa en JavaEs parteix del codi font següent, guardat en el fitxer Primer, es compila el codi font amb l'ordre
S'observa que la compilació ha generat el fitxer Segons el paradigma¶Els llenguatges de programació també es poden classificar segons el seu paradigma, és a dir, la seua manera de treballar i com s'estructuren.
Com triar el llenguatge de programació?¶Respondre aquesta pregunta podria portar dies sencers divagant entre tots els paradigmes i tipus de llenguatges, i s'arribaria a la conclusió següent: depén. Cada llenguatge de programació té unes característiques que el fan més o menys apropiat per al context on s'utilitza. Alguns factors determinants són:
Bibliografia¶Aquests apunts s'han basat en el material de Sergio Badal.
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent
a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.
| ||||||||||||||||||



