LENGUAJE DE PROGRAMACION

Page 1

Lenguajes de programación En la edición especial de hoy encontraremos puntos como los siguientes. Historia, etapas y más.

Paradigmas de programación .

Características

Ventajas desventajas.

Tipos de software

Fases de programacion .


En la edición presente, se mostrarán temas pertenecientes al lenguaje de programación, que quizás no conocías, y el día de hoy te enseñaremos una gran variedad, desde cómo comenzó según su historia hasta tipos de software, programacion y mucho más, nunca es tarde para aprender y tú que estás leyendo esto, te sorprenderá lo que encontrarás a continuación!


contenido Lenguajes de programación 1. Definición. 2. Historia y origen. 3. Alto nivel y bajo nivel(Definir en base a qué criterios se hace esta clasificación) 4. Etapas 4.1 Lenguaje de Maquina (lenguaje de bajo nivel) incluye definición, características, conformación de las instrucciones, ventajas y desventajas 4.2 Lenguaje de ensamble incluye definición, características, conformación de las instrucciones, proceso de ensamble ventajas y desventajas 4.3 Lenguaje de alto nivel incluye definición, compiladores e intérpretes sus diferencias ventajas y desventajas, ejemplos. 4.4 Lenguaje de 4ta generación (4GL) incluye definición, características, ventajas y desventajas, ejemplos.


contenido Tipos de software 1. Software de desarrollo. (definición y ejemplos) 2. Software de aplicación. (definición y ejemplos)

Paradigmas de programacion 1. Programación monolítica (no estructurada)(fundamentos básicos, características, ventajas y desventajas) 2. Programación modular (estructurada) (fundamentos básicos, características, ventajas y desventajas) 3. Programación orientada a objetos(fundamentos básicos, características, ventajas y desventajas) 3.1 objetos (atributos, métodos, encapsulamiento, definiciones y ejemplos.) 3.2 clases (instancia definiciones y ejemplos) 3.3 herencia (definición, tipos y ejemplos) 3.4 clases abstractas (definición y ejemplos) 3.5 polimorfismo (definición y ejemplos)


Definición

U

n

lenguaje

una lista aleatorios

de

programación, en palabras simples, es el conjunto de instrucciones a través del cual los humanos interactúan con las computadoras. Un lenguaje de programación nos permite comunicarnos con las computadoras a través de algoritmos e instrucciones escritas en una sintaxis que la computadora entiende e interpreta en lenguaje de máquina. Los lenguajes de programación permiten a las computadoras procesar de forma rápida y eficientemente grandes y complejas cantidades de información. Por ejemplo, si a una persona se le da

de

números

que van de uno a diez mil y se le pide que los coloque en orden ascendente, es probable que tome una cantidad considerable de tiempo e incluya algunos errores, mientras que si le das la misma instrucción a una computadora utilizando un lenguaje de programación, podrás obtener la respuesta en unos cuantos segundos y sin errores.


Historia 1 – Fortran (1957)

FORmulaTRANslation es el lenguaje de programación más antiguo y que continúa en uso. Creada por John Backus, esta herramienta fue desarrollada para la computación científica de alto nivel, matemática y estadística. A día de hoy, este lenguaje se sigue usando en la industria automovilística, aeroespacial, gubernamental y la investigación. Por ejemplo, es muy útil para el pronóstico de los servicios meteorológicos.

2 – Cobol (1959)

El Common Business Oriented Language está detrás de la mayoría de los sistemas de transacciones de negocio de los procesos de las tarjetas de crédito, ATMs (Modo de Transferencia Asíncrona), telefonía, sistemas hospitalarios, gobierno, sistemas automatizados y señales de tráfico.

El desarrollo de Cobol, creado por Grace Murray Hopper, muestra un lenguaje familiar y uniforme para transacciones empresariales. Por ejemplo, lo usan en el servicio postal estadounidense.


3 – Basic (1964)

Creado por estudiantes de Dartmouth College, el denominado Beginners All Purpose Symbolic Instruction Code fue diseñado como un lenguaje simplificado para aquellos que no tenían como base fuertes conocimientos técnicos o matemáticos. Una versión modificada, escrita por Bill Gates y Paul Allen, llegó a ser el primer producto de Microsoft. Fue vendido al M.I.T.S. para el Altair En 1977, fue integrado en el Apple II para su arranque.

4 – C (1969)

