libredecuba
16-Oct-2007, 21:46
Para empezar a entender lo que es la programación, primero tenemos que tener ciertos conocimientos sobre todo lo que la rodea.
Empezaremos con unas definiciones un poco técnicas, pero que son imprescindibles para el aprendizaje.
Tecnología
Dentro del campo que nos interesa a nosotros, la tecnología tiene el objetivo de eliminar las tareas repetitivas, facilitando el trabajo y haciéndolo más eficiente así como aumentando la productividad y los beneficios de la empresa.
Programación
La programación es una de las etapas más importantes del ciclo de vida de un proyecto (explicaremos más adelante lo que es este término), y requiere un método de trabajo. La programación es el resultado de dicho trabajo.
La programación es el instrumento que permite la ejecución de las tareas automatizadas de un sistema informático.
Las herramientas que utilizaremos para programar son los lenguajes de programación, a través de las cuales codificaremos los programas.
Programa
Conjunto de instrucciones entendibles por el ordenador que permiten realizar un trabajo o resolver un problema.
Un programa debe ser finito, es decir, tiene que tener un inicio y un fin. Tiene que estar bien confeccionado para que, al introducir un dato, salga una solución y si se volviese a introducir el mismo dato, saliese de nuevo la misma solución.
Metodología de la programación
Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones que nos indican la forma de programar.
Cada lenguaje de programación sigue una metodología distinta.
Lenguaje de programación
Es un conjunto de reglas semánticas así como sintácticas que los programadores usan para la codificación de instrucciones de un programa o algoritmo de programación.
Existen varios lenguajes de programación.
Entorno de programación o entorno de desarrollo
Es el conjunto de herramientas utilizadas para la elaboración de un programa.
Recursos
Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco duro…..).
Una vez conocidos los conceptos básicos necesarios para el aprendizaje de la programación podemos empezar a ver los diferentes tipos de lenguajes de programación.
Tipos de lenguajes de programación
Existen dos tipos de lenguajes claramente diferenciados: los lenguajes de bajo nivel y los de alto nivel.
El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
* El lenguaje máquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
* El lenguaje ensamblador es un derivado del lenguaje máquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la/s máquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina.
Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).
Lenguajes de Medio nivel
Se trata de un termino no aceptado por todos, pero que seguramente habreís oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.
Generaciones
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
* Primera generación: lenguaje máquina.
* Segunda generación: se crearon los primeros lenguajes ensambladores.
* Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
* Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización de partes del código para otros programas. Ej. Visual, Natural Adabes…
* Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP
Empezaremos con unas definiciones un poco técnicas, pero que son imprescindibles para el aprendizaje.
Tecnología
Dentro del campo que nos interesa a nosotros, la tecnología tiene el objetivo de eliminar las tareas repetitivas, facilitando el trabajo y haciéndolo más eficiente así como aumentando la productividad y los beneficios de la empresa.
Programación
La programación es una de las etapas más importantes del ciclo de vida de un proyecto (explicaremos más adelante lo que es este término), y requiere un método de trabajo. La programación es el resultado de dicho trabajo.
La programación es el instrumento que permite la ejecución de las tareas automatizadas de un sistema informático.
Las herramientas que utilizaremos para programar son los lenguajes de programación, a través de las cuales codificaremos los programas.
Programa
Conjunto de instrucciones entendibles por el ordenador que permiten realizar un trabajo o resolver un problema.
Un programa debe ser finito, es decir, tiene que tener un inicio y un fin. Tiene que estar bien confeccionado para que, al introducir un dato, salga una solución y si se volviese a introducir el mismo dato, saliese de nuevo la misma solución.
Metodología de la programación
Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones que nos indican la forma de programar.
Cada lenguaje de programación sigue una metodología distinta.
Lenguaje de programación
Es un conjunto de reglas semánticas así como sintácticas que los programadores usan para la codificación de instrucciones de un programa o algoritmo de programación.
Existen varios lenguajes de programación.
Entorno de programación o entorno de desarrollo
Es el conjunto de herramientas utilizadas para la elaboración de un programa.
Recursos
Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco duro…..).
Una vez conocidos los conceptos básicos necesarios para el aprendizaje de la programación podemos empezar a ver los diferentes tipos de lenguajes de programación.
Tipos de lenguajes de programación
Existen dos tipos de lenguajes claramente diferenciados: los lenguajes de bajo nivel y los de alto nivel.
El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
* El lenguaje máquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
* El lenguaje ensamblador es un derivado del lenguaje máquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la/s máquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina.
Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).
Lenguajes de Medio nivel
Se trata de un termino no aceptado por todos, pero que seguramente habreís oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.
Generaciones
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
* Primera generación: lenguaje máquina.
* Segunda generación: se crearon los primeros lenguajes ensambladores.
* Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
* Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización de partes del código para otros programas. Ej. Visual, Natural Adabes…
* Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP