# Programacion informatica

Programa en BASIC.
Lo tèrme **programacion informatica** (sovent abreujat **programacion** o **codificacion**) designa lo procès d'escriure, ensejar, espurar/resòlvre de problèmas, e manténer lo còdi font dels logicials. Aquel còdi font es escrict dins un lengatge de programacion. Lo còdi pòt èsser una modificacion d'una font existenta o una causa entièrament nòva. L'objectiu de la programacion es de crear un programa que mòstra un de per abans comportament desirat (personalizacion). Lo procès d'escriure del còdi font requerís sovent d'experiéncia en fòrça tèmas diferent, comprenent la coneissença del domèni d'aplicacion, dels algorismes especializats e de logica formala.

## Resumit

Dins d'engenhariá logiciala, la programacion (*l'implementacion*) es considerat coma una fasa dins un procès de desvolopament logicial.

I a un debat en cors sus en quina mesura l'escritura de programas es un art, un mestièr o una disciplina d'engenhariá. En general, una bona programacion se considèra coma l'aplicacion mesurada dels tres, amb l'objectiu de produire una solucion logiciala eficienta e capabla d'evoluir (los critèris d'«eficiéncia» e d'«evolucion» son fòrce vables). La disciplina se diferéncia de fòrça autras professions tecnicas, que los programaires, en general, an pas besonh d'èsser licenciats o de passar quinas pròvas que siá de certificacion estandardizadas (o regulatizacion governamentala) per se dire d'esperse «programaires» o quitament «d'engenhaires logicial». Pasmens, pel fach que la disciplina s'espandís dins fòrça airals, que pòt o pas comprene d'aplicacions criticas, es discutibla la sanccion d'una licéncia per la profession dins son ensems. Dins la majoritat dels cases, la disciplina s'autoregulada per las entitats que requerisson la programacion, e a vegada de mitans fòrça estrictes la definisson (per exemple, l'usatge de AdaCore dins la Fòrça Aeriana dels Estats Units d'America e abilitacions de seguretat).

Un autre debat en cors es lo gra que lo lengatge de programacion utilizada per escriure de programas informatics afècta la forma que lo programa final pren. Aqueste debat es anàloga a aquel a l'entorn de l'ipotèsi de Sapir-Whorf en la lingüistica, que postula que la natura d'una lenga parlada determinada influéncia la pensada abituala d'aqueles que la parlan. Derents esquèmas del lengatge produson de diferents esquèmas de pensada. Aquesta idèa desafia la possibilitat de representar un mond de perfeccion amb lo lengatge, perque reconeis que los mecanismes de quin lengatge que siá condicionan las pensadas de la comunautat que lo parlan.

Dich d'una autra biais, la programacion es l'art de transformar de requista en quicòm qu'un ordinator pòt executar.

## Un brèva istòria de la programacion

Carta perforada de format de 80 colomnas d'IBM utilizada al començament dels ans 1970 a l'Universitat de Stuttgart (Alemanha) per l'intrada de programas Fortran dins l'ordenador central IBM. Lo tèxte de la linha de còdi se tròba dins la partida superiora esquèrra.
La primièra maquina programabla (es a dire, maquina que las possibilitats d'usatge cambian quand se modifica son «programa») es, benlèu, lo telièr de Jacquard, realizat en 1801. La maquina utilizava una seriá de cartons perforats. Los traucs indicavan l'esquèma que lo telièr seguissiá per realizar un teissut; amb de cartas diferentas, lo telièr produsissiá de teissuts diferents. Aqueste novelum foguèt melhorat per Herman Hollerith d'IBM pel desvolopament de las famosas cartas perforadas de IBM.

En 1936, la publicacion de l'article setmenal de la sciéncia informatica *Ont Computable Numbers with an Application ton the Entscheidungsproblem* per Alan Mathison Turing, lancèt la creacion de l'ordenator programable. Presenta sa maquina de Turing, lo primièr ordenator programable universal, e inventa los concèptes e las condicions de programacion e de programa.

Los primièrs programas informatics èran realizats amb un sòudaire e un grand nombre de tubs electronics (mai tard, de transistors). Amb los programas sempre mai complèxes, aquò venguèt impossible, perque una sola error fasiá lo programa entièr inutilizable. Amb las avançadas dins l'estocatge de las donadas, ven possibla de cargar lo programa a partir de cartas perforadas, contenent la lista de las instruccions en còdi binari especific per un tipe particular d'ordinator. Aumentant la poténcia dels ordinators, se los utilizèt per far los programas, los programaires preferissent, naturalament escriure un tèxte, puslèu qu'un ensems de 0 e de 1, daissant que la quita maquina far la traduccion. Amb lo temps, de lengatges de programacion novèls  apareguèron, fasent de sempre mai abstraccion del material sus que se deviá executar los programas. Aquò pòrta d'avantatges sus diferents aspèctes: aqueles lengatges son mai aisits d'aprene, un programaire pòt produire un còdi mai rapidament, e los programas produsits se pòdon s'executar sus de maquinas difrerentas.

## Lengatges de programacion

Diferents lengatges de programacion autrejan d'estils diferents de programacion (nomenats paradigmas de programacion). La causida del lengatge utilizat es subjècta a fòrça consideracions, coma la politica de l'entrepresa, l'adeqüacion al prètzfach, la disponibilitat de paquets terces, o preferéncia individuala. Idealament, lo lengatge de programacion mai adaptada pel prètzfach en question serà causit. Las compenesons d'aqueste ideal implican trobar pro de programaires que coneisson lo lengatge per bastir una equipa, la disponibilitat de compilarors per aquel lengatge e l'eficiéncia qu'executan amb el los programas escriches dins un lengatge donat. Los lengatges forman un espèctre aproximatiu dempuèi «bas nivèl» cap a «naut nivèl»; los lengatges de «bas nivèl» son tipicament mai orientats cap a las maquinas e mai rapids d'executar, alara que los lengatges de «naut nivèl» son mai abstractes e mai qisit d'utiliaar, mas executan amb mens de rapiditat.

Allen Downey, dins son libre *How To Think Like A Computer Scientist* («Cossí pensar al biais d'un informatician»), escriu:

|  |  |  |
| --- | --- | --- |
| “ | Los detalhs semblan diferents dins los lengatges diferents, mas unas instruccions basicas apareisson en gaireben totes los lengatges:

Dintrada: obténer de donadas dempuèi lo clavièr, archiu, o un autre dispositiu.
Sortida: mostrar de donadas sus l'escran o enviar de donadas a un archiu o un autre dispositiu.
Aritmetica: realizar d'operacions aritmeticas basicas, coma somas e multiplicacions.
Execucion condicionala: cercar de condicions determinadas e executar la sequéncia apropiada de las instruccions.
Repeticion: realizar una accion repetidas, en general amb cèrta variacion. | ” |

Fòrça lengatges de programacion povesisson un mecanisme per cridar de foncions fornidas per de *librariás.* Cada còp que las foncions dins una librariá seguiscan las convencions de temps d'execucion apropriada (per exemple, lo metòde de passar d'arguments), alara aquestas foncions se pòdon escriure en quin autre lengatge que siá.

## Referéncias

## Ligams extèrnes