Discusión:Programación

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre
Esta página le interesa al Wikiproyecto Informática.

Hay algunas cosas en el enfoque de este artículo que son, a mi parecer, incorrectas.

En primer lugar se define la programación como un proceso (y esto es una traducción directa de la Wikipedia en inglés). La programación no es en primera instancia un proceso sino un área disciplinar; esta acepción implica que se entiende la programación como desarrollo de software, lo cual es correcto. El proceso mediante el que se crea un programa es precisamente un "proceso de desarrollo" que puede ser en cascada, iterativo, etc, y que define una visión respecto del "ciclo de vida" del software.

El primer párrafo no contempla la captura de requisitos y el análisis, y eso es absurdo. La programación necesariamente incluye diversas tareas de captura de requisitos y análisis (sin importar el nombre con el que se les designe), porque simplemente no se puede crear un programa sin capturar y analizar los requisitos, aunque sea de un modo adhoc, informal o como quiera adjetivarse.

Las visiones "separatistas" que pretenden escindir de la programación las tareas que implican la captura de requisitos, el análisis e incluso el diseño, provienen de la infeliz elección de la metáfora de la construcción que fue ampliamente utilizada para intentar explicar el enfoque propuesto por la ingeniería del software, y a mi entender, el énfasis que se pone sobre esta separación es consecuencia de los intereses de las empresas por abaratar el costo de desarrollar software, porque es más barato pagar sueldos altos a unos pocos analistas (el ingeniero) y diseñadores (el arquitecto), y sueldos sensiblemente más bajos a una cantidad mucho mayor de "programadores" (los obreros: visión subjetiva del programador como codificador).

Es particularmente infeliz el párrafo que habla de "diseño de la aplicación" para establecer una clara diferencia con el "diseño del código". No sólo es absurda la afirmación sino que tampoco utiliza correctamente la terminología. Cuando habla de "diseño de la aplicación" se refiere a la "arquitectura del sistema" y el "diseño del código" sería la modularización hacia el interior de "componentes". Esto es una visión muy parcial y no debería utilizarse como una definición.

Entonces, si el artículo intenta ser objetivo mostrando las diferentes visiones del desarrollo de software como arte, artesanía e ingeniería, no puede establecer como definiciones generales sentencias que enfatizan una visión sobre las demás.

Desde la perspectiva de la semántica del idioma, si llamamos "programa" al software es porque el comportamiento que exhibe fue preestablecido. Y de allí que llamamos programación al conjunto de actividades que implican la creación de un "programa" y "programadores" a quienes realizan esas actividades.

También existe una perspectiva que puede ser suficientemente objetiva: la perspectiva histórica. Dejemos de lado la época en que la programación era puramente binaria, es decir, situémonos en la época en que los programas ya eran externos a la máquina, almacenados y cargados en una memoria interna para su ejecución, y que se creaban usando un lenguaje de programación.

Lo importante es comprender que se programaron computadoras desde mucho tiempo antes que se pergeniara el concepto de "ingeniería del software", que para crear un programa siempre se necesitó conocer qué es lo que el programa debía hacer, que ese conocimiento sólo podía surgir de la captura y análisis de los requerimientos y el que programa necesariamente se debió estructurar, modularizar, es decir, diseñar, entonces programación es el concepto que designa a todo el conjunto de actividades necesarias para crear un programa.

Las secciones problemáticas, a mi entender, el texto inicial que pretende ser una definición y la sección "Programación e ingeniería del software".

Si alguno de los editores se interesa en esta discusión, más adelante propondré cambios concretos.

--fbarg (discusión) 18:52 19 feb 2012 (UTC)[responder]


No concuerdo con casi ninguno de tus conceptos. Y, respetuosamente, no estoy interesado en discutirlo. (por cierto, ubicaste mal tu comentario, debió ser nuevo e ir al final, el orden es cronológico) --SergioN (discusión) 01:07 20 feb 2012 (UTC)[responder]
Si no estás interesado en discutirlo, no tiene sentido tu intervención. A mi no me interesa en absoluto esta opinión tuya por el hecho de que no expusiste ningún fundamento. Por favor, si no te interesa discutir (con los debidos fundamentos) los puntos que planteo, no me respondas.
--fbarg (discusión) 09:12 21 feb 2012 (UTC)[responder]

Enlaces

He quitado programacion.us ya que te llevaba a una página de publicidad y no aportaba nada.

aulambra


No estoy de acuerdo con que la programación envuelva las tareas indicadas en la versión actual [06:53 12 oct, 2003]. Diseño, Codificación, Testes y Depuración parecen mas bien corresponder a las tareas del Desarrollo de un Sistema. Desde mi punto de vista el término programación es sinónimo de codificación (en el contexto del desarrollo de software)

Aleurent


TODO

  • sacar los enlaces especificos a determinados temas y poner otros más genericos

en el lugar:

    • analisis de sistemas
    • especificacion formal
    • lenguajes de programacion
    • ingenieria de software
      • CASE
      • modelos (ER, OO etc)
    • herramientas de programacion
    • teoria de la computacion

Sauron

he realizado los siguientes cambios, que quizá hayan sido demasiado ambiciosos para mi primera colaboración:

  • Estructurar el artículo
  • Corregir la definición de algoritmo
  • Corregir las fases de la ingeniería del software
  • Hacer una referencia más explícita a compilación

fortran


disambiguación[editar]

Hay que crear una pagina de disambiguación

Eficiencia y Claridad[editar]

El texto "La eficiencia y la claridad de un programa pueden ser objetivos contrapuestos" no es correcto. Se puede ser muy eficiente documentando bien el algoritmo y código fuente. Además el texto sugiere que se sacrifique eficiencia por una cuestión de costos de los ordenadores, cuando en realidad, depende mucho del software a desarrollar, ya que por mas moderno que sea el ordenador, se pude necesitar la mayor eficiencia posible. --Beelzebub 22:27 29 may 2007 (CEST)

Estoy de acuerdo con Beelzebub. He modificado un poco esta sección y quiero seguir ampliándola poco a poco si os parece bien.--Jaromero (discusión) 10:41 26 jun 2008 (UTC)[responder]