2-Mostramos un caso de dispersión de conceptos.
Esta nota es antigua pero sirve para mostrar la dispersión de los conceptos que existen en este tema. Muchísimos acronimios en inglés y castellano. Muchas palabras diferentes para decir casi lo mismo, muchos lenguajes que sirven para lo mismo. Varias notas como esta son antiguas y no pretendieron formar una parte de un todo orgánico, y por eso mi escrito lo encontrarán al principio como un poco desarticulado. Pero creo que a medida que avancemos se verá claramente la idea central.."Rutinas, métodos, programas, subprogramas, funciones, procedimientos.
.
Según al lenguaje de programación o la moda todas esas palabras se han usado para indicar casi lo mismo: Una secuencia de instrucciones, sentencias, órdenes o comandos (que significan también cosas parecidas) dirigidas a la computadora. Esta interpreta esa lista mediante un programa muy importante y los ejecuta. Ese programa encargado (entre otras cosas) de procurar la ejecución ordenada de todos los programas que desee el usuario se llama Sistema operativo.
.
Lenguajes de programación: Como Cobol, Fortran, Ada, Basic, C, Java y muchísimos otros son similares en el sentido que todos permiten implementar los diagramas lógicos que ejecutan instrucciones para conseguir determinada finalidad. Todos permiten guardar valores alfanuméricos en la memoria y ejecutar operaciones algebraicas entre los números. En base a esos valores permiten tomar decisiones para alterar la secuencia lineal de las sentencias, permiten ordenar transferencias de datos con los dispositivos externos a la CPU. En principio estos lenguajes podrían usarse en cualquier máquina pero generalmente no pasa tal cosa. El Java es un lenguaje que fue diseñado con la consigna que sea transportable entre todas las máquinas.
.Las máquinas actuales incluyen un procesador que es un microcircuito electrónico en una pastilla de silicio, y una memoria RAM y entre ambos formal la llamada CPU. Actualmente se venden en el mercado procesadores que contienen varios millones de transistores y las señales eléctricas andan al ritmo de relojes de 2 o más gigaherz.
1-La idea central de hacer este trabajo.
Buen Día. Voy a escribir sobre computación para los que no tienen ni idea de que se trata, y de a poco voy a tratar de dar conceptos mucho más específicos para los expertos, o para que los apenas iniciados se vayan transformando en conocedores. Muchas entradas a este blog son notas mías anteriores que pueden venir bien para captar la evolución de las ideas en el tema. En otras notas verán criterios que no encajan con la idea central pero que pueden ser útiles para abarcar mayores conceptos del tema..LA CUESTIÓN CENTRAL es crear un criterio nuevo de como hacer las cosas en computación, que iré entretegiendo a medida que progresemos. No se preocupen los nuevos en los conceptos que no entienden, pero sería recomendable que lean otras cosas para acumular conocimientos qque a la larga le serán útiles. A los conocedores les digo que voy a tratar de unificar criterios en torno al paradigma de la POO (programación orientada a objetos), integrando (tratando de) las ideas de POO con "las normas generales", con Internet, con "sistemas operativos", y hasta con equipos y procesadores (hardware). Se que la ambición es muy grande y por eso pido indulgencia y que lea con espíritu crítico, para aportr lo suyo con acertados comentarios en este blog.
4-¿Que es un objeto?
Esta nota también tiene algunos años (¿2003?), pero creo que está bastante adecuada a la actualidad. Debe leerse toda con atención..Los Especialistas.(creo que los neófitos también entenderán)
.
Clases y objetos:
.
Una clase tiene una serie de propiedades con un sentido en el mundo real, para un usuario. “Silla” puede ser considerada computacionalmente como una clase de objeto (por ejemplo, cuando un programador está sistematizando la producción de una fábrica de muebles) con propiedades (como color, altura, material, tipo de asiento, etc). Existen muchas clases silla, una podría llamarse silla345. Un objeto de la clase silla345 puede tener un nombre cuando se trata de una silla en particular con todas sus propiedades o parámetros definidos por valores numéricos o alfanuméricos. Entonces, cuando los parámetros toman valores reales se está definiendo a un objeto que pertenece a esa clase.
.
Para constituir o definir una clase, es necesario decir todos sus parámetros (valores alfanuméricos llamadas, en poo, propiedades o ...), tal que permita definir objetos dando valores a esos parámetros y que se usará en programación. Por ejemplo tomemos una clase que llamamos Printer43. Para definir tal clase debemos caracterizar las propiedades que interesan para una dada programación (por ejemplo: puntos por pulgada, velocidad, marca, modelo). Mi printer en particular puede ser un objeto de esa clase (una instancia de esa clase) y todas sus propiedades adquieren valores numéricos o alfanuméricos. Si la programación requiere incluir también el precio, se requiere otra clase que podría ser un “hijo” de la anterior, con todas sus propiedades y además otras. El objeto que interesa al programador es la representación en la memoria de la computadora de ese printer u objeto físico. Todo la programación se refiere a la representación del printer y no al printer mismo. En la memoria de la PC tenemos definida esa representación con los valores de todas sus propiedades que pueden entrar a la computadora como datos, y con ellas se entienden los programas. El objeto definido en la memoria es un modelo simplificado de printer para una dada programación. Es un modelo pues solo se consideran determinados parámetros.
Suelen llamar abstracción a esta forma de simplificar los objetos. El programador usa siempre el modelo mas simple posible para representar un objeto. Si una programación requiere solo el nombre de las personas, este es un modelo muy simple. A esa clase la podemos llamar “persona1” y es una abstracción elemental pues una persona se representa computacionalmente por su nombre. Si en otro lugar de la programación es necesario agregar otras propiedades de las personas, como dirección y teléfono podemos definir una clase más complicada y que podemos llamar “persona2”. Este objeto puede definirse como “persona1” + “otras propiedades”. La clase “persona2” hereda todas las propiedades y métodos del objeto “persona1”
.
Los objetos físicos externos como el printer que son operados automáticamente por los programas de computación, están ligados por un medio físico de comunicación. La compu lo ve mediante un port o puerto por el cual se reciben y se transmiten datos. Pero la mayoría de los objetos con los que se trabaja en computación son simplemente información que no sale de los sistemas de memoria de la máquina, a no ser como información escrita o dibujada o hablada o como música o video.
.
El objeto más sencillo es el bit (en realidad es una clase y lo nombramos como objeto pues para que se vayan acostumbrando a esa dualidad en la que todos entran), variable que puede tomar sólo 2 valores, denominados 0 y 1, o true o false, etc. Un bit puede representar muchas cosas, por ejemplo una puerta que sólo puede estar abierta o cerrada. Supongamos que la compu la puede abrir o cerrar. El objeto bit que representa el estado de la puerta es información para el programa. Generalmente el bit es una variable lógica. Un programa (método, función, procedimiento, rutina, etc), actúa sobre el bit que está en memoria. A los objetos se les asigna un nombre para referirse a él en la programación.
.
Otros objetos son pura información (la gran mayoría) que no tienen un objeto externo correspondiente, por ejemplo un dibujo que puede estar sólo en memoria o representarse en la pantalla. Generalmente la pantalla es lugar adecuado para que el usuario pueda ver a los objetos de memoria.
.
Supongamos que definimos una clase que llamamos “entero8” y su propiedad, (en este caso única) es ser un número entero entre 0 y 255 representado por una secuencia ordenada de 8 bits. Cuando lo represento en la memoria ya tengo un objeto, que es una instancia de esa clase y toma un valor. Este objeto admite la propiedad de tomar una entre 256 configuraciones posibles. Cuando esta clase es parte de otra clase El entero8 pasa a ser una propiedad de la misma. Si esta propiedad es “alumnosenclase” (de una clase que podemos llamar “curso435” puede tomar cualquier valor dentro de ese rango. Si esa propiedad el programa va variando se llama variable. Cada propiedad de un objeto es a su vez un objeto más sencillo numérico o alfanumérico, y cada uno tiene un nombre al que nos referimos en la programación. Esas propiedades pueden permanecer invariables durante la ejecución del programa (constantes) o pueden cambiar de valor (variables). A las propiedades numéricas se las suele llamar parámetros. En que lugar de la memoria se ubican los objetos es irrelevante al programador ya que los refiere por su nombre. Todo objeto está formado por otros objetos.
.
Otros números más elaborados como los reales también son bits ordenados y también pueden ser variables o constantes. La representación computacional de una clase como “persona” se representa limitadamente de acuerdo al sentido del programa. Por ejemplo, la clase “persona” puede tener una representación de sólo 3 propiedades con los siguientes nombres “nom”, “apellido” y “edad”. Un objeto de esa clase sería Juan Perez 28.
.Si ahora creamos una clase que llamamos “persononas” que tiene las propiedades “nom”, “apellido”, “edad”, “teléfono” , podemos decir que esta hereda todas las propiedades de “personas” y que además tiene una nueva propiedad “teléfono”. Entonces personas es una subclase de persononas. ¿Se habrá entendido? Caso contrario haceme un comentario porfa. Horacio, conserje@hotmail.com.
3-El pato de la boda
Los usuarios.
.
Hola! Muchos dicen que les gustaría que la computadora fuera más fácil y directa. Y tienen razón. A mi también me gustaría que todo lo que ya se hace, me sirva para siempre. Esto no quiere decir que uno renuncia a aprender cosas nuevas, ni a usar nuevas tecnologías. Pero somos muchos los que sentimos que cuando ya estamos usando bien los recursos resulta que tanto la compu como el Sistema Operativo son anticuados.
.
Pero no es sólo eso. La gente está asustada por los virus y siempre tiene miedo de tener que gastar plata para solucionar los posibles problemas. Miedo de que algo se rompa, miedo de que los programas se descompongan. Para la gran mayoría la PC es un misterio total. Una caja negra donde cada uno sabe recorrer un circuito que es un infinitésimo de la prestación de la máquina. Y ese circuito es una maravilla que justifica todos los halagos. Pero sale uno de esos circuitos (o esquemas de uso de cada uno) y tiene que pedir ayuda.
.
Cuando salieron las PC los discos duros tenían del orden 80 K y nos arreglábamos bien. Luego pasamos por los de 80 Mega y hoy llegamos a los 80 Gigas. ¡Un millón de veces más! Todo ha aumentado en proporciones similares, la velocidad, la memoria, etc, pero los precios siguen allí. Claro, ahora las empresas hacen programas mucho más complicados y de gran versatilidad, pero que la gente sólo usa una pequeña proporción.
.En definitiva, la computación personal es un enorme salto tecnológico que ha comenzado a cambiarnos la vida y depende de nosotros cuanto de positivo puede ser ese cambio. No quisiéramos perder tanto tiempo aprendiendo todas las prestaciones de un programa que sólo vamos a usar muy poco y en prestaciones elementales, no quisiéramos que nuestra máquina contenga tanta información que jamás usaremos, no quisiéramos ser empujados a tantos cambios que apenas nos son útiles, no queremos tener que pagar mucho por un software que apenas usaremos. Y muchas cosas más, pero básicamente no queremos ser el pato de la fiesta de las fábricas de soft que entre ellos se disputan las presas conduciéndonos dentro de una nube en la que quedamos presos..Horacio Aldo Cingolani, conserje@hotmail.com