TecKnow

Page 5

R E V I S T A

Conoce la historia y origen del lenguaje de programación

TecKnow .

LENGUAJE DE PROGRAMACION

Todos los días estamos continuamente comunicándonos con máquinas y todos ellos tienen almacenados lenguajes de programación para poder utilizarlos.

Un lenguaje de programación es un sistema estructurado y diseñado principalmente para que las máquinas y computadoras se entiendan entre sí y con nosotros, los humanos. Contiene un conjunto de acciones consecutivas que el ordenador debe ejecutar.

Estos lenguajes de programación usan diferentes normas o bases y se utilizan para controlar cómo se comporta una máquina, por ejemplo, un ordenador.

También pueden usarse para crear programas informáticos.

HISTORIA

El primer hallazgo de algo relacionado con la programación lo encontramos en 1801 de la mano de Joseph Marie Jacquard y su telar programable. Con el se da a luz al primer sistema de programación, integrado en un telar que leía el código introducido y automatizaba los procesos.

Sin embargo, la programación tal y como la conocemos nace en 1957 con el conocido científico John W. Backus, cuando creó el primer lenguaje de programación de alto nivel, Fortran. Su finalidad era clarificar y facilitar la comprensión, acercándolo a una notación matemática normal.

Más tarde, en 1964 nació BASIC, familia de lenguajes de programación que surgió como una herramienta de apoyo enfocada a la enseñanza pero que acabo adquiriendo una relevancia sorprendente, hasta el punto de que, a día de hoy, sigue siendo utilizado en programas como “Gambas” o “Visual Basic”.

ORIGEN

Cuando hablamos de lenguajes de programación, parece que estemos refiriéndonos a algo moderno, algo actual pero, lo cierto es que el primer lenguaje de programación se creó hace más de dos siglos. No te lo

esperabas, ¿Verdad? En este post hacemos un repaso de la historia de los lenguajes de programación, desde el primero hasta los más actuales y los lenguajes que mas se utilizan ¡Continúa leyendo y descúbrelos!

En 1801, un inventor francés, Joseph Marie Jacquard fue el inventor del telar programable. Creó unas tarjetas programables que se introducían en un telar que leía el código, que contenía las instrucciones y, de esta forma, se automatizaba el proceso.

1842

Ada Lovelace, Escribió el primer algoritmo informático de la Historia de la programación.

1959

Cobol, Este lenguaje de programación, desarrollado por Grace Murray Hoppe. Su objetivo era desarrollar un lenguaje que fuera compatible para cualquier ordenador.

1936

Alan Turing. La Máquina de Turing demostraba que, con un algoritmo, podían resolver cualquier problema matemático.

1964

Desarrollado por alumnos de Darmouth College, Basic fue diseñado como un lenguaje simplificado para aquellos que no contaban con grandes conocimientos técnicos o matemáticos.

1957

John W. Backus, crea el primer lenguaje de programación de alto niveles y, el primero que usaron programadores de hoy en día: Fortran.

1969

C, este lenguaje de programación se desarrolló entre 1969 y 1973, por Dennis Ritchie para los laboratorios Bell Telephone, con el objetivo de utilizarlos en el sistema Unix.

Pascal, este lenguaje se desarrolló por Niklaus Wirth como una herramienta de enseñanza y formación, aunque su uso es comercial.

Bjarne Stroustrup modificó el lenguaje C, por lo que surgió C++. es uno de los más populares, y se encuentra en el Top Ten de los lenguajes de programación desde 1986.

Perl, desarrollado por un programador de Unix, Larry Wall, Perl como solución a las flaquezas de Unix. Actualmente, se utiliza en CraigList.

Python, Guido Van Rossum fue el creador de este lenguaje de programación mundialmente reconocido, para resolver lenguajes en el lenguajeABC y, hoy en día, se sigue utilizando

Ruby, este lenguaje fue creado por Yukihiro Matsumoto, que utilizó partes de sus lenguajes de programación preferidos: Perl, Smalltalk, Eiffel,Ada y Lisp.

PHP, Java, JavaScript, Este lenguaje de programación fue desarrollado por Rasmus Lerdoff para reemplazar unos scripts de Perl utilizados para el mantenimiento de su web personal.

2012

