L’ABC dels llenguatges de programació
Article extret del mitjà MetaData
Any rere any, les enginyeries i professions d’àmbit tecnològic encapçalen l’índex d’ocupacions de qualitat que elabora anualment l’Observatori del Treball i Model Productiu de la Generalitat. Sigui per entrar en aquest sector, perquè la nostra ocupació ens requereix interactuar amb màquines o perquè volem aprendre quelcom nou, la programació és una habilitat altament valorada. Ara bé, existeixen centenars de llenguatges de programació disponibles, cadascun d’ells amb les seves particularitats i usos concrets. Quina és la millor manera de començar?
Python, C i C++ són els llenguatges de programació millor valorats pels desenvolupadors al darrer índex TIOBE
Per al doctor en Enginyeria Informàtica i professor titular de la Universitat Politècnica de Catalunya (UPC) Jordi Petit, la clau es troba en l’objectiu que ens ha dut a interessar-nos per la matèria: “En comptes de dir ‘utilitzaré aquest llenguatge’, valdria més la pena pensar en l’aplicació i buscar quin és el llenguatge de programació més adient”. L’expert considera que tots els llenguatges són “adequats” per començar, sempre que es tingui constància i paciència: “Aprendre a programar no és una cosa d’un dia per l’altre: necessites temps, anar provant coses de complexitat creixent. Començar amb petites coses per anar fent-les més grans”. No només això, sinó que també assegura que molts dels coneixements apresos amb un llenguatge es podran reaprofitar en els altres.
Petit: “Aprendre a programar no és una cosa d’un dia per l’altre: necessites temps, anar provant coses de complexitat creixent. Començar amb petites coses per anar fent-les més grans”
Tenint aquestes consideracions en compte, i amb la intenció d’acostar-nos a les eines que més utilitzen els professionals en l’actualitat, hem seleccionat els sis llenguatges de programació millor valorats pels integrants del sector en la darrera actualització de l’índex TIOBE, un dels rànquings amb més pes dins de la indústria.
Python
Creat el 1991 pel programador neerlandès Guido van Rossum, Python és un dels llenguatges més populars en l’actualitat gràcies a la seva llegibilitat. “És un llenguatge molt fàcil d’utilitzar per a molts usuaris diferents, tant pels informàtics com per a gent que aprenen a programar per fer determinades tasques, com els matemàtics o els estadístics”, assegura Petit. Es tracta d’un llenguatge interpretat, és a dir, que no necessita ser compilat per executar les aplicacions. És la mateixa categoria en què cau JavaScript, del qual se’n diferencia pel fet de ser “molt més llegible i agradable de programar-hi”.
Un dels seus factors diferencials és que permet fer servir llibreries ja escrites en altres llenguatges, com C o C++. “El llenguatge fa moltes coses per tu, i està bé perquè et fa guanyar velocitat a l’hora de programar, però perds velocitat a l’hora d’executar el programa”, assenyala el professor de la UPC. La situació fa un gir si l’analitzem des del punt de vista del temps dedicat pel programador: “Amb Python potser trigues 10 vegades menys a programar una tasca que amb C++. A canvi, potser la solució no és òptima i no tens un control tan fi de l’ordinador”.
Petit: “Python fa moltes coses per tu, i està bé perquè et fa guanyar velocitat a l’hora de programar, però perds velocitat a l’hora d’executar el programa”
D’acord amb l’informe State of the Developer Nation que elabora anualment SlashData, Python aglomera una comunitat de gairebé 17 milions d’usuaris, i és especialment emprat en camps com la ciència de dades, la intel·ligència artificial, el machine learning i les aplicacions d’internet de les coses (IoT). En canvi, no és gaire popular en el desenvolupament per a web i mòbil.
C i C++
Al principi hem mencionat que analitzaríem sis llenguatges de programació, però la proximitat entre C i C++ ens condueix a parlar-ne de manera conjunta. C va néixer el 1972 de les ments de Dennis Ritchie i Ken Thompson als laboratoris Bell de la companyia telefònica AT&T, i des d’aleshores s’ha assentat com un estàndard a l’hora de programar sistemes operatius. “C ofereix molt control i eficiència. En un sistema operatiu que controla totes les operacions de l’ordinador, volem que reaccioni molt ràpidament i que no faci servir més memòria de la que necessita”, explica Petit.
Originalment, C era un llenguatge relativament petit, però les necessitats dels programadors els van dur a ampliar-lo considerablement. D’aquí surt, el 1983, C++, una versió molt més complexa del C original que se’n diferencia pel fet d’estar orientada a objectes, però del qual n’hereta la sintaxi. A efectes pràctics, això implica que és compatible amb qualsevol programa escrit amb C. “El llenguatge s’ha adaptat a més necessitats i metodologies de programació, però encara fa que dominar-lo sigui més difícil”, detalla l’expert.
C i C++ destaquen per la seva rigidesa, la qual cosa permet tenir un control molt detallat sobre els processos de l’ordinador, però també els fa menys resistents i oberts a vulnerabilitats
Tant el C original, que encara s’empra avui, com C++ són llenguatges que destaquen per la seva rigidesa: “El C++ es fa servir en molts tipus d’aplicacions, sobretot de sistema, on t’interessa d’alguna forma tenir un gran control sobre el processador de l’ordinador, la seva memòria, les instruccions que executes…”. Aquest control ferri que atorga el llenguatge ve acompanyat, això sí, pels seus defectes: “No pots demanar certes operacions sense corrompre les dades, i els fa una miqueta menys resistents, és més fàcil que tinguin vulnerabilitats”. Segons l’enquesta de SlashData, C i C++ són especialment populars per a sistemes incrustats i aplicacions de IoT, però no tant en desenvolupament web i en aplicacions al núvol.
Java
Jordi Petit defineix Java com “un C++ reduït”, i és que el llenguatge dissenyat el 1995 per James Gosling a Sun Microsystems va néixer prenent el C++ com a referència per aplicar-lo al món dels electrodomèstics amb la voluntat “d’arribar a donar solucions domòtiques” en torradores i altres aparells. Com a llenguatge compilat, la intenció era fer-lo servir amb una màquina virtual com a intermediari, però els seus creadors ràpidament van adonar-se del potencial que tenia a internet: “Amb l’aparició de pàgines web, es van adonar que es podien fer aplicacions que ja incorporessin la seva interfície gràfica i que s’executés de la mateixa manera en tots els ordinadors”.
El resultat és un llenguatge que permet programar aplicacions que s’executin igual en tots els sistemes, amb una eficiència a mig camí entre C++ i Python, però també amb molta més seguretat que el primer. Segons els desenvolupadors enquestats per SlashData, Java s’empra sobretot per aplicacions d’escriptori i al núvol, però no té tants adeptes en camps com la intel·ligència artificial, el machine learning o la ciència de dades. Cal mencionar que, malgrat que es pot pensar erròniament que té algun tipus de relació amb JavaScript, en realitat no hi té res a veure: els seus creadors van decidir aquest nom perquè, segons relata Petit, “JavaScript estava triomfant per la portabilitat, i volien fer una cosa que funcionés en tots els navegadors”.
JavaScript
Amb més de 19,6 milions d’usuaris, JavaScript és, segons l’informe de SlashData, el llenguatge amb una comunitat de desenvolupadors més àmplia. Creat per Netscape el 1996, el llenguatge neix de la necessitat de fer un contingut web més dinàmic. “Va tenir un auge de popularitat amb el creixement de pàgines web, que va fer que també s’utilitzi ara amb els servidors, i no només en els clients d’internet”, relata Petit.
Així, JavaScript és el responsable de la majoria d’elements mòbils i interactius de les pàgines web, i també s’empra sovint a l’hora de desenvolupar aplicacions per a ecosistemes de tercers i en entorns al núvol. Com Python, és també un llenguatge interpretat, però que destaca per la seva solidesa: “És un llenguatge molt resistent, perquè si alguna cosa falla en el navegador, l’usuari no ho percebi”. El professor de la UPC considera que és un llenguatge “no massa difícil d’aprendre”, però que s’ha anat complicant amb el pas del temps, amb l’addició de noves funcionalitat, i que té certes excepcionalitats que cal aprendre per dominar-lo.
JavaScript va néixer davant la necessitat de crear continguts més dinàmics per a les pàgines web, que fins aleshores eren fonamentalment estàtiques
C#
C Sharp o C# és el darrer i més jove dels llenguatges que hem seleccionat. Creat per Microsoft l’any 2000 com a part de la plataforma .NET, es tracta d’un llenguatge que comparteix característiques amb Java i C++, del qual deriva, i que està orientat a objectes. Atesa la seva curta edat, almenys comparada amb els seus antecessors, la proposta de Microsoft incorpora característiques d’altres llenguatges, com Visual Basic, del qual n’adopta la velocitat de programació.
En l’actualitat, C# s’utilitza especialment per a aplicacions d’escriptori i per a programar videojocs, atès que és el llenguatge que fa servir Unity 3D, un dels principals motors gràfics del sector. Ara bé, no és una eina massa popular en el desenvolupament de solucions d’intel·ligència artificial, machine learning o dispositius IoT.
Si teniu comentaris sobre algun dels continguts del butlletí CBCat, si voleu tractar algun tema, o si, per alguna raó, algun dels enllaços anteriors no funciona, poseu-vos en contacte amb nosaltres a: info@cbcat.io
Els articles del CBCat s’escriuen i se seleccionen amb cura per fer promoure l’evolució dels sectors blockchain i els Actius Digitals, però es recomana als lectors que facin assessorament professional abans de dur a terme qualsevol acció basada en qualsevol dels enllaços i informació anteriors. El Centre Blockchain de Catalunya no assumeix cap responsabilitat per qualsevol acció que els lectors de l’article puguin prendre.
Segueix-nos a Twitter i LinkedIn