Programación: Diferenzas entre revisións

Na Galipedia, a Wikipedia en galego.
Contido eliminado Contido engadido
Beninho (conversa | contribucións)
m sustantivo -> substantivo
Servando2 (conversa | contribucións)
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 instruccións que unha computadora pode executar. O programa escríbese nunha [[linguaxe de programación]], ainda 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.
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 ordeada de instrucció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.
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.


Según [[Niklaus Wirth]] un programa está formado por [[algoritmo]]s y [[estrutura de datos]].
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 programacions [[programación lineal|lineal]], [[programación estruturada|estruturada]], [[programación modular|modular]] y [[programación orientada a obxectos|orientada a obxectos]].
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, ainda que solen 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, ainda que tamén pode ser executado mendiante un [[intérprete informático]]
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 linguxe 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]].
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]], ainda que non é unha práctica habitual.
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 indentifica-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.
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-lo anaálisis 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.
# 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.
# Diseña-la arquitectura do programa. Debese descompoñe-lo programa en partes de complexidade abordable.
# 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 codificiación debería resultar inmediata.
# 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 comunicaciones, etc.)
# 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 consistia unicamente en escribi-lo código.
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 descripción da sua máquina analítica. Ainda que Babbage nunca completou a construción de ningunha das súas máquinas, o traballo que Ada realizou con elas fixolle 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.
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.


== Obxetivos da programación ==
== 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 desenrolalo e unha vez rematado comparalo co que realmente faa.
* 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 lexigle 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.
* 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. Normalemente ó falar de eficiencia soese facer referencia ó consumo de tempo e/ou memoria.
* 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: Articulos e Tutoriais]
* [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:

  1. Recoñece-la necesidade dun programa para solucionar un problema ou identifica-la posibilidade de automatización dunha tarefa.
  2. Recolle-los requisitos do programa. Debe quedar claro que é o que debe face-lo programa e para que se necesita.
  3. 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.
  4. Deseña-la arquitectura do programa. Debese descompoñe-lo programa en partes de complexidade abordable.
  5. 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.
  6. 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

Ligazóns externas