La llegada de los 2000, llegaron nuevos programas de programación, como C# y Visual Basic. Hoy en día, Kotlin es uno de los lenguajes de programación de moda, no porque sea el más sencillo, sino que Google lo ha señalado como el lenguaje de programación óptimo para Android.

1970 1983 1987 1991 1993 1995

LENGUAJE DE ALTO Y BAJO NIVEL

Alto Nivel

Son aquellos que se encuentran más cercanos al lenguaje natural de las personas, que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's.

Se tratan de lenguajes independientes de la arquitectura del ordenador y de su hardware. 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.

EDD's son las abreviaturas de Estructuras Dinámicas de Datos

Los lenguajes de alto nivel suelen usar tipos de datos para la programación que son conjuntos de valores admisibles para su almacenamiento en posiciones de memoria. Hablaremos más adelante de estos tipos de datos.

Por supuesto, los lenguajes de alto nivel son los que se usan hoy en día y hay una gran variedad de ellos. De hecho decenas o cientos de lenguajes, siendo que aparecen nuevos todos los años.

Bajo Nivel

Los lenguajes de bajo nivel son totalmente dependientes de la máquina, es decir, dependen directamente del hardware donde van a ejecutarse. Por ello, los programas que se realizan con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas, con otros tipos de procesadores.

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:

1. Lenguaje de maquina: Está compuesto por números binarios. Este lenguaje se ejecuta directamente en la CPU de la computadora y actúa sobre el hardware que compone el equipo.

• Es prácticamente imposible que una persona pueda llegar a manejarlo, ni siquiera de manera muy básica.

• Cualquier instrucción en lenguaje máquina consume pocos recursos del sistema para ejecutarse.

• Sería poco confiable programar con él porque la posibilidad de cometer un error al usarlo para escribir cualquier cosa, por sencilla que esta sea, es muy alta.

El lenguaje de maquina es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son tremendamente difíciles de manejar y usar, además de tener códigos fuente enormes, donde encontrar un fallo es meramente imposible.

El lenguaje de maquina es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son tremendamente difíciles de manejar y usar, además de tener códigos fuente enormes, donde encontrar un fallo es meramente imposible.

2. Lenguaje de ensamble: es un lenguaje de nivel bajo, que está cerca de ser comprendido al mismo tiempo por el programador o desarrollador de software y las computadoras.

Como ventaja con respecto al código máquina es que los códigos fuente 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 máquina, puesto que siguen siendo bastante difíciles de manejar y permiten expresar solamente operaciones muy básicas.

LENGUAJE DE ALTO NIVEL

es un tipo de lenguaje informático que está diseñado para ser más cercano al lenguaje humano. Estos lenguajes permiten a los programadores escribir instrucciones que son más fáciles de entender, no requieren el conocimiento del lenguaje de máquina y son más portables a otros sistemas.

Los lenguajes de alto nivel son una forma de programación moderna y versátil. Estas herramientas de desarrollo permiten a los programadores crear aplicaciones y software con mayor facilidad, mayor velocidad y menos código.

En la actualidad, el desarrollo de software está cada vez más influido por el uso de lenguajes de alto nivel. Estos lenguajes nos permiten crear aplicaciones y programas mucho más sofisticados y eficientes, con una sintaxis intuitiva y clara.

Características

• Legibilidad. Un lenguaje de alto nivel es legible para los humanos, por lo que se escribe en términos simples, utilizando frases cortas y fáciles de entender.

• Características avanzadas. Los lenguajes de alto nivel ofrecen características avanzadas como el control estructurado, la herencia y la gestión automática de memoria.

• Sintaxis sencilla. Los lenguajes de alto nivel tienen una sintaxis sencilla, lo que significa que hay menos reglas para aprender antes de poder escribir el código con éxito.

• Compatibilidad. La mayoría de los lenguajes modernos están diseñados para ser compatibles con otros sistemas operativos y plataformas informáticas populares, lo que permite crear software multiplataforma sin necesidad de reescribir todo el código desde cero.

COMPILADORES E

INTERPRETES

Un intérprete es un programa informático que procesa el código fuente de un proyecto de software durante su tiempo de ejecución, es decir, mientras el software se está ejecutando, y actúa como una interfaz entre ese proyecto y el procesador.

Un compilador es un programa informático que traduce todo el código fuente de un proyecto de software a código máquina antes de ejecutarlo.