Este lenguaje fue desarrollado entre 1969 y 1973 por Dennis Ritchie para los laboratorios Bell Telephone para usarlos en

el sistema Unix. Se le llamó «C» porque sus características derivaban de un lenguaje anterior llamado «B». C llegó a ser tan poderoso que la mayoría del núcleo de Unix fue reescrito con él. De hecho, hoy en día, Linux está todavía basado en C.

5 – Pascal (1970)

El lenguaje se llamó así en honor de Blaise Pascal, el inventor de las calculadoras matemáticas, aunque su creador se llamaba Niklaus Wirth, y lo desarrolló como una herramienta de enseñanza y formación aunque tiene un uso meramente comercial. Este lenguaje se usa en Skype.


6 – C++ (1983)

En los laboratorios Bells, Bjarne Stroustrup modificó el lenguaje C al C++, creando lo que muchos consideran el lenguaje de programación más popular que ha existido nunca. Además, ha sido listado en lo alto de los top ten de los lenguajes de programación desde 1986 y archivado en el Hall of Fame en 2003. Hoy en día es usado por Firefox, Office y Adobe PDF Reader.

7 – Perl (1987)

Larry Wall, un programador Unix, creó Perl después de intentar extraer datos de un informe y darse cuenta que Unix no podía llevar a cabo las operaciones que él necesitaba.

Practical Extraction Report Language fue descrito por su inventor como un lenguaje que «consigue que hagas tu trabajo». Actualmente es usado por Craigslist.

8 – Python (1991)

Monty Python sirvió de inspiración para nombrar este lenguaje. Guido Van Rossum lo creó para solucionar problemas en el lenguaje ABC y continúa utilizándose para tal fin. Hoy en día es usado por la NASA, Google y YouTube.


9– Java (1995)

Un grupo de trabajadores de Sun Microsystems, liderado por James Gosling, creó Java para arrancar los decodificadores de una televisión interactiva. Hoy en día, Java está presente en más de 1.000 millones de PCs de todo el mundo y muchas websites no pueden funcionar sin ella. Fue utilizada en 2004 en la misión de la NASA Mars Rovers.

10 – Javascript (1995)

Java y Javascript no están relacionados y tienen muy diferente semántica, aunque no lo parezca. Javascript fue desarrollada por Brendan Eich, de Netscape, bajo el

nombre de Mocha. Tiene influencia del lenguaje C. Hoy en día es usado en servicios como node.js. De él depende AJAX.

11– Ruby On Rails (2005)

Fue extraído por David Heinemeier Hansson de su trabajo en Basecamp, un proyecto dirigido por 37 señales. Hasson lanzó Ruby On Rails, en principio, como código abierto, en 2004, pero no compartió los derechos hasta febrero de 2005. Ahora está en su versión 3.0.7 y tiene más de 1.800 contribuyentes.


Etapas

10. Implantación o implementación del sistema

1. Definición del problema

11. Mantenimiento 2. Análisis del problema

3. Diseño de la solución

4. Codificación

5. Compilación y ejecución

6. Verificación y pruebas

7. Depuración

8. Documentación

9. Capacitación


1.- Análisis: Cuando se tiene y piensa la idea o problema a ejecutar. 2.- Diseño: Se plantea un algoritmo con los pasos a dibujar o realizarse. 3.- Implementación: Los pasos

4.-

Pruebas:

Se

corre

el

de algoritmo se transforma en

programa y se registra su

un código pascal y se plasman

efectividad.

en el programa

5.- Depuración: después de haber corrido el programa se hacen

las

correcciones

necesarias. 6.-

Retroalimentación

y

liberación: Después de haber corregido los errores se regresa al paso 4 en caso de haber existido.


El lenguaje máquina es el único que entiende la computadora digital, es su "lenguaje natural". En él sólo se pueden utilizar dos símbolos: el cero (0) y el uno

sus direcciones de memoria, el

(1).

programador tiene que saber

Por

máquina

ello,

al

también

lenguaje le

donde están los datos y las

denomina lenguaje binario. Sus

instrucciones para que no se

características

las

solapen entre sí. El repertorio de

instrucciones están formadas

instrucciones suele ser muy

por cadenas de 0 y 1 pudiéndose

reducido.

dar a la computadora un código

resultan poco legibles y poco

intermedio(octal

o

elásticos ya que el formato de

hexadecimal). Los datos se le

