sábado, 4 de agosto de 2018
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 ENSAMBLADORES
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.
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...






excelente!!!
ResponderEliminarUn 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.