El desarrollo es mucho más fácil que con un compilador, porque el proceso de depuración (es decir, la corrección de errores) se lleva a cabo igual que la traducción, línea por línea. En el caso del compilador, primero debe traducirse todo el código antes de poder resolver los errores o iniciar la aplicación. Sin embargo, una vez que se ejecuta el programa, los servicios del compilador ya no son necesarios, mientras que el intérprete continúa utilizando los recursos informáticos.

Java. Un lenguaje de programación multiparadigma, orientado a objetos, con un enfoque fuerte en la portabilidad y seguridad.

C++. Un lenguaje basado en C, pero con características adicionales como clases y sobrecarga de operadores.

Ventaja Desventajas Interprete

Proceso de desarrollo sencillo (sobre todo en términos de depuración)

Proceso de traducción poco eficiente y velocidad de ejecución lenta

Compilador

Proporciona al procesador el código máquina completo y listo para ejecutar

Cualquier modificación del código (resolución de errores, desarrollo del software, etc.) requiere volverlo a traducir

Lenguajes de 4ta generación

son lenguajes que consisten en declaraciones similares a las declaraciones hechas en un lenguaje humano. Los lenguajes de cuarta generación se

usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python, Ruby y SQL.

Características

– Es un lenguaje no procedimental [nonprocedural].

– Solo se define qué se debe hacer, no cómo se debe hacer.

– Se apoya en herramientas de alto nivel denominadas herramientas de cuarta generación que contienen los algoritmos necesarios para decir cómo hacer lo que el

usuario necesita.

– Es limitado el tipo de problemas que pueden resolver.

– Permite el manejo y manipulación de datos basado en el lenguaje SQL (Structured Query Language)

• SQL.

• QBE.

• Visual.

• PowerBuilder.

• WinDev

• Focus

• Natura

• PostScript

• MatLab

• Ramis

EJEMPLOS

Dentro del mundo del software existen muchísimas clases de programas, encontramos programas y aplicaciones para hacer casi cualquier cosa hoy en día. Podemos instalar programas en nuestra computadora, tablet o móvil.

Pero sabes realmente: ¿Qué tipos de software existen?

1 De programación, es un conjunto de herramientas y utilidades utilizadas para el desarrollo, programación o creación de programas o aplicaciones informáticas. Estos incluyen editores de texto, compiladores, intérpretes, enlazadores y depuradores, y pueden utilizar diferentes lenguajes de programación.

Los programadores crean software utilizando diferentes programas como editores de texto, compiladores como GC C, entornos IDE, gestores de versiones como Git, así como software de servidor (ejemplo Nginx) para probar sus desarrollos si es necesario.

Esto aplica a casi todos los lenguajes de programación del mundo (C, C++, Python, Ruby, NodeJS, PHP, ASP.NET, etc.).

2 De aplicación,

también conocido como software de utilidad, y se trata de las aplicaciones, programas y herramientas que utilizamos activamente de acuerdo a nuestras necesidades.

Todas aquellas aplicaciones que usamos a diario como navegador web, cliente de email, suites ofimáticas como Office, programas de diseño gráfico, mensajería instantánea o chat como Skype, visor de fotografías, reproductores multimedia (vídeo y fotografías), un antivirus, antimalware o anti-spyware, juegos en red, etc.

• Microsoft Word

• Google Chrome

• Windows

Movie Maker

• Audacity

• Adobe

Photoshop

• MS Project

• Avast

• MSN

Messenger

• Paint

• Wordpad

• Auto CAD

• Picasa

• Microsoft Excel

• Publisher

PROGRAMACION MODULAR c

onsiste en la descomposición de un programa en trozos más pequeños denominados módulos o subprogramas, en el que cada uno de ellos se encargara de llevar a cabo una tarea concreta

y bien definida, y se agrupara según su funcionalidad.

Cada uno de estos módulos se analizara y codificara por separado

La estructura de un programa modular constara de un módulo

principal desde el que se llamara al resto de los módulos. El módulo principal recibe el control al inicio de la ejecución del programa..

Varios programadores pueden trabajar en el mismo proyecto si está dividido en módulos. Los programas se pueden desarrollar más rápidamente, ya que los módulos pequeños e independientes son más fáciles de entender, diseñar y probar que los programas grandes.