las instrucciones es rígido. Los

dan a la computadora mediante

programas

son

se

que

transferibles

Los

programas

son ya

poco que

instrucciones íntimamente

las están

ligadas

a

la

arquitectura de la computadora.


es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una

 El lenguaje ensamblador

Sus características son:  El

código

lenguaje

escrito

en

ensamblador

posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje

máquina,

es

decir, es un lenguaje de bajo nivel.

representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.

es difícilmente portable, es decir, un código escrito para un microprocesador, puede

necesitar

ser

modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es


necesario

reescribirlo

completamente.  Con

el

lenguaje

ensamblador se tiene un control muy preciso de las tareas realizadas por un  Los programas hechos por

microprocesador por lo

un programador experto

que

en lenguaje ensamblador

segmentos

de

código

pueden ser más rápidos y

difíciles

y/o

muy

consumir menos recursos

ineficientes de programar

del sistema (ej: memoria

en un lenguaje de alto

RAM) que el programa

nivel, ya que, entre otras

equivalente

compilado

cosas, en el lenguaje

desde un lenguaje de alto

ensamblador se dispone

nivel.

de instrucciones del CPU

se

pueden

crear

que generalmente no están disponibles

en

lenguajes de alto nivel

los


Venatajas y desventajas Ventajas y desventajas

más rápidos que los intérpretes, pues hacen la traducción una vez y dejan el código objeto,

Velocidad

que ya es Lenguaje de Máquina, y

se

puede

ejecutar

muy

Aunque

el

El proceso de traducción que

rápidamente.

realizan los intérpretes, implica

proceso de traducción es más

un

complejo y costoso que el de

proceso

de

cómputo

adicional al que el programador

ensamblar

quiere realizar. Por ello, nos

normalmente

encontraremos con que un

despreciarlo, contra las ventajas

intérprete es siempre más lento

de codificar el programa más

que realizar la misma acción en

rápidamente.

Lenguaje

adicional

de

estar

traduciendo el programa, cada vez que lo ejecutamos.

De

ahí

programa, podemos

Ensamblador,

simplemente porque tiene el costo

un

nacieron

Sin embargo, la mayor parte de las veces, el código generado por un compilador es menos eficiente

los

compiladores, que son mucho

que

el

código

equivalente

que

un

programador

escribiría.

La

razón es que el compilador no


tiene

tanta

inteligencia,

y

requiere ser capaz de crear código genérico, que sirva tanto para un programa como para otro;

en

cambio,

un

programador humano puede aprovechar las características específicas

del

problema,

reduciendo la generalidad pero al

mismo

tiempo,

desperdicia

no

Para darnos una idea, en una PC, y suponiendo que todos son buenos

programadores,

un

programa para ordenar una lista tardará cerca de 20 veces más en Visual Basic (un intérprete), y 2 veces más en C (un compilador), que el equivalente en Ensamblador.

ninguna

instrucción, no hace ningún proceso que no sea necesario.

Por ello, cuando es crítica la

hecho en C puede ser muchas

velocidad

veces más rápido que un

del

programa,

Ensamblador se vuelve un

programa

candidato

Ensamblador;

lógico

como

lenguaje.

sumamente elección

mal

hecho sigue

siendo

importante apropiada

en

la de

algoritmos y estructuras de Ahora bien, esto no es un absoluto; un programa bien

datos. Por ello, se recomienda buscar optimizar primero estos


aspectos, en el lenguaje que se

requiere más optimización y no

desee,

se puede lograr por estos

y

solamente

Ensamblador

cuando

usar se

medios.

Tamaño beneficios en velocidad, puede Por las mismas razones que

convenir

vimos

Ensamblador.

en

el

aspecto

de

usar

el

lenguaje

Entre

los

velocidad, los compiladores e

programas que es crítico el uso

intérpretes generan más código

mínimo de memoria, tenemos a

máquina del necesario; por ello,

los virus y manejadores de

el programa ejecutable crece.

dispositivos (drivers). Muchos

Así,

de ellos, por supuesto, están

cuando

reducir

el

es

importante

tamaño

del

ejecutable, mejorando el uso de la memoria y teniendo también

escritos Ensamblador

en

lenguaje


. Lenguaje de alto nivel Lenguaje de alto nivel se refiere Un lenguaje de alto nivel es un lenguaje

de

