És sorprenent l'acollida que ha tingut el bon Mar.io i francament és el primer article que va publicar que genera més de 10 mil vistes, això posa la tanca alguna cosa alta per als següents i espero no defraudar-amb aquest 🙂 Moltes gràcies per trobar els meus escrits prou interessants com per compartir-dit sigui de pas 🙂
programació
Aquest és un tema de moda, tothom vol programar, o al menys tothom pensa que és una habilitat cada vegada més necessària, i francament a mi m'agradaria escriure tot un llibre sobre programació, GNU / Linux, seguretat, i potser en algun moment ho pugui fer, tot just aprengui com escriure llibres lliures i en format agradable 😛.
La tecnologia avança ràpidament
Aquest és un dels motius pels quals no he escrit el llibre encara 😛 ja que vull fer alguna cosa que pugui superar la barrera el temps en un camp en el qual les coses no solen durar més d'uns dies de forma vigent. És per això que en aquest article vull explicar una mica dels conceptes més que les implementacions, d'aquesta manera podrem tornar a llegir aquestes línies en un temps i seguiran sent vigents.
Els principis es mantenen més temps
Tot i que hi ha molts llenguatges de programació ara per ara, molts dels conpceptos es remunten als mateixos orígens. Amb això vull dir que moltes de les coses que avui s'aprenen, han estat vàlides per molt temps, i probablement ho continuaran sent, això a causa que la programació és feta per persones i mentre segueixin sent ells els que desenvolupin, alguns conceptes es mantindran.
Coneixent les bases
Ja hi ha molts cursos, alguns gratuïts i altres no, que exposen gran part de la sintaxi de molts dels llenguatges de programació més populars d'avui en dia. Però no farem això aquí 🙂 jo vull explicar una mica del que tot pogramador hauria de pensar abans de començar a programar per poder fer un treball decent.
Entrar a la ment de l'programador és certament una cosa necessària, ja en un article una mica antic vam tractar el tema. Ara entrarem una mica en els conceptes que ens permeten escriure el codi.
Variables i funcions
Les variables són espais de memòria, pensem en les bústies que tenen els grans edificis, estan dissenyats per emmagatzemar cert tipus d'objectes, els hi ha grans i petits, poden estar sols o en grup. Una variable és un valor que tu saps que es farà servir al llarg de el temps, encara exactament no coneixes el seu valor en el principi, si el coneixes i saps que no variarà, estem davant d'una constant.
Les funcions d'altra banda, són conjunts d'instruccions. Una instrucció és el més bàsic que pot fer un processador, la raó de ser de les funcions és permetre el programador agrupar conjunts d'ordres per poder repetir-les al llarg d'un programa. vegem un exemple senzill i alhora ple de detalls.
Aquest és un petit programa escrit en C, tenim la funció principal, la variable saludo
, I la funció printf
que prové de la biblioteca stdio.h
. Anem a modificar una mica l'exemple i després compilar-lo per veure què passa.
Hem afegit una petita funció anomenada saludar
la qual pren com a argument una variable anomenada saludo
i la imprimeix. Això no canvia molt el resultat final de el programa però ens permet mostrar un gran i útil principi de la programació, la abstracció. Vegem el resultat:
Un simple programa, que està ple de coneixement i treball.
Biblioteques
El motiu pel qual vaig crear la funció saludar
va ser simplement per mostrar un dels principis més grans de el desenvolupament de programari, que ja hem anomenat: l'abstracció. Així com hem definit saludar
, printf()
ha estat definit en algun lloc del nostre sistema operatiu (la biblioteca estàndard de C de GNU), aquest lloc es coneix comunament com a biblioteca / mòdul / llibreria. Les bibliotecass són conjunts de funcions que ens permeten afegir funcionalitat als nostres programes sense haver de tornar a inventar la roda. En aquest cas, gràcies a printf
no hem de preocupar-nos de tota la lògica necessària per poder mostrar en una terminal el missatge que desitgem.
Les biblioteques són presents en gairebé tots els llenguatges de programació actuals, ja que a el poder comptar amb seccions de codi per triar i implementar és més senzill que crear cada funció des de zero.
abstracció
Imaginem el sistema de correu, nosaltres no necessitem conèixer tota la logística necessària per poder enviar o rebre una carta, el mateix succeeix amb la programació, abstreure és essencial per generar codi durador i elegant. Aquest procés permet utilitzar noms generals per definir processos generals. En altres paraules, si vam crear la funció enviarCarta()
sabem de manera general que aquesta funció s'encarregarà d'enviar una carta, però no necessàriament quins passos es requereixen per fer-ho. I aquest és un altre punt pel qual l'abstracció és tan bona, ja que ens permet encapsular segments de processos.
encapsulament
La nostra funció saludar
és un clar exemple d'encapsulament, ens permet tenir un bloc tancat amb instruccions específiques que podem usar una o mil vegades dins d'un programa. Això fa que el codi sigui més fàcil de llegir i que sigui més fàcil de depurar ja que si algun error sorgeix, sabem exactament quins són els límits de la nostra funció, i coneixem cada instrucció en un espai reduït. Això ens porta a un principi de la programació bastant comú en UNIX
Fes una cosa, fes-la molt bé
Una bona funció és la que només fa una cosa, però la fa molt bé. Pensem en això per uns instants ... enviarCarta()
probablement faria moltes coses, el que no pot ser bo si volem depurar el procés, mentre saludar()
només fa un. Al llarg de el temps, si sorgeixen problemes la segona serà més fàcil de reparar que la primera. Una opció per evitar aquest problema seria generar diferents nivells d'abstracció per enviarCarta()
, Això vol dir que dins de la funció existirien altres com verificarSobre()
i potser dins d'aquesta una com l' verificarRemitente()
. En definitiva aquesta última funció (verificarRemitente()
) És molt més específica que només enviarCarta()
i d'aquesta manera podem encapsular parts de el codi perquè facin el que és necessari i només una cosa alhora.
practicar
Per aprendre l'art de la programació cal practicar, i ja que jo ara he donat un cop d'ull molt general a el tema, cal que practiquin amb diversos llenguatges, o diversos problemes. Primer intentant generar funcions específiques, després augmentant la complexitat. Com sempre, si sorgeixen dubtes, o suggeriments o comentaris, m'ajuden molt a saber quins aspectes reforçar. Moltes gràcies i que aquest 2018 estigui ple d'èxits i projectes sorprenents. Salutacions
Sóc un apassionat de linux des que canviï des windows gràcies s vosaltres ja programe en bash i al c per a trucades a sistema gràcies
Fantàstic Juanjo! Segueix així 😉 potser abans que te n'adonis ja estaràs ajudant a projectes de programari lliure i codi obert al llarg de el món. una salutació
Molt interessant, mes quan també estic per donar les meves primeres passes en programació i estic planificant que el 2018 sigui l'any en què aprengui a programar. Gairebé com si haguessis olorat l'aire eteri de la xarxa.
Gràcies per aquest article, espero ens puguis donar a llum més en temes de seguretat informàtica que tant fa falta a les ments informàtiques.
Salutacions
Hola Rodrigo, doncs certament aquest 2018 estarà plens d'articles sobre programació i seguretat, sempre que aconsegueixi una feina que em permeti fer-ho 😛 però mentrestant puc assegurar que la primera meitat de l'any sí podré escriure seguit, al menys fins a acabar els estudis jajaja
Salutacions i sort amb el teu propòsit d'aprendre a programar aquest any que ve 🙂
Moltes gràcies per escriure un article tan interessant. Sos un molt bon docent.
L'article sobre Mar.io va transcendir més del que sospitaves. És excel·lent i està molt ben escrit.
Feliç Any Nou !!!
EG Vitali
Moltes gràcies Ernest, molt amables paraules.
Certament ha estat més del que vaig pensar que seria, i això em motiva a seguir escrivint cada vegada més i millor, i certament estic buscant un lloc on poder exercir una tasca docent, seria una cosa molt gratificant per a mi i suposo que em donaria oportunitat de escriure més temes sobre programació i seguretat i la resta de coses que la curiositat sempre porta a la meva ment 🙂
Salutacions i feliç any nou també 🙂
Molt bo el post meu amic, moltes salutacions des de Lima - Perú, nosaltres també confiem que la programació millora la vida de les persones, esperant segueixis publicant més entrades ens acomiadem, una abraçada.
Moltes gràcies i segurament vindran més entrades, espero fer una sèrie completa per posar a punt els lectors en la col·laboració de projectes de programari lliure. Una salutació i èxits aquest 2018
Segueix així, una salutació.
Brillant el post ... salutacions des de Paraguai ... esperant que el 2018 sigui un any molt millor que els anteriors ... que surtin tots els projectes personals ... i que segueixis aportant amb els teus coneixements ... Exitos !!!
Hola Ricardo, moltes gràcies per les salutacions, certament espero poder continuar, segur aquest any sortiran diversos articles 😉 èxits per a aquest 2018 també! Salutacions
Que mania de l'hispà-parlant en dir llibreria en referència a «library». Són biblioteques de codi, no llibreries.
Salutacions.
jajaja gràcies per la dada Jordi, lamentablement a Perú els diem llibreries, encara que també mòduls, encara que certament biblioteca és més encertat, veuré si puc ajustar el text per fer-lo més correcte 🙂 Salutacions i feliç 2018
Molt bona introducció a la programació,
espero i segueixis fent mes aportacions com aquest.
Moltes gràcies i tant de bo pugui fer una sèrie completa, salutacions i feliç any nou!
Molt bo l'article, només vull aportar alguna cosa més del meu primer contacte amb programació i de com la pràctica de la mateixa és fonamental. A què li interessa el link és el següent http://bit.ly/1HBRCfx
Espero que els resulti interessant. Salutacions, feliç començament d'any ja programar.
Moltes gràcies Damian, no havia llegit l'article mai, ni res de la pàgina, però es veu interessant en realitat. Moltes gràcies per compartir, salutacions
En els meus temps s'usava void main, que coses, encara que era en msdos i no importava el valor de la tornada.
Hola Bertín 🙂 certament el void main es manté, pot utilitzar-depenent de la complexitat de el programa avui dia, de la mateixa manera el valor de retorn, però ara per ara és millor seguir amb el desenvolupament i les millors pràctiques per poder tenir programari que pugui ser llegit per més persones, ja que això és vital en ambients de programari comunitari. Salutacions i gràcies per compartir
molt bons els teus aportacions, espero que segueixin, aquest 2018 vull començar a programar, s'agraeix l'ajuda