Programación: Diferenzas entre revisións

Contido eliminado Contido engadido
Beninho (conversa | contribucións)
m sustantivo -> substantivo
Servando2 (conversa | contribucións)
arranxiños
Liña 1:
{{Proceso de desenvolvemento SW}}
Chámase '''programación''' á creación dun [[programa informático|programa de computadora]], un conxunto concreto de instrucciónsinstrucións que unha computadora pode executar. O programa escríbese nunha [[linguaxe de programación]], aindaaínda que tamén se pode escribir directamente en [[linguaxe máquina]], con certa dificultade. Un programa pódese dividir en diversas partes, que poden estar escritas en linguaxes distintos.
 
[[Software]] é o substantivo que denomina ós programas e datos da [[computadora]].
Liña 6:
== Programas e algoritmos ==
 
Un [[algoritmo]] é unha secuencia non ambigua, finita e ordeadaordenada de instrucciónsinstrucións que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a unha linguaxe de programación concreto) un algoritmo. Pode haber programas que non se axusten a un algoritmo (poden non terminar nunca), nese caso denominase procedemento a tal programa.
 
Os programas solen subdividirse en partes menores (módulos), de modo que a complexidade algorítmica de cada unha das partes sexa menor que a do programa completo. Esto axuda ó desenvolvemento do programa.
 
SegúnSegundo [[Niklaus Wirth]] un programa está formado por [[algoritmo]]s y [[estrutura de datos]].
 
O obxectivo das diversas técnicas de programación propostas é mellorar tanto o proceso de creación de software como o seu mantemento. Entre elas pódense mencionar as programacionsprogramacións [[programación lineal|lineal]], [[programación estruturada|estruturada]], [[programación modular|modular]] y [[programación orientada a obxectos|orientada a obxectos]].
 
== Compilación ==
 
O programa escrito nunha [[linguaxe de programación]] (comprensible polo home, aindaaínda que solensoen corresponder con linguaxes formais descritos por gramáticas independentes do contexto) non é inmediatamente executable nun ordenador. A opción máis común é [compilación|compilar]] o programa, aindaaínda que tamén pode ser executado mendiantemediante un [[intérprete informático]]
 
O código fonte do programa ha de someterse a un proceso de transformación para converterse en linguaxe máquina, interpretable polo [[procesador]]. A este proceso chámaselle [[compilación]].
 
Normalmente a creación dun programa [[executable]] (un típico .exe para os usuarios de Windows) conleva dous pasos. O primeiro paso chámase compilación (propiamente dito) e traduce o código fonte escrito nunha linguxelinguaxe de alto nivel a [[código obxecto]] (máis próximo á linguaxe máquina). O segundo paso chamase [[enlazador|enlazado]] (ou ás veces mal chamado ''linkado'' do inglés ''link'') e traduce o [[código obxecto]] a [[código máquina]].
 
Un programa podería ter partes escritas en varios linguaxes, que se poderían compilar de forma independente e enlazar xuntas para formar un único [[executable]], aindaaínda que non é unha práctica habitual.
 
== Programación e [[enxeñería do software]] ==
 
Existe unha tendencia a indentificaidentifica-lo proceso de creación dun programa informático coa programación, que é certa cando se trata de programas pequenos para uso persoal, e que dista da realidade cando se trata de grades proxectos.
 
O proceso de creación de software dende o punto de vista da Enxeñería ten os seguintes pasos:
# Recoñece-la necesidade dun programa para solucionar un problema ou identifica-la posibilidade de automatización dunha tarefa.
# Recolle-los requisitos do programa. Debe quedar claro que é o que debe face-lo programa e para que se necesita.
# Realiza-lola anaálisisanálise dos requisitos do programa. Debe quedar claro como debe realiza-lo programa as cousas que debe facer. As probas que comproben a validez do programa pódense especificar nesta fase.
# DiseñaDeseña-la arquitectura do programa. Debese descompoñe-lo programa en partes de complexidade abordable.
# Implementa-lo programa. Consiste en realizar un deseño detallado, especificando completamente todo o funcionamento do programa. Despois disto a codificiacióncodificación debería resultar inmediata.
# Implantar (instalar) o programa. Consiste en poñe-lo programa en funcionamento xunto cos compoñentes que poden necesitar (bases de datos, redes de comunicacionescomunicacións, etc.)
 
A enxeñería do software centrase nos pasos de planificación e deseño do programa, mentres que antigamente (programación artesanal) a realización dun programa consistiaconsistía unicamente en escribi-lo código.
 
== Referencias históricas ==
A primeira programadora de computadora coñecida foi [[Ada Lovelace]], filla de Anabella e [[Lord Byron]]. Anabella introduciu nas matemáticas a Ada, quen despois de coñecer a [[Charles Babbage]] traduciu e ampliou unha descripcióndescrición da suasúa máquina analítica. AindaAínda que Babbage nunca completou a construción de ningunha das súas máquinas, o traballo que Ada realizou con elas fixollefíxolle gaña-lo título de primeira programadora de computadoras do mundo. O nome da [[linguaxe de programación Ada]] foi escollido como homenaxe a esta programadora.
 
== ObxetivosObxectivos da programación ==
 
A programación de ordenadores debe perseguir tres obxectivos fundamentais:
 
* Corrección: Un programa é correcto se fai o que debe facer. Para determinar se un programa fai o que debe facer é moi importante especificar claramente que debe face-lo programa antes de desenrolalodesenvolvelo e unha vez rematado comparalo co que realmente faafai.
 
* Claridade: É moi importante que o programa sexa o máis claro e lexiglelexible posible para mellora-lo mantemento do software. Cando se acaba de escribi-lo código de programa, débense busca-los erros e corrixilos. Máis concretamente, cando o programa está rematado, é necesario facerlle ampliacións ou modificacións, segundo a demanda dos usuarios, esta laboura pode ser levada a cabo polo mesmo [[programador]] que implementou o programa ou por outros.
 
* Eficiencia: Debe consumir a menor cantidade posible de recursos. NormalementeNormalmente ó falar de eficiencia soesesóese facer referencia ó consumo de tempo e/ou memoria.
 
A eficiencia e a claridade dun programa pode ser obxectivos contrapostos: pódese conseguir maior claridade sacrificando parte da eficiencia ou viceversa. Pero hai que ter en conta que o tempo do programador é caro, e que hoxe en día o prezo dos ordenadores é razoable e cada vez son máis baratos.
Liña 55:
== Véxase tamén ==
 
* [[Linguaxe de programación]].
* [[Programación dirixida por eventos]].
* [[Programación estruturada]].
* [[Programación extrema]].
* [[Erro de software]].
* [[Programación orientada a obxectos]].
* [[Testeo de software]].
 
== Ligazóns externas ==
 
* [http://www.computerbooks01.com/store/books/3839/1/1/ Libros de referencia sobre programación].
* [http://www.hewop.com Grupo de programación HeWoP, un lugar para aprender a programar].
* [http://www.mentores.net Mentores.NET: Programación, Internet e Tecnoloxía].
* [http://www.elguruprogramador.com.ar El Guru Programador: ArticulosArtigos e TutoriaisTitoriais].
 
[[Categoría:Programación| Programacion]]