Programación: Diferenzas entre revisións
m sustantivo -> substantivo |
arranxiños |
||
Liña 1: | Liña 1: | ||
{{Proceso de desenvolvemento SW}} |
{{Proceso de desenvolvemento SW}} |
||
Chámase '''programación''' á creación dun [[programa informático|programa de computadora]], un conxunto concreto de |
Chámase '''programación''' á creación dun [[programa informático|programa de computadora]], un conxunto concreto de instrucións que unha computadora pode executar. O programa escríbese nunha [[linguaxe de programación]], aí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]]. |
[[Software]] é o substantivo que denomina ós programas e datos da [[computadora]]. |
||
Liña 6: | Liña 6: | ||
== Programas e algoritmos == |
== Programas e algoritmos == |
||
Un [[algoritmo]] é unha secuencia non ambigua, finita e |
Un [[algoritmo]] é unha secuencia non ambigua, finita e ordenada de instrució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. |
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. |
||
Segundo [[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 |
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 programacións [[programación lineal|lineal]], [[programación estruturada|estruturada]], [[programación modular|modular]] y [[programación orientada a obxectos|orientada a obxectos]]. |
||
== Compilación == |
== Compilación == |
||
O programa escrito nunha [[linguaxe de programación]] (comprensible polo home, |
O programa escrito nunha [[linguaxe de programación]] (comprensible polo home, aínda que soen 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, aínda que tamén pode ser executado mediante 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]]. |
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 |
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 linguaxe 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]], |
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]], aínda que non é unha práctica habitual. |
||
== Programación e [[enxeñería do software]] == |
== Programación e [[enxeñería do software]] == |
||
Existe unha tendencia a |
Existe unha tendencia a identifica-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: |
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. |
# 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. |
# Recolle-los requisitos do programa. Debe quedar claro que é o que debe face-lo programa e para que se necesita. |
||
# Realiza- |
# Realiza-la aná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. |
||
# |
# Deseñ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 |
# Implementa-lo programa. Consiste en realizar un deseño detallado, especificando completamente todo o funcionamento do programa. Despois disto a codificació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 |
# Implantar (instalar) o programa. Consiste en poñe-lo programa en funcionamento xunto cos compoñentes que poden necesitar (bases de datos, redes de comunicació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 |
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 consistía unicamente en escribi-lo código. |
||
== Referencias históricas == |
== 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 |
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 descrición da súa máquina analítica. Aínda que Babbage nunca completou a construción de ningunha das súas máquinas, o traballo que Ada realizou con elas fí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. |
||
== |
== Obxectivos da programación == |
||
A programación de ordenadores debe perseguir tres obxectivos fundamentais: |
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 |
* 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 desenvolvelo e unha vez rematado comparalo co que realmente fai. |
||
* Claridade: É moi importante que o programa sexa o máis claro e |
* Claridade: É moi importante que o programa sexa o máis claro e lexible 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. |
* Eficiencia: Debe consumir a menor cantidade posible de recursos. Normalmente ó falar de eficiencia só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. |
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: | Liña 55: | ||
== Véxase tamén == |
== Véxase tamén == |
||
* [[Linguaxe de programación]] |
* [[Linguaxe de programación]]. |
||
* [[Programación dirixida por eventos]] |
* [[Programación dirixida por eventos]]. |
||
* [[Programación estruturada]] |
* [[Programación estruturada]]. |
||
* [[Programación extrema]] |
* [[Programación extrema]]. |
||
* [[Erro de software]] |
* [[Erro de software]]. |
||
* [[Programación orientada a obxectos]] |
* [[Programación orientada a obxectos]]. |
||
* [[Testeo de software]] |
* [[Testeo de software]]. |
||
== Ligazóns externas == |
== Ligazóns externas == |
||
* [http://www.computerbooks01.com/store/books/3839/1/1/ Libros de referencia sobre programación] |
* [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.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.mentores.net Mentores.NET: Programación, Internet e Tecnoloxía]. |
||
* [http://www.elguruprogramador.com.ar El Guru Programador: |
* [http://www.elguruprogramador.com.ar El Guru Programador: Artigos e Titoriais]. |
||
[[Categoría:Programación| Programacion]] |
[[Categoría:Programación| Programacion]] |
Revisión como estaba o 21 de febreiro de 2011 ás 23:54
Chámase programación á creación dun programa de computadora, un conxunto concreto de instrucións que unha computadora pode executar. O programa escríbese nunha linguaxe de programación, aí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.
Programas e algoritmos
Un algoritmo é unha secuencia non ambigua, finita e ordenada de instrució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.
Segundo Niklaus Wirth un programa está formado por algoritmos 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 programacións lineal, estruturada, modular y orientada a obxectos.
Compilación
O programa escrito nunha linguaxe de programación (comprensible polo home, aínda que soen 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, aínda que tamén pode ser executado mediante 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 linguaxe de alto nivel a código obxecto (máis próximo á linguaxe máquina). O segundo paso chamase 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, aínda que non é unha práctica habitual.
Programación e enxeñería do software
Existe unha tendencia a identifica-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-la aná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.
- Deseñ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 codificació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 comunicació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 consistí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 descrición da súa máquina analítica. Aínda que Babbage nunca completou a construción de ningunha das súas máquinas, o traballo que Ada realizou con elas fí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.
Obxectivos 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 desenvolvelo e unha vez rematado comparalo co que realmente fai.
- Claridade: É moi importante que o programa sexa o máis claro e lexible 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. Normalmente ó falar de eficiencia só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.
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.