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
dónde 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.
programables. Implementa una 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 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
Sus características son: El
código
lenguaje
escrito
es decir, un código 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. El lenguaje ensamblador es difícilmente portable,
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 Los programas hechos por
tareas realizadas por un
un programador experto
microprocesador por lo
en lenguaje ensamblador
que
pueden ser más rápidos y
segmentos
de
código
consumir menos recursos
difíciles
y/o
muy
del sistema (ej: memoria
ineficientes de programar
RAM) que el programa
en un lenguaje de alto
equivalente
compilado
nivel, ya que, entre otras
desde un lenguaje de alto
cosas, en el lenguaje
nivel.
ensamblador se dispone
se
pueden
crear
de instrucciones del CPU que generalmente no están disponibles
en
lenguajes de alto nivel
los
Ventajas y desventajas 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
un
programa, podemos
Ensamblador,
simplemente porque tiene el costo
adicional
de
estar
traduciendo el programa, cada vez que lo ejecutamos.
Sin embargo, la mayor parte de las veces, el código generado
De
ahí
nacieron
los
compiladores, que son mucho más rápidos que los intérpretes,
por un compilador es menos eficiente
que
el
código
equivalente
que
un
programador
escribiría.
La
razón es que el compilador no
instrucción, no hace ningún
tiene
proceso que no sea necesario.
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
ninguna
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.
Por ello, cuando es crítica la
veces más rápido que un
velocidad
programa
del
programa,
mal
Ensamblador se vuelve un
Ensamblador;
candidato
sumamente
lógico
como
lenguaje.
elección
hecho sigue
siendo
importante apropiada
en
la de
algoritmos y estructuras de datos. Por ello, se recomienda Ahora bien, esto no es un absoluto; un programa bien hecho en C puede ser muchas
buscar optimizar primero estos aspectos, en el lenguaje que se
desee,
y
solamente
Ensamblador
cuando
usar se
se puede lograr por estos medios.
requiere más optimización y no
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
Un lenguaje de alto nivel es un
Lenguaje de alto nivel se refiere
lenguaje
programación
al nivel más alto de abstracción
diseñado para simplificar la
de lenguaje de máquina. En
programación
de
lugar de tratar con registros,
de "alto
direcciones de memoria y las
nivel" ya que se eliminan varios
pilas de llamadas, lenguajes de
pasos del código real que se
alto nivel se refieren a las
ejecuta en
computadora
variables,
procesador. Nivel alto código
aritmética
fuente contiene fácil de leer
expresiones
sintaxis que luego se convierte
subrutinas y funciones, bucles,
en un lenguaje de bajo nivel,
hilos, cierres y otros conceptos
que puede ser reconocido y
de informática abstracta, con un
ejecutado por un específico
enfoque en la facilidad de uso
CPU.
sobre la eficiencia óptima del
de
computadoras.
la
Es
programa.
Características
matrices,
objetos,
compleja
o
booleanas,
Las diferencias entre intérprete y compilador son: El intérprete detecta si el Un
intérprete
traduce
programa tiene errores y
instrucciones de alto nivel
permite
en una forma intermedia
durante el proceso de
para ser ejecutado. En
ejecución, mientras que el
contraste, un compilador,
compilador espera hasta
traduce instrucciones de alto nivel directamente en
su
depuración
terminar la compilación de todo el programa para generar un informe de
lenguaje de máquina.
errores. Un programa compilado es más seguro que uno interpretado, porque no contiene el código fuente, El intérprete traduce un
que puede ser modificado
programa línea a línea
incorrectamente por el
mientras
que
el
usuario.
compilador
traduce
el
Ambos,
programa entero y luego lo ejecuta.
intérpretes
compiladores
y
están
disponibles en la mayoría
de los lenguajes de alto
Inconvenientes
nivel. Reducción de velocidad al Ventajas
ceder el trabajo de bajo nivel a la máquina.
Genera un código más
Algunos requieren que la
sencillo y comprensible.
máquina cliente posea una
Escribir un código válido
determinada plataforma.
para diversas máquinas o sistemas operativos. Permite paradigmas
utilizar de
programación. Permite crear programas complejos relativamente
en menos
Ejemplos:
C++ Fortran. Java. Perl. PHP. Python.
líneas de código.
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 el 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
Lenguajes de soporte a la toma de decisiones
QBE
Los lenguajes prototipos
Visual Basic.
Lenguajes de especificación formal
de
Paradigmas de programación Paradigmas de
ejemplo un procesador de texto.
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
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
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.
P 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
Programación
orientada a objetos
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 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
felinos sabemos sin conocerlo que nos estamos refiriendo a algo con Cabeza redondeada, Garras retráctil, que posee especializados preexistentes.
de
objetos
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.5polimorfismo: 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.
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).
Los ejemplos varían, para crear aplicaciones o programas tenemos para web HTML, Dreamweaver, NVU, Publisher entre otros, para crear programas tenemos muchos dependiendo del lenguaje de programación en el cual vamos a trabajar, para desarrollo de bases tenemos el SQL development, postgres, Mysql entre otros
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
Algunos ejemplos populares de software de aplicación son; Google Chrome, open Office, Skype, mediamonkey, call of duty, adobe illustrator entre otros
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 día 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 más 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.