¿Qué
es un lenguaje de programación?
En informática, se conoce como lenguaje de
programación a un programa destinado a la construcción de otros programas
informáticos. Su nombre se debe a que comprende un lenguaje formal que está
diseñado para organizar algoritmos y procesos lógicos que serán luego llevados
a cabo por un ordenador o sistema informático, permitiendo controlar así su
comportamiento físico, lógico y su comunicación con el usuario humano.
Dicho lenguaje está compuesto por símbolos y
reglas sintácticas y semánticas, expresadas en forma de instrucciones y
relaciones lógicas, mediante las cuales se construye el código fuente de una
aplicación o pieza de software determinado. Así, puede llamarse también
lenguaje de programación al resultado final de estos procesos creativos.
Generaciones
de lenguajes de programación 
Primera generación: Los primeros ordenadores
se programaban directamente en código de máquina (basado en sistema binario),
que puede representarse mediante secuencias de ceros y unos sistema binario.
Cada modelo de ordenador tiene su propio código, por esa razón se llama
lenguaje de máquina u ordenadores. 
1GL:  Código máquina y Ensambladores 
La primera generación de lenguajes de
programación consistía enteramente de una secuencia de 0s y 1s que los
controles de la computadora interpretan como instrucciones, eléctricamente. 
Representan
los primeros lenguajes de programación que la computadora podía entender, son
conocidos como lenguaje máquina.
Segunda
generación: Los lenguajes simbólicos, asimismo propios de la máquina,
simplifican la escritura de las instrucciones y las hacen más legibles. También
surgieron en esta generación los lenguajes ensambladores. 
2GL:
 Primeros
lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic 
La segunda generación de lenguajes de
programación consistía se identificaron como lenguajes ensambladores. Un
lenguaje ensamblador convierte las secuencias de 0s y 1s a un lenguaje
entendido por los seres humanos, como “añadir”, “sumar”, etc. 
El código escrito en un lenguaje ensamblador
se convierte en lenguaje de máquina (1GL)
Tercera
generación: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas
por códigos independientes de la máquina, parecidas al lenguaje humano o al de
las Matemáticas. 
3GL:  Lenguajes estructurados: Algol, Pascal, C,
ADA. 
Lenguajes
Específicos: Lisp, Prolog, Smalltalk 
La tercera generación de lenguajes de
programación se conoce como lenguajes de alto nivel. Un lenguaje de alto nivel
tiene una gramática y sintaxis similar a las palabras en una oración. Un
compilador se encarga de traducir el lenguaje de alto nivel a lenguaje
ensamblador o código máquina. 
Todos los lenguajes de programación de
software necesitan ser traducidos a código de máquina para una computadora para
utilizar las instrucciones que contienen.
Cuarta
generación: 
Se ha dado este nombre a ciertas herramientas
que permiten construir aplicaciones sencillas combinando piezas prefabricadas.
Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes.
Algunos proponen reservar el nombre de cuarta generación para la programación
orientada a objetos. 
Estos lenguajes tienen una estructura lo más
parecido al idioma inglés, algunas características son: 
- Acceso a base de datos.    - Capacidades Gráficas.       - Generación de código automáticamente. 
- Puede programarse visualmente como Visual
Basic (Programación Visual). 
4GL:
 Lenguajes Declarativos: SQL Generadores
de aplicaciones, Herramientas CASE (Computer Aided Software Engineering, ingeniería
de software asistida por computador).
Programación Visual: Visual Basic, Visual C 
Lenguajes Orientados a Objeto C++, Java,
Eiffel 
La cuarta generación de lenguajes de
programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan
típicamente para acceder a bases de datos.
Quinta
generación: 
se
llama así a veces a los lenguajes de la inteligencia artificial, aunque con el
fracaso del proyecto japonés de la quinta generación el nombre ha caído en
desuso. 
5GL:
 Imitación de la mente humana 
La
quinta generación de lenguajes de programación es utilizada para redes
neuronales. Una red neuronal es una forma de inteligencia artificial que trata
de imitar la mente humana. 
Hechos/conceptos
(contenidos soporte)
- Herramientas y anotaciones para el diseño de algoritmos. Diagramas de flujo. Pseudocódigo. Tablas de decisión.
 - Estructura general de un programa. Partes de un programa (entrada, proceso, salida).
 - Clasificación de las instrucciones. De declaración. Primitivas. De control. Compuestas.
 - Variables auxiliares. Contadores. Acumuladores. Switches
 - Técnicas de programación. Programación convencional. Programación estructurada (teorema y herramientas). Programación modular (subprogramas, procedimientos, funciones, recursos).
 
Existen varias clases de programación, dependiendo de los métodos utilizados y las técnicas empleadas.
Por Sara Alvarez
Los tipos o técnicas de programación son bastante variados, aunque puede
 que muchos de los lectores sólo conozcan una metodología para realizar 
programas. En la mayoría de los casos, las técnicas se centran en 
programación modular y programación estructurada, pero existen otros 
tipos de programación. Los explicaremos a lo largo del artículo.
Programación estructurada (PE)
La programación estructurada esta compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.
Esta técnica incorpora:
Las principales ventajas de la programación estructurada son:
Un programa esta estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
Programación modular
En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.
En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.
Programación orientada a objetos (POO)
Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.
El elemento principal de la programación orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales características y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos.
En DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la programación orientada a objetos.
Programación concurrente
Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea.
Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.
Programación funcional
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.
Programación lógica
Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
Programación estructurada (PE)
La programación estructurada esta compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.
Esta técnica incorpora:
- Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
 - Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
 - Estructuras básicas: existen tres tipos de estructuras básicas:
 
- Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
 - Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
 - Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.
 
 
Las principales ventajas de la programación estructurada son:
- Los programas son mas fáciles de entender
 - Se reduce la complejidad de las pruebas
 - Aumenta la productividad del programador
 - Los programas queden mejor documentados internamente.
 
Un programa esta estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
Programación modular
En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.
En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.
Programación orientada a objetos (POO)
Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.
El elemento principal de la programación orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales características y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos.
En DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la programación orientada a objetos.
Programación concurrente
Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea.
Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.
Programación funcional
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.
Programación lógica
Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
 Tipos de Programación
LENGUAJE C
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LENGUAJE C
INTRODUCCION 
 | 
 
El
  lenguaje C fue inventado e implementado por primera vez por Dennis Ritchie en
  un 
DEC
  PDP-11 en Bell Laboratories. 
 | 
 
Es
  el resultado de un proceso de desarrollo comenzado con un lenguaje anterior 
denominado
  B, inventado por Ken Thompson. En los años 70 el lenguaje B llevó al 
desarrollo
  del C. En 1978, Brian Kernighan y Dennis Ritchie publicaron el libro The C 
Programming
  Language que ha servido hasta la actualidad como definición eficiente de 
este
  lenguaje. 
 | 
 
Durante
  muchos años el estándar de C fue la versión proporcionada con la versión cinco 
del
  sistema operativo UNIX. En 1983, el instituto de estándares americanos estableció 
un
  estándar que definiera el lenguaje C, conocido como ANSI C. Hoy día, todos los 
principales
  compiladores de C llevan implementado el estándar ANSI. 
 | 
 
El
  lenguaje C se denomina como un lenguaje de nivel medio, puesto que combina 
elementos
  de lenguajes de alto nivel (Fortran, Pascal, Basic…) con el funcionalismo del 
lenguaje
  ensamblador. 
 | 
 
C permite
  la manipulación de bits, bytes y direcciones (los elementos básicos con que 
funciona
  la computadora). 
 | 
 
Otras
  características del C es que posee muy pocas palabras clave (32, donde 27 fueron 
definidas
  en la versión original y cinco añadidas por el comité del ANSI, enum, const, 
signed, void y volatile). Todas
  las palabras clave de C están en minúsculas (C distingue 
entre
  las mayúsculas y minúsculas). En la siguiente tabla se muestran las 32 palabras 
clave:  
 | 
 
auto 
double 
int 
struct 
 | 
 
break 
else 
long 
switch 
 | 
 
case 
enum 
register 
typedef 
 | 
 
char 
extern 
return 
union 
 | 
 
const 
float 
short 
unsigned 
 | 
 
continue 
for 
signed 
void 
 | 
 
default 
goto 
sizeof 
volatile 
 | 
 
do 
if 
static 
while 
 | 
 
Los
  programas en C consisten en una o más funciones. La única función que debe estar 
absolutamente
  presente es la denominada main, siendo la primera función que es 
llamada
  cuando comienza la ejecución del programa. Aunque main no forma 
técnicamente
  parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea 
para
  nombrar una variable, probablemente confundirá al compilador. 
 | 
 
La
  forma general de un programa en C es: 
 | 
 
instrucciones del preprocesador 
declaraciones globales 
tipo_devuelto main(lista de parámetros) 
{ 
       
  secuencia de sentencias 
} 
 | 
 
tipo_devuelto función_1(lista de parámetros) 
{ 
      
  secuencia de sentencias 
} 
tipo_devuelto función_2(lista de parámetros) 
{ 
      
  secuencia de sentencias 
} 
 | 
 
….. 
 | 
 
….. 
tipo_devuelto función_n(lista de parámetros) 
{ 
      
  secuencia de sentencias 
} 
 | 
 
El
  programa así escrito se denomina programa fuente y puede estar escrito en uno
  o 
varios
  ficheros. 
 | 
 
Para
  que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas 
aquellas
  funciones de la biblioteca que se necesiten. 
 | 
 
El
  proceso de compilar consiste en traducir el programa fuente a código o lenguaje 
máquina. 
 | 
 
El
  proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas 
existentes
  en el mercado) que también están en código máquina, es decir, están en 
objeto. 
 | 
 
Una
  vez enlazado el programa objeto, tenemos un programa ejecutable que se puede 
ejecutar
  en el ordenador. 
 | 
 
Estos
  procesos son realizados por un programa llamado compilador. 
 | 
 
El
  compilador en las máquinas Alpha del C. P. D. es el DEC OSF/1 Versión 4.0. Para 
compilar
  y enlazar un programa con este compilador basta con hacer 
 | 
 
cc
  nombre_del_programa.c 
 | 
 
para
  crear, si no hay errores, un ejecutable (a.out). Existen múltiples opciones en
  el 
compilador
  que se pueden comprobar con el comando de ayuda de los sistemas 
operativos. 
 | 
 
Los
  ejemplos del curso siguen la sintaxis aceptada por el estándar ANSI, con lo que
  son 
portables
  con cualquier otro compilador que lo lleve implementado. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  | 
 


Revisar esta unidad y apoyar sus estudios con mas documentacion en internet.
ResponderEliminarSólo hay un bien: el conocimiento. Sólo hay un mal: la ignorancia.
Enviar frase
Sócrates
Johan Ruano 1ro INF A
ResponderEliminar