sábado, 4 de agosto de 2018





PROGRAMACIÓN ORIENTADA A OBJETOS
La gente que se dedica a la programación y al desarrollo de software tiene opiniones de lo más diversas sobre lo que caracteriza a la POO. A continuación, mostramos el resultado de una encuesta realizada en marzo y abril de 2015 sobre 250 respuestas obtenidas
. A modo de caracterización del universo consultado, informamos:
El 100% trabaja en desarrollo de software, aunque el 5% tiene menos de 1 año de experiencia. Un 65% dice tener más de 5 años de experiencia y un 28% más de 10 años. En cuanto a edades, el grupo etario más numeroso (se dividió en grupos cada 10 años, con edades terminadas en 5) es el de 26 a 35 años, con el 67% del total. El grupo de 25 años o menos sumó un 19% y de 36 a 45, el 12%. De allí se deduce que muy poca gente de más de 46 años completó la encuesta.

Respecto de los lenguajes de programación que dicen utilizar, descartando los que suman menos del 10%, obtuvimos:
·         SQL: 73%
·         Java: 70%
·         JavaScript: 55%
·         C++: 30%
·         C#: 30%
·         PHP: 28%
·         C: 27%
·         Python: 24%
·         Ruby: 10%


Uno de los lenguajes elegidos para este libro, Smalltalk, sólo es conocido por el 6% de los encuestados. Ahora bien, los resultados que nos interesa destacar de la encuesta son los conceptos que los encuestados consideraron “fundamentales” o “muy importantes” dentro de la programación orientada a objetos. De ellos, los 10 más elegidos, fueron, con sus porcentajes:
·         Clase: 91%
·         Objeto: 90%
·         Encapsulamiento: 90%
·         Polimorfismo: 88%
·         Herencia: 87%
·         Interfaces: 76%
·         Clases abstractas: 71%
·         Ocultamiento de implementación: 71%
·         Métodos abstractos: 70%


·         Sobrecarga de métodos: 65%

Para los autores, lo que caracteriza a la POO es que un programa es un conjunto de objetos enviándose mensajes y reaccionado ante los mismos, más la idea de que es responsabilidad de cada objeto saber cómo responder a esos mensajes, además del hecho de que cada objeto podría responder a los mensajes de manera distinta.
Por lo tanto, los conceptos centrales de POO para nosotros son: objetos, mensajes, encapsulamiento y polimorfismo.
Luego hay conceptos muy interesantes, pero que no hacen a la orientación a objetos en sí misma, sino que son cuestiones de implementación o usos adquiridos de otros paradigmas. Curiosamente, el concepto de mensaje sólo es “fundamental” o “muy importante” para el 48% de los encuestados, mientras que el concepto más importante, con el 91% de los encuestados considerándolo “fundamental” o “muy importante” es el de clase, que es una cuestión de implementación solamente. Otra cosa que llama poderosamente la atención es la cantidad de conceptos que para nuestros encuestados son centrales en la orientación a objetos: hay casi dos tercios que creen que hay 10 conceptos centrales, lo cual parece mucho para cualquier paradigma.

Clasificacion de los lenguajes de Programación



LENGUAJES DE MÁQUINA


El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar.


LENGUAJES ENSAMBLADORES

A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos, aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos.

LENGUAJES DE ALTO NIVEL

Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho de otra manera, un solo macroinstrucción podía producir varias líneas de código en lenguaje de máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina realizada.

LENGUAJES COMPILADOS

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.

LENGUAJES INTERPRETADOS

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

LENGUAJES DE PROGRAMACIÓN DECLARATIVOS

Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programación en los cuales se le indica a la computadora qué es lo que se desea obtener o qué es lo que se esta buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje declarativo como SQL.
La programación declarativa es una forma de programación que implica la descripción de un problema dado en lugar de proveer una solución para dicho problema, dejando la interpretación de los pasos específicos para llegar a dicha solución a un intérprete no especificado. La programación declarativa adopta, por lo tanto, un enfoque diferente al de la programación imperativa tradicional.


{ 1 comentarios... read them below or add one }

  1. excelente!!!
    Un bloc donde podemos conocer distintas ramas de la informática no solo desde el punto de un lenguaje de maquina sino, que también, conoceremos el punto de redes informática, análisis y otras materias por medio las cuales podremos expandir nuestros conocimientos informáticos.

    ResponderEliminar

SISTEMAS OPERATIVOS

En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de un si...

- Copyright © PSEMATICA FORMANDO ESTUDIANTES - YOUTUBE - SECUNDARIO CANAL YOUTUBE - MIRA MIS PRESENTACIONES David Cardenas -