programación

diseñado para simplificar la programación

de

computadoras.

Es

de "alto

nivel" ya que se eliminan varios

al nivel más alto de abstracción de lenguaje de máquina. En lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes de alto nivel se refieren a las

pasos del código real que se

variables,

ejecuta en

aritmética

la

computadora

matrices,

objetos,

compleja

o

procesador. Nivel alto código

expresiones

booleanas,

fuente contiene fácil de leer

subrutinas y funciones, bucles,

sintaxis que luego se convierte

hilos, cierres y otros conceptos

en un lenguaje de bajo nivel,

de informática abstracta, con un

que puede ser reconocido y

enfoque en la facilidad de uso

ejecutado por un específico

sobre la eficiencia óptima del

CPU.

programa. Hay dos formas de ejecutar programas Características

escritos

en

un

lenguaje de alto nivel. El más común es compilar el programa


y el otro método es pasar el

lenguaje que el equipo pueda

programa

entender.

a

través

de

un

intérprete. Tanto el intérprete como el compilador tienen como finalidad traducir las instrucciones recibidas a un

Las diferencias entre intérprete y compilador son: permite

 Un

intérprete

traduce

instrucciones de alto nivel en una forma intermedia para ser ejecutado. En contraste, un compilador, traduce instrucciones de alto nivel directamente en

su

depuración

durante el proceso de ejecución, mientras que el compilador espera hasta terminar la compilación de todo el programa para generar un informe de errores.  Un programa compilado

lenguaje de máquina.  El intérprete traduce un programa línea a línea mientras

que

el

compilador

traduce

el

programa entero y luego lo ejecuta.  El intérprete detecta si el programa tiene errores y

es más seguro que uno interpretado, porque no contiene el código fuente, que puede ser modificado incorrectamente por el usuario.  Ambos,

intérpretes

compiladores

y

están


disponibles en la mayoría

 Reducción de velocidad al

de los lenguajes de alto

ceder el trabajo de bajo

nivel.

nivel a la máquina.  Algunos requieren que la

Ventajas

máquina cliente posea una determinada plataforma.

 Genera un código más sencillo y comprensible.  Escribir un código válido para diversas máquinas o sistemas operativos.  Permite paradigmas

utilizar de

programación.  Permite crear programas complejos relativamente

Ejemplos:      

C++ Fortran. Java. Perl. PHP. Python.

en menos

líneas de código.

Inconvenientes

Lenguaje de cuarta generación

Los Lenguajes de Cuarta Generación se pueden definir como entornos de desarrollo de


aplicaciones apoyados por una serie de herramientas de alto nivel. Los 4GL contienen una sintaxis distinta para la representación del control y las estructuras de datos con un mayor nivel de abstracción.

Características de un 4GL  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)  Combinan características procedimentales (Permite especificar condiciones con sus respectivas acciones) y no procedimentales (Pide que se indique el resultado deseado).  Aumento de productividad por la utilización de funciones preprogramadas.  El entorno de desarrollo facilita la realización de determinadas tareas como diseño de pantallas o informes.

Ventajas:  Permiten elaborar programas en menor tiempo, lo que conlleva a un aumento de la productividad.  El personal que elabora software sufre menos


agotamiento, ya que generalmente requiere escribir menos.  El nivel de concentración que se requiere es menor, ya que algunas instrucciones, que le son dadas a las herramientas, a su vez, engloban secuencias de instrucciones a otro nivel dentro de la herramienta.  Cuando hay que dar mantenimiento a los programas previamente elaborados, es menos complicado por requerir menor nivel de concentración.

Desventajas:  Las herramientas prefabricadas generalmente son menos flexibles que los lenguaje de alto nivel.  Se crea dependencia de uno o varios proveedores

externos, lo que se traduce en pérdida de autonomía. A menudo las herramientas prefabricadas contienen librerías de otros proveedores, que conlleva a instalar opciones adicionales que son consideradas opcionales. Los programas que se elaboran generalmente se ejecutan sólo con la herramienta que lo creó (a menos que existan acuerdos con otros proveedores).  A menudo no cumplen con estándares internacionales ISO ANSI. Por este motivo invertir tiempo y dinero es un riesgo a futuro, porque no se sabe a ciencia cierta cuanto tiempo permanecerá la herramienta y su fabricante en el mercado.

Ejemplos:


   

