Tarifas
Contacto

Historia de la Computacion


5.-Lenguajes de Programación

Lenguajes de bajo nivel:

            Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y rápidos, pero son de difícil aprendizaje.

Lenguajes de alto nivel:

            El programador escribe su programa en alguno de estos lenguajes (Pascal, Cobol, Basic, Fortran, C++ ) mediante secuencias de instrucciones.

            Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez (lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes).

            Los lenguajes de alto nivel: un programa de computadora, es una colección de instrucciones que, al ser ejecutadas por el CPU de una máquina, llevan a cabo una tarea ó función específica.

            Este conjunto de instrucciones que forman los programas son almacenados en archivos denomina dos archivos ejecutables puesto que, al teclear su nombre (o hacer clic sobre el icono que los identifica) logras que la computadora los cargue y corra, o ejecute las instrucciones del archivo.

            El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.

            Los archivos de programas ejecutables contienen el código máquina, que la CPU identifica como sus instrucciones. Son lo que conocemos como Programas Objeto.

            Dado que sería muy difícil que los programadores crearan programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.

            El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras, estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente).

            Si los programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa fuente para modificarlo.

            El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro archivo.

Programa fuente:

            Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.

Programa objeto:

            Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

Programación orientada a objetos:

            La programación orientada a objetos no es un concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los 70. Se puede definir programación orientada a objetos (OOPS) como una técnica de programación que utiliza objetos como bloque esencial de construcción,es un tipo de programación más cercana al razonamiento humano.

            La OOPS surge como una solución a la programación de grandes programas, y para solventar el mantenimiento de dichas aplicaciones, ya que en la programación estructura el más mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio con la OOPS solo es cuestión de añadir o modificar métodos de una clase o mejor, crear una nueva clase a partir de otra (Herencia).

Concepto de Objeto:

            Desde un punto de vista general un Objeto es una estructura de datos de mayor o menor complejidad con las funciones que procesan estos datos. Dicho de otra forma, sería Datos más un Código que procesa estos datos.

            A los datos se les denomina miembros dato y a las funciones miembros o miembros funciones. Los datos están ocultos y sólo se puede acceder a ellos mediante las funciones miembros.

Clases:

            Las Clases son como plantillas o modelos que describen como se construyen ciertos tipos de Objeto. Cada vez que se construye un Objeto de una Clase, se crea una instancia de esa Clase("instance").

            Una Clase es una colección de Objetos similares y un Objeto es una instancia de una Clase. Se puede definir una Clase como un modelo que se utiliza para describir uno o más Objetos del mismo tipo.

Herencia:

            Una característica muy importante de los Objetos y las Clases es la Herencia, una propiedad que permite construir nuevos Objetos (Clases) a partir de unos ya existentes. Esto permite crear "Sub-Clases" denominadas Clases Derivadas que comparten las propiedades de la Clase de la cual derivan (Clase base).

            Las Clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. Se puede decir que la herencia permite definir nuevas Clases a partir de las Clases ya existentes.

Polimorfismo:

            En un sentido literal, Polimorfismo significa la cualidad de tener más de una forma. En el contexto de POO, el Polimorfismo se refiere al hecho de que una simple operación puede tener diferente comportamiento en diferentes objetos.

Compilador:

            Es un programa que traduce un lenguaje de alto nivel al lenguaje máquina. Un programa compilado indica que ha sido traducido y está listo para ser ejecutado. La ejecución de los programas compilados es más rápida que la de los interpretados, ya que el interprete debe traducir mientras está en la fase de ejecución (saca todos los errores).

            Un compilador es un programa que traduce el programa fuente (conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o Pascal) a programa objeto (instrucciones en lenguaje máquina que la computadora puede interpretar y ejecutar).

            Se requiere un compilador para cada lenguaje de programación. Un compilador efectúa la traducción, no ejecuta el programa. Una vez compilado el programa, el resultado en forma de programa objeto será directamente ejecutable.

            Presentan la ventaja considerable frente a los intérpretes de la velocidad de ejecución, por lo que su uso será mejor en aquellos programas probados en los que no se esperan cambios y que deban ejecutarse muchas veces. En caso de que se opte por un interpretador se debe considerar que el intérprete resida siempre en memoria.

