# Introducción a la Programación
## Introducción

Este libro está hecho para personas que no tienen nociones sobre programación, para orientarlas en el tema y encaminarlas a los conceptos básicos de la programación y al desarrollo de programas utilizando algunos lenguajes de programación.

## Programación

Se llama Programación a la implementación de un algoritmo en un determinado lenguaje de programación en una computadora, para realizar un programa.
Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un algoritmo tiene las siguientes características importantes: - Debe ser definido,si se sigue las instrucciones dos veces se debe obtener el mismo resultado - Debe ser preciso,debe indicar claramente los pasos y el orden en el que se debe ejecutar - Debe tener un fin - Debe ser simple,fácil de entender por cualquier persona
Programa (Software en inglés) es una secuencia de instrucciones que una computadora puede interpretar y ejecutar.
El proceso de creación de software es materia de la ingeniería del software, una de las ramas propias de la Ingeniería Informática.
Según Niklaus Wirth un programa está formado por algoritmos y estructura de datos.
Se han propuesto diversas técnicas de programación, cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas se pueden mencionar las programaciones lineal, estructurada, modular y orientada a objetos.

## Lenguajes de Programación

Lenguaje de programación es el idioma utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
Hay muchos lenguajes de programación, pero para programar no es necesario conocer todos los lenguajes, es igual que cuando hablamos, podemos comunicarnos en español aunque no sepamos alemán. Aunque la palabra debería ser idioma ya que lenguaje realmente abarca todos los idiomas pero en computación equivocadamente se usa el término lenguaje cuando el término correcto es idiomas de programación.
En la actualidad los lenguajes de programación están escritos para ser comprensibles por el ser humano, a este código se le llama código fuente, pero no es comprendido por la máquina ya que esta solo maneja el lenguaje ensamblador (en inglés assembler).
La compilación es el proceso de traducir un programa en código fuente a programa en código objeto (que usa el lenguaje binario), el programa encargado de compilar se llama compilador. La mayoría de software de programación trae su propio compilador.

### Tipos de lenguajes de programación

lenguajes de programación de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de bajo nivel.
Ejemplos de lenguajes de alto nivel: C++,Java,Python
Ejemplos de lenguaje de bajo nivel: assembler
Por la forma como se ejecutan Hay lenguajes compilados e interpretados.
Los lenguajes compilados necesitan de un programa especial que lea el código fuente y cree un archivo binario ejecutable para una plataforma específica. Ejm: C++, Pascal.
Los lenguajes interpretados necesitan de un programa que traduzca en directo el código fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic, Script.
Los primeros son más rápidos, mientras que los segundos son más lentos, esto debido a que al compilar un programa las ordenes son más entendibles para la computadora, mientras que al interpretarlo la máquina primero debe leer el código y convertir al paso las instrucciones a instrucciones de máquina entendibles para ella.

## Entorno de Desarrollo Integrado

Entorno de Desarrollo Integrado (en inglés Integrated Development Environment 'IDE'): Es un programa compuesto por un conjunto de herramientas para un programador. Estos IDE son programas que sirven para programar, ya sea en un lenguaje de programación o en varios lenguajes. Los IDE que permiten crear programas en muchos lenguajes de programación permiten usar un solo programa para trabajar en varios lenguajes de programación, es decir no limitan al programador.
Ejemplos de IDES:
* Gambas (lenguaje derivado de BASIC),
* Eclipse (lenguaje Java),
* Kdevelop (varios lenguajes),
* Netbeans (varios lenguajes: java, php , C/C++),
* Visual Studio (varios lenguajes: C, C++, C#, Visual basic, ASP, Javascript)
* RAD Studio (Delphi, C++)

## Bibliografía

* http://es.wikipedia.org/wiki/Programación
* http://es.wikipedia.org/wiki/Programa
* http://es.wikipedia.org/wiki/Compilar
* http://es.wikipedia.org/wiki/Ambiente_integrado_de_desarrollo
* http://es.wikipedia.org/wiki/Lenguaje_de_programacion

## Enlaces Externos

Aprende Programación con Realbasic - Crea software multiplataforma (para Linux, mac y windows) desde Linux