SQL QBE Visual Basic. Lenguajes de soporte a la toma de decisiones

 Los lenguajes de prototipos  Lenguajes de especificación formal  SheerPower4GL


Paradigmas de programación Paradigmas de programación 1- Programación monolítica (no estructurada) Sistemas monolíticos en general, clásicamente en la ingeniería de software se lo denominaba como sistema monolítico a aquel software donde se empaquetaba todo en una sola estructura ósea que todo lo que el software necesitaba para funcionar estaba centralizado, pero la mayor característica de este tipo de aplicaciones es que se encargaba de una tarea específica, por ejemplo un procesador de texto.

Su característica  programas son fáciles de desarrollar  El despliegue y la ejecución del software son muy sencillos  El costo de desarrollo es bajo en comparación con otras arquitecturas


Cómo desventajas Los problemas de este tipo de arquitectura, como la escalabilidad o la dificultad para los desarrolladores (necesitan entender todo el código de la aplicación) han hecho que este tipo de desarrollo de software deje de ser utilizado en muchos proyectos (aunque su sencillez y bajo coste hace que siga siendo interesante para ciertos proyectos con bajos requerimientos) 2.- Programación modular (estructurada) es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable

se caracteriza porque siempre la computadora dispondrá una versión desglosada del código para poder ejecutarlo.

Son las limitaciones cognitivas humanas las que obligan a escribir código en fragmentos más pequeños. Un programa puede contener otras funciones y también puede referirse a funciones que están en otros archivos. Estas funciones o módulos son conjuntos de sentencias que sirven para realizar una operación o calcular un valor.


Sus mayores ventajas  Hace posible la lectura secuencial de los programas y con ello facilita su comprensión. · Permite reducir significativamente los errores producto de efectos colaterales inadvertidos. · Debido a que el código es más fácil de comprender (si se lo compara con código que no usa estructuras de control del flujo de

1-

ejecución), los errores también suelen ser más fáciles de encontrar y corregir. · Lo anterior hace que también sea más sencillo extender los programas (mantenimiento). · Consecuencia directa de lo anterior es que el mantenimiento de los programas suele tener un costo más reducido.


Cómo desventajas podemos observar 2- No permite modelar directamente los conceptos del dominio del problema, por lo que el nivel de abstracción que se puede lograr es menor que en la programación orientada a objetos: mientras que el problema se expresa en la terminología de los usuarios (los conceptos presentes en el dominio del problema), los programadores expresan el programa en su propio léxico (una mezcla de los conceptos menos abstractos del dominio del problema con un vocabulario que deriva del modo en que las computadoras funcionan, del lenguaje de programación y de otros vocablos de la jerga particular de los programadores)

3- La separación entre datos (variables) y rutinas (procedimientos y funciones) conduce a la necesidad de utilizar variables globales e implica que las capacidades de encapsulamiento que el paradigma propone sean limitadas Una consecuencia de lo anterior es que la introducción de cambios suele ser muy problemática ya que los efectos secundarios (o colaterales) aparecen con frecuencia durante el mantenimiento de los programas. 4- Inflexibilidad: es más difícil introducir cambios porque ello requiere mayores modificaciones en el código que ya está funcionando.


3- Programación orientadas a objetos La programación Orientada a objetos se define como un paradigma de la programación, una manera de programar específica, donde se organiza el código en unidades denominadas clases, de las cuales se crean objetos que se relacionan entre sí para conseguir los objetivos de las aplicaciones. No hay un acuerdo aceptado por todo el mundo respecto a cuáles son las características que definen la POO, pero al menos todos concuerdan en estas tres:

a) Abstracción. b) Encapsulación. c) Herencia. Vamos a ver las ventajas más importantes de la programación orientada a objetos:

 Reusabilidad. Cuando hemos diseñado adecuadamente las clases, se pueden usar en distintas partes del programa y en numerosos proyectos.  Mantenibilidad. Debido a la sencillez para abstraer el problema, los programas orientados a objetos son más sencillos de leer y comprender, pues nos permiten ocultar detalles de implementación dejando visibles sólo aquellos detalles más relevantes.  Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos nos permite hacer modificaciones de una forma muy sencilla.  Fiabilidad. Al dividir el problema en partes más pequeñas podemos probarlas de manera independiente y aislar mucho más fácilmente los posibles errores que puedan surgir.