Interprete:

            Traductor de lenguajes de programación de alto nivel, los interpretes ejecutan un programa línea por línea. El programa siempre permanece en su forma original(programa fuente) y el interprete proporciona la traducción al momento de ejecutar cada una de la s instrucciones.

            Un intérprete es un programa que procesa los programas escritos en un lenguaje de alto nivel, sin embargo, está diseñado de modo que no existe independencia entre la etapa de traducción y la etapa de ejecución. Un intérprete traduce cada instrucción o sentencia del programa escrito a un lenguaje máquina e inmediatamente se ejecuta.

            Encuentran su mayor ventaja en la interacción con el usuario, al facilitar el desarrollo y puesta a punto de programas, ya que los errores son fáciles de detectar y sobre todo de corregir.

Lenguaje máquina:

            Lenguaje original de la computadora, un programa debe estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programación, el cual es traducido al lenguaje de máquina mediante intérpretes y

compiladores.

Case (Computer-Aided Software Engineering o Computer- Aided Systems Engineering):

            Ingeniería de Software Asistida por Computadora o Ingeniería de Sistemas Asistida por computadora Software que se utiliza en una cualquiera o en todas las fases del desarrollo de un sistema de información, incluyendo análisis, diseño y programación.

            Por ejemplo, los diccionarios de datos y herramientas de diagramación ayudan en las fases de análisis y diseño, mientras que los generadores de aplicaciones aceleran la fase de programación.

            Las herramientas CASE proporcionan métodos automáticos para diseñar y documentar las técnicas tradicionales de programación estructurada. La meta última de CASE es proveer un lenguaje para describir el sistema completo, que sea suficiente para generar todos los programas necesarios. 

Cronología de los Lenguajes de programación

1954 FORTRAN Formula Translation (Traducción de fórmulas): Diseñado en un principio para usos científicos y de ingeniería, se trata de un lenguaje compilado de alto nivel que hoy se utiliza en numerosos campos. Precursor de diversos conceptos, como las variables, las instrucciones condicionales y las subrutinas compiladas por separado.

1959 COBOL  Common Business-Oriented Language (Lenguaje simbólico de programación orientado a aplicaciones comerciales): Lenguaje de programación semejante al idioma inglés, que hace hincapié en las estructuras de datos. De amplia utilización, principalmente en empresas.

1960 ALGOL  ALGOrithmic Language (Lenguaje ALGOL algorítmico): Primer lenguaje de programación procedural estructurado, utilizado sobre todo para resolver problemas matemáticos.

1960 LISP LISt Processing (Procesamiento de listas): Lenguaje de programación orientado a la generación de listas, utilizado principalmente para manipular listas de datos. Lenguaje interpretado que suele utilizarse en las investigaciones y está considerado como el lenguaje estándar en proyectos de inteligencia artificial.

1961 APL A Programming Language (Un lenguaje de programación): Lenguaje interpretado que utiliza un amplio conjunto de símbolos especiales y que se caracteriza por su brevedad. Utilizado fundamentalmente por los matemáticos.

1964 PL/1 Programming Language 1 (Lenguaje de programación uno): Diseñado para combinar las principales virtudes del FORTRAN, COBOL y ALGOL, se trata de un lenguaje de programación complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en entornos académicos y de investigación.

1965 BASIC Beginners All-Purpose Symbolic Instruction Code(Código de instrucciones simbólicas multipropósito para principiantes): Lenguaje de programación de alto nivel, utilizado con frecuencia por programadores principiantes.

1968 LOGO Derivado del griego logos, ‘palabra’: Lenguaje de programación que suele utilizarse con niños. Presenta un sencillo entorno de dibujo y varias prestaciones de mayor nivel del lenguaje LISP. Fundamentalmente educativo.