Existe una gran cantidad de módulos que solo contienen una función muy pequeña. Cada módulo requiere un tiempo adicional de análisis y procesamiento Algunos códigos casi nunca cambian. En esos casos puede que no tenga mucho sentido tratar de hacer que se vea más limpio

• Permite trabajar en equipo. Cada programador puede desarrollar un módulo diferente y posteriormente enla zarlos.

• El tamaño del módulo debe encontrarse entre 20 y 200 líneas de código.

• Los módulos con menos de 20 líneas de código pueden disminuir la eficiencia del programa.

• Los módulos que contienen as de 200 líneas de código son difíciles de verificar y mantener.

• Un módulo debe realizar una sola tarea y contenerla en su totalidad.

PROGRAMACION ORIENTADA A OBJETOS

Es un modelo de programación en el que el diseño de software se organiza alrededor de datos u objetos, en vez de usar funciones y lógica. Se enfoca en los

objetos que los programadores necesitan manipular, en lugar de centrarse en la lógica necesaria para esa manipulación.

Un objeto se puede definir como un campo de datos con atributos y

comportamiento s únicos.

Por tanto, la principal característica de este tipo de programación es que soporta objetos, que tienen un tipo o clase asociado.

Permite trabajar en equipo. Cada programador puede desarrollar un módulo diferente y posteriormente enla zarlos.

• El tamaño del módulo debe encontrarse entre 20 y 200 líneas de código.

• Los módulos con menos de 20 líneas de código pueden disminuir la eficiencia del programa.

• Los módulos que contienen as de 200 líneas de código son difíciles de verificar y mantener.

• Un módulo debe realizar una sola tarea y contenerla en su totalidad.

Los componentes se pueden reutilizar. Facilidad de mantenimiento y modificación de los objetos existentes.

Una estructura modular clara se puede obtener, la cual no revelará el mecanismo detrás del diseño. .

Limitaciones del programador: Es posible el programador desconozca algunas características del paradigma y de hecho siga utilizando el paradigma estructurado.

No hay una forma única de resolver los problemas.

Se trata de un ente abstracto usado en programación que permite separar los diferentes componentes de un programa, simplificando así su elaboración, depuración y posteriores mejoras.

se componen de 3 partes fundamentales:

Métodos: Son aquellas funciones que permite efectuar el objeto y que nos rinden algún tipo de servicio durante el transcurso del programa.

Atributos: Características que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario; entonces sus atributos son el aspecto que refleja, tanto en color, tamaño, posición, si está o no habilitado.

Encapsulamiento: Define el comportamiento de una clase u objeto que tiene dentro de él todo tipo de métodos y datos pero que solo es accesible mediante el paso de mensajes. y los datos a través de los métodos del objeto/clase.

Descripción de objeto. Consta de una serie de métodos y datos que resumen las características de este objeto.

Definir clases permite trabajar con código reutilizable. Puesto que desde una clase se puede crear una instancia y así reutilizar el código escrito para esta si tener que volver a escribir el código para la instancia.

La instancia toma el patrón de la clase padre. Sin embargo, las variables son independientes.

Instancia: Se llama instancia a todo objeto que derive de algún otro.

De esta forma, todos los objetos son instancias de algún otro, menos la clase Object que es la madre de todas

Herencia: Mecanismo para compartir automáticamente métodos y datos entre clases, subclases y objetos.

Permite crear nuevas clases introduciendo las variaciones con respecto a su clase padre.

Herencia simple: una subclase puede heredar datos y métodos de una clase simple así como añadir o sustraer ciertos comportamientos.

Herencia múltiple: posibilidad de adquirir métodos y datos de varias clases simultáneamente.

Clases abstractas: son aquellas que por sí mismas no se pueden identificar con algo 'concreto' (no existen como tal en el mundo real), pero sí poseen determinadas características que son comunes en otras clases que pueden ser creadas a partir de ellas.

Polimorfismo: Los objetos responden a los mensajes que se les envían. Un mismo mensaje puede ser interpretado o dar paso a distintas acciones según que objeto es el destinatario.

Con este sistema el emisor se desentiende de los detalles de la ejecución (aunque el programador ha de saber en todo momento cuales son las consecuencias de ese mensaje).

Un lenguaje de programación es de bajo nivel cuando requiere que prestes atención a lo irrelevante.
- Alan J. Perlis.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
TecKnow by Joik Chiriquez - Issuu