dimecres, 21 d’agost de 2013

Els programadors

Feia molt temps que tenia ganes d’escriure sobre aquest tema. Val a dir que per fer-vos cinc cèntims de la meva eina de treball no recuperaré els apunts de quan estudiava però, el que m’agradaria és fer-vos més proper o entendre la lògica d’una persona que es dedica professionalment a la programació. 

En primer lloc, val a dir que un programador no és un informàtic. Bé, sí que l’és però amb matisos.... El primer tòpic a desmentir és que, com aquell qui diu, l’informàtic no existeix. Per entendre-ho, podem fer la comparació amb la medicina. Existeix un metge de capçalera que ho toca una mica tot però llavors, hi ha dentistes, oftalmòlegs, ginecòlegs, uròlegs, cardiòlegs, estomatòlegs... i un llarg etcètera. Un programador, sovint no té nocions tècniques o profundes sobre maquinari, sobre mòbils, sobre quin ordinador convé més a segons qui, sobre xarxes o sobre l’administrador de servidors. De la mateixa manera que no anirem al dermatòleg fent una consulta de trauma...

Aclarit el tema que els que treballem en una branca de la informàtica no ho sabem tot sobre el tema, anem pel segon. Els programadors. Al final de l’entrada la il·lustraré amb un parell d’imatges que em semblen molt encertades. El programadors, programem, creem programes o rutines o coses. Un músic crea música i cobra drets d’autor; un artista crea llibres i cobra drets d’autor... Un programador crea programes i no cobra drets d’autor. Si bé cada vegada que una cançó sona a la ràdio els senyors de les SGAE reclamen la seva part, cada vegada que algú entra en un lloc web, ningú cobra res (deixant de banda les campanyes de publicitat que cobren en funció de les visites que aporten).

I com programem els programadors? Per entendre-ho cal que penseu en una persona que ha estudiat traducció i interpretació. De llengües, n’hi ha de diverses. Hi ha llengües antigues com pot ser el grec, llatí, hebreu... hi ha llengües que provenen del llatí i n’hi d’altres que van amb declinacions com pot ser l’alemany o l’euskara. Una persona que ha fet traducció i interpretació és capaç d’escriure qualsevol cosa en qualsevol llengua? La lògica ens indica que no. El mateix passa amb els programadors que utilitzem llenguatges de programació per crear. Que sapiguem programar, no significa que programem qualsevol cosa amb qualsevol llenguatge i de qualsevol manera.

De llenguatges, n’hi ha de baix nivell i d’alt nivell. No entrarem al detall. Els de baix nivell seria l’hebreu o l’íberic, mentre que el dalt nivell seria el català o altres idiomes relativament recents. Dins dels l’alt nivell, hi ha diverses maneres de programar: llenguatges procedimentals, funcionals i orientats a l’objecte; més recents encara, orientats a serveis i a aspectes. Finalment, encara dins del forn, IBM n’ha presentat un quelcom semblant a neuronal o que pretén imitar al cervell. I, cada tipus de tipus de llenguatge (antic, llatí, germànic o que funcioni per declinacions) té els seus propis llenguatges i dialectes. De manera que un programador que programi amb orientat a l’objecte i amb la família de llenguatges .NET, no li demaneu que programi amb orientat a serveis i amb un altre llenguatge. Així doncs, si jo, per exemple, parlo català, castellà i, si em deixessin en algun lloc perdut del món que parlessin anglès sabria tornar a casa, com a programador, treballo amb un llenguatge orientat a l’objecte i de la família .NET. 

I, de llenguatges de programació, quants n’hi ha? Responc amb una altra pregunta: de llengües al llarg i ample del món, quantes n’hi ha? Doncs és semblant. Per programar pàgines web, ho podem fer amb PHP, ASPX, Perl o molts d’altres, mentre que per fer aplicacions d’escriptori ho podem fer amb .NET, Java o d’altres. Finalment, per programar dispositius mòbils ho farem amb Object-C (Apple), Java (Android), .NET (Windows). Vaja, tot un món. Així, de memòria i que hagi tractat en alguna ocasió, assemblador, C, Visual Fox, C++, Visual Basic, Visual Basic .NET, C#, Prolog, Cobol, Java, C, ASP, ASPX, SQL, PHP, Javascript, MySQL, Lisp, HTML, CCS; a més dels seus possibles dialectes (com podrien ser el lapao, valencià, balear...) com podrien ser diversos SDK (Equip de desenvolupament de programari) Cadascun per coses i circumstàncies diferents. D'altra banda i com a totes les llengües, com bé us podeu imaginar, quan escrivim/programem, hi poden haver faltes d'ortografia... i llavors el programa no va. 

Per acabar, el programa amb el que tot programador comença a programar: el clàssic programa “Hola món” i les imatges que us deia al principi. El programa l’escriurem amb … PHP mateix:
echo “Hola món”; 
així de senzill. No és el cas però, del llenguatge Malbolge: 
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
No és l’únic llenguatge esotèric i pràcticament indesxifrable de poc ús; suposo que semblant al busuu que la parlen 8 persones al món... Podeu veure com s’escriu “Hola món” en Befunge, Brainfuck, INTERCAL, LOLCODE, Unlambda, o Whitespace.

Benvinguts a l’apassionant món del programador. Espero que serveixi perquè ens entenguin una mica més; no cal que trenqui el tòpic que tots els informàtics som rars o diferents; em dono per satisfet si ens entenen una mica més.



2 comentaris:

  1. Ja tocava parlar de programació al bloc. Llàstima que no hi hagi aquesta facilitat d'entendre-ho per tots.
    La primera imatge és molt bona.

    Endavant amb noves entrades!

    ResponElimina