La programación orientada a objetos presenta también algunas desventajas como pueden ser:

 Cambio en la forma de pensar de la programación tradicional a la orientada a objetos.

 La ejecución de programas orientados a objetos es más lenta.

 La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.


3 .1 objetos : Un objeto es una encapsulación abstracta de información, junto con los métodos o procedimientos para manipularla. Un objeto contiene operaciones que definen su comportamiento y variables que definen su estado entre las llamadas a las operaciones. Ejemplo. Una tarjeta de crédito puede representarse como un objeto:

Atributos: Número de la tarjeta, titular, balance, fecha de caducidad, pin, entidad emisora, estado (activa o no), etc. Métodos: Activar, pagar, renovar, anular. 3.2 clases : Una clase equivale a la generalización o abstracción de un tipo específico de objetos. La instancia también forma parte de la clase Una

clase equivale a la generalización o abstracción de un tipo específico de objetos. Un ejemplo de ello: Si observamos a un Gato, y dejándonos llevar por nuestra experiencia podemos decir que un Gato e un felino ya que estos poseen características comunes con otros felinos como por ejemplo Cabeza redondeada, Garras retráctil, poseen cuatro patas, poderosas mandíbulas, bigotes y una cola entre otras características. Es decir que los Gatos heredan las características comunes de todos los felinos, por lo tanto cuando nos referimos a los felinos sabemos sin conocerlo que nos estamos refiriendo a algo con Cabeza redondeada, Garras retráctil, que posee cuatro patas, una poderosas mandíbulas, tiene bigotes y una cola con esto también podemos diferenciarlos y clasificar las cosas por ejemplo sabemos que un gato es un


felino y que un Cóndor no lo es.

3.3 Herencia : las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. 3.4 clases abstractas: Consiste en la generalización conceptual de un determinado conjunto de objetos y de sus atributos y propiedades, dejando en un segundo término los detalles concretos de cada objeto. ¿Qué se consigue con la abstracción? Bueno, básicamente pasar del plano material (cosas que se tocan) al plano mental (cosas que se piensan).

3.5 polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en “tiempo de compilación”) de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.


Un ejemplo clásico de polimorfismo es el siguiente. Podemos crear dos clases distintas: Gato y Perro, que heredan de la superclase Animal. La clase Animal tiene el método abstracto makesound() que se implementa de forma distinta en cada una de las subclases

(gatos y perros suenan de forma distinta). Entonces, un tercer objeto puede enviar el mensaje de hacer sonido a un grupo de objetos Gato y Perro por medio de una variable de referencia de clase Animal, haciendo así un uso polimórfico de dichos objetos respecto del mensaje mover.


Software de desarrollo Como su nombre lo indica, un software de desarrollo es un programa que permite el desarrollo de aplicaciones, algunos de estos son java,

visual basic, c++, etc. El software de desarrollo comúnmente se conoce por IDE (Integrated Development Environment, por sus siglas en inglés).

Software de aplicación El software de aplicación es una categoría de programas informáticos diseñados con el propósito de facilitar a los usuarios la realización de determinadas tareas, es decir, como verdaderas herramientas de trabajo. Por ejemplo: Microsoft Word, Google Chrome, Adobe Photoshop, Avast


Reportaje especial .

Los lenguajes de programación básicamente son aquellos que dan forma a muchas de las aplicaciones que consultamos diariamente en nuestros teléfonos y no solo eso, también son la base de todo el internet como se conoce actualmente. Además sabiendo todo que estas son la base del internet también se puede decir que han representado un cambio en la historia de la computación o en general de la tecnología.

¿Cuál ha sido su evolución y que se ha logrado con los lenguajes de programación?

Todos los lenguajes de programación han evolucionado a lo largo de la historia pasando de dar solución a problemas pequeños y específicos hasta llegar a soluciones mas generales y precisas. Se sabe que aplicaciones tan grandes como youtube, google, whatsapp entre otras, han sido programadas previamente con lenguajes de programación que hoy en dia son muy utilizados y famosos

¿Qué crees que se logre en el futuro gracias a los lenguajes de programación?

Se lograra automatizar cada vez mas tareas que hoy en día a pesar de ser muy rápidas gracias al apoyo de la tecnología, debido a los avances de la misma lo normal sería esperar que estas sean mas rápidas, precisas.


¿Que conoces acerca de los lenguajes de programación y su influencia en la tecnología?


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.