1969 PILOT Programmed Inquiry, Language Or Teaching (Consulta, lenguaje o aprendizaje de investigación programada): Lenguaje de programación utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por computadora. Se caracteriza por utilizar un mínimo de sintaxis.

1970 FORTH Lenguaje de cuarta (FOuRTH) generación: Lenguaje estructurado e interpretado de fácil ampliación. Ofrece una alta funcionalidad en un espacio reducido.

1971 PASCAL Blaise PASCAL, matemático e inventor del primer dispositivo de computación: Lenguaje compilado y estructurado basado en ALGOL. Agrega tipos y estructuras de datos simplificando la sintaxis. Al igual que el C, se trata de un lenguaje de programación estándar para microcomputadoras.

1972 C Predecesor del lenguaje de programación B, fue desarrollado en Bell Laboratory: Lenguaje de programación compilado y estructurado, que suele utilizarse en numerosos lugares de trabajo porque sus programas pueden transferirse fácilmente entre distintos tipos de computadoras.

1979 ADA  Augusta ADA Byron (Lady Lovelace): Derivado de Pascal, utilizado principalmente por los militares.

1980 MODULA-2: Diiseñado como fase secundaria de Pascal: Lenguaje que hace hincapié en la programación modular. Es un lenguaje de alto nivel basado en Pascal, que se caracteriza por la ausencia de funciones y procedimientos estandarizados.

1983 C++: Una versión orientada a objetos derivada del lenguaje de programación de aplicación general denominado C, desarrollada por Bjarne Stroustrup en los Bell Laboratories de la compañía American Telephone and Telegraph (AT&T); en un principio también fue conocido como C with Classes (C con clases, alusión a las clases de la programación orientada a objetos).

1995 JAVA: Lenguaje de programación orientado a objetos desarrollado por la empresa Sun Microsystems y que se ha extendido ampliamente en World Wide Web. Es un lenguaje de alto nivel y propósito general similar a C++, con marcadas características de seguridad y transportabilidad.

2000 C#: Nombre dado a un nuevo lenguaje de programación, derivado del C/C++, con la finalidad de proporcionar un método sencillo de creación de aplicaciones de propósito general y con programación orientada a objetos (POO).

AÑO

LENGUAJE

INVENTOR

DESCRIPCION

1900s

BINARIO

Bool

primer lenguaje

1946

Plankalkul

creado para jugar al ajedrez

1947

Short Code

lenguaje traducido a mano

1947

ASM (ensamblador)

lenguaje ensamblador

1949

A-0

fue el primer compilador

1950

AUTOCODE

compilador muy rudimentario

1954

FORTRAN

Sistema de TRAducción de FORmulas matemáticas

1956

FORTRAN I

IBM

Sistema de TRAducción de FORmulas matemáticas

1957

FORTRAN II

IBM

Sistema de TRAducción de FORmulas matemáticas

1957

B-O

 

 

1958

FORTRAN III

 

Sistema de TRAducción de FORmulas matemáticas

1958

IAL

 

 

1958

LISP

 

 

1958

FLOW-MATIC

 

 

1958

ALGOL 58

 

 

1959

COBOL

 

Compilador

1959

LISP I

 

Interprete orientado a la Inteligencia Artificial

1959

JOVIAL

 

 

1960

APL

 

 

1960

 JOVIAL I

1960

 ALGOL 60

1961

 ALGOL 60 Revisado

1961

 JOVIAL II

1961

COBOL 61

 

 

1962

LISP 1.5

 

 

1962

FORTRAN IV

IBM

Sistema de TRAducción de FORmulas matemáticas

1962

SNOBOL I

 

 

1962

COBOL 61 Extendido

 

 

1963

CPL

 

 

1964

JOSS

 

 

1964

PL/I

 

 

1964

CORAL 64

 

 

1964

SIMULA I

 

 

1964

GOGOL

 

 

1964

SNOBOL II

 

 

1964

PASCAL

Niklaus Wirth

programacion estructurada

1964

BASIC

Universidad de Dartmouth (california)

Beginners All Purpose Symbolic Instruction Code

1965

SNOBOL III

 

 

1965

APL

 

solo anotacion

1965

COBOL 65

 

 

1965

TELCOMP

 

 

1965

JOVIAL III

 

 

1966

PL/I

 

 

1966

FORTRAN 66

IBM

sistema de TRAducción de FORmulas matemáticas

1966

MUMPS

 

 

1966

CORAL 66

 

 

1966

ISWIN

 

 

1967

SIMULA 67

 

 

1967

BCPL

 

 

1967

GOGOL III

 

 

1967

SNOBOL IV

 

 

1968

ALGOL 68

 

 

1968

FORTH

 

 

1968

LOGO

 

 

1968

COBOL 66 ANS

 

 

1968

SAIL

 

 

1969

B

 

 

1969

SH

 

 

1970

PROLOG

 

 

1970

PASCAL

 

 

1970

GW-BASIC

 

antiguo y clasico BASIC

1970

 

 

 

1970

APL/360

 

 

1971

SMALLTALK

Centro de Investigación de Xerox en Palo Alto

pequeño y rapido

1971

C

Laboratorios Bell

lenguaje con tipos

1972

PL/M

 

 

1972

SMALLTALK 72

1973

ML

 

 

1974

COBOL 74

 

 

1974

CLU

 

 

1974

SMALLTALK 74

 

 

1975

MODULA

 

 

1975

MAINSAIL

 

 

1975

MS-BASIC 2.0

 

 

1975

SCHEME

 

 

1976

PL /I ANS

 

Lenguaje sencillo

1976

 SL5

1976

 SASL

1976

 SMALLTALK 76

1976

 MUMPS

1976

 ICON

1977

 FIG-FORTH

1977

FORTRAN V

sistema de TRAducción de FORmulas matemáticas

1978

C (K&R)

 

 

1978

SED

 

 

1978

SMALLTALK 78

 

 

1978

AWK

 

 

1978

CSH

 

 

1978

SCHEME MIT

 

 

1979

REX 1.0

 

 

1979

MODULA 2

 

 

1980

REX 2.0

 

 

1980

MALLTALK 80

 

 

1980

C con clases

Laboratorios Bell

lenguaje con clases

1981

B

 

 

1981

KRC

 

 

1982

PROLOG II

Ministerio Japonés de Comercio Internacional e Industria (MITI)

Lenguaje estandar para la Inteligencia Artificial

1982

POSTSCRIPT

 

 

1982

REX 3.0

 

 

1982

MIRANDA

 

 

1982

FORTH 83

 

 

1983

ADA

Ministerio de Defensa de los EE.UU

lenguaje muy seguro

1983

 

 

 

1983

OBJECT -C

 

 

1983

C++

AT&T Bell Laboratories (Bjarne Stroustrup)

compilador

1984

PROLOG III

 

 

1984

SHARP APL

 

 

1984

APLZ

 

 

1984

REXX 3.2

 

 

1984

CONCURRENT C

 

 

1984

COMMON LISP

 

 

1984

SCHEME

 

 

1984

SML

 

 

1985

COBOL 85

 

 

1985

WAWL

 

 

1985

OBJECT PASCAL

 

 

1985

CLIPPER

 

compilador para bases de datos

1985

QuickBASIC 1.0

Microsoft®

compilador de BASIC

1986

MUMPS FIPS

 

 

1986

ANS FORTH

 

 

1986

OBJECT LOGO

 

 

1986

EIFFEL

 

 

1986

SELF

 

 

1986

QuickBASIC 2.0

Microsoft®

soporte de tarjeta gráfica EGA

1987

QuickBASIC 3.0

Microsoft®

43 lineas con la tarjeta EGA

1987

QuickBASIC 4.0

Microsoft®

tarjetas Hercules, VGA

1987

CLIPPER SUMMER '87

Borland

compilador para bases de datos

1987

00 FORTH

 

 

1987

ABC

 

 

1987

ADA ISO

 

 

1987

PERL 1.0

 

 

1987

HASKELL 1.0

 

 

1987

CAML

 

 

1987

OBERON

 

 

1988

QuickBASIC 4.5

Microsoft®

tarjeta SVGA

1988

TCL

 

 

1988

TCL/TK

 

 

1988

A

 

 

1988

MODULA 3

 

 

1988

TURBO PASCAL

Borland

 

1988

EIFFEL II

 

 

1988

PERL 2

 

 

1989

QuickBASIC 7.1

Microsoft®

ultima version de QuickBASIC

1989

ANSI C v5.0

 

interprete tipo QBASIC shareware

1989

PERL 3

 

 

1989

CLOS

 

 

1990

HTML

Tim Berners-Lee

HyperText Markup Language

1990

J

 

 

1990

ISO C

 

 

1990

HASKELL 1.1

 

 

1990

SCHEME JET

 

 

1990

SML

 

 

1991

FORTRAN 90 ISO

 

 

1991

PYHTON

 

 

1991

OBERON 2

 

 

1991

NETREXX

 

 

1991

OAK

 

 

1991

SATHER 0.1

 

 

1991

PERL 4.0

 

 

1991

VISUAL BASIC 1.0

Microsoft®

 

1991

CAML 2-6.1

 

 

1992

VISUAL BASIC 2.0

Microsoft®

 

1992

A+

 

 

1992

MUMPS ISO

 

 

1992

CMM

 

 

1992

HASKELL 1.2

 

 

1992

POSTSCRIPT 2

 

 

1993

RUBY

 

 

1993

EIFFEL 3

 

 

1993

XML

C. M. Sperberg-McQueen

para internet

1993

SGML

Charles F. Goldfarb

para internet

1993

VISUAL BASIC 3.0

Microsoft®

 

1993

CAML 3.1

 

 

1994

M

 

 

1994

SATHER 1.0

 

 

1994

PERL 5.0

 

 

1994

COMMON LISP ANSI

 

 

1994

ASP

Microsoft®

Para consultas a Database en Internet

1995

VISUAL BASIC 4.0

Microsoft®

 

1995

JAVA

Sun Microsystems

para internet y proposito general

1995

CLIPPER 5.01

 

compilador para bases de datos

1995

GNAT ADA95

Ministerio de Defensa de los EE.UU

lenguaje muy seguro

1995

FORTRAN 95

IBM

sistema de TRAducción de FORmulas matemáticas

1995

DELPHI

 

 

1995

M ANSI

 

 

1995

OPEN M

 

 

1995

REXX ANSI

 

 

1995

LIVESCRIPT

 

 

1995

JAVASCRIPT

 

 

1995

RUBY 0.95

 

 

1995

SELF 4.0

 

 

1995

PHP 1.0

 

 

1995

SATHER 1.1

 

 

1996

POSTSCRIPT 3

 

 

1996

K

 

 

1996

APL 96

 

 

1996

MODULA 2 ISO

 

 

1996

ISO C 1.0

 

 

1996

JSCRIPT

 

 

1996

EIFFEL 4.0

 

 

1996

OBJECTIVE CAML

 

 

1996

HASKELL 1.3

 

 

1997

VISUAL BASIC 5.0

Microsoft®

 

1997

ISO FORTH

 

 

1997

FORTRAN 95 ISO

 

 

1997

PROLOG IV

 

 

1997

00 COBOL

 

 

1997

OBJECT REXX

 

 

1997

ECMASCRIPT

 

 

1997

RUBY 1.1 ALPHA

 

 

1997

PHP 2.0

 

 

1997

O´CAML 1.0.7

 

 

1997

HASKELL 1.4

 

 

1997

SML 97

 

 

1998

VISUAL BASIC 6.0

Microsoft®

 

1998

MODULA 2 ISO GENERIC

 

 

1998

JAVASCRIPT 1.5

 

 

1998

C++ ANSI/ISO

 

 

1998

SMALLTALK ANSI

 

 

1998

EIFFEL 4.2

 

 

1998

PHP 3.0

 

 

1998

PERL 5.005-50

 

 

1998

O'CAML 2

 

 

1998

SCHEME R5RS

 

 

1999

TCL/TK 8.1

 

 

1999

TCL/TK 8.2.3

 

 

1999

M ISO

 

 

1999

DELPHI 5

 

 

1999

PYTHON 1.5.2

 

 

1999

NETREXX 1.150

 

 

1999

ISO C 99

 

 

1999

JAVASCRIPT 2.0

 

 

1999

ECMASCRIPT

 

 

1999

RUBY 1.3.2

 

 

1999

SATHER 1.2.1

 

 

1999

HASKELL 98

 

 

2000

PYTHON 1.6

 

Principio de este año

2000

C#

 

 

2000

JSCRIPT

 

 

2000

JAVA 2 (v 1. 3)

 

 

2000

PHP 4.0

 

 

2000

PERL 5.7.0

 

 

2000

O'CAML 3.0

 

 

2000

PYTHON 2.0

 

Finales del año

2000

RUBY 1.6.1

 

 

2001

TCL/TK 8.3

 

 

2001

DELPHI 6.0

 

 

2001

PYTHON 2.1

 

 

2001

C# ECMA

 

 

2001

RUBY 1.6.5

 

 

2001

SELF 4.1

 

 

2001

VISUAL BASIC .NET

Microsoft®

La evolución de Visual Basic

2001

PHP 4.1.0

 

 

2001

O'CAML 3.0.7

 

 

2002

TCL/TK 8.4.1

 

 

2002

FORTRAN 2000

 

 

2002

DELPHI 7

 

 

2002

PYTHON 2.2.2

 

 

2002

JAVASCRIPT 2.0 DRAFT 4

 

 

2002

ECMA SCRIPT ed 4

 

 

2002

JAVA 2 (v 1.4.1)

 

 

2002

RUBY 1.6.8

 

 

2002

PHP 4.3.0

 

 

2002

PERL 5.8.0

 

 

2002

O`CAML 3.06

 

 

2002

COBOL 2002 ISO/ANSI

 

 

2003

TCL/TK 8.4.3

 

 

2003

PYTHON 2.2.3

 

 

2003

C# ISO

 

 

2003

JAVA 2 (v 1.4.2)

 

 

2003

PHP 4.3.2

 

 

2003

POSTSCRIPT LEVEL 3

 

 

2003

DELPHI 8.0

 

 

2003

PYTHON 2.3.3

 

 

2003

C# 2.0

 

 

2003

JAVA 2 (v 1.4.2-03)

 

 

2003

RUBY 1.8.1

 

 

2003

PHP 4.3.4

 

 

2003

PERL 5.0.1

 

 

2003

O`CAML 3.0.7

 

 

2004

TCL/TK 8.4.9

 

 

2004

PYTHON 2.4

 

 

2004

JAVA 2 (v 1.4.2-06)

 

 

2004

SELF 4.2.1

 

 

2004

PHP 5.0.3

 

 

2004

PERL 5.8.6

 

 

2004

FORTRAN 2003

 

 

2004

DELPHI 2005

 

 

2004

O`CAML 3.8.2

 

 

2005

POSTSCRIPT LEVEL 3 V2017

2005

TCL/TK 8.4.11

2005

PYTHON 2.4.2

2005

ADA 2006

2005

C# 3.0

2005

JAVA 2 (UPDATE 3)

2005

RUBY 1.8.3

2005

ECMA EIFFEL

2005

PHP 5.0.5

2005

PERL 5.8.7

6.-Sistemas Operativos

Inicio - Todo sobre pc - Electronica - Comunidad

Copyright © 1998-2012 - DS Tecnologia® dstecnologia@gmail.com - Politica de Privacidad