API de Java

Por qué creen ustedes que las clases de API de Java son implementadas en base a conceptos de Programación Orientada a Objetos y herencia.
Cuáles consideran ustedes que son las ventajas y las desventajas de ello.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

um...

Supongo que por la misma razón que las APIs de cualquier lenguaje orientado a objetos son implementadas usando conceptos de OOP... y de hecho, por la misma razón que las APIs de un lenguaje funcional son implementadas usando conceptos de FP... y las APIs de un lenguaje de tipado estático son implementadas usando su sistema de tipos, mientras que las APIs de un lenguaje dinámico son implementadas usando el tipado dinámico...

Imagen de chicowed

Por la misma razón que no

Por la misma razón que no podrías construir un edificio sin conceptos de Arquitectura.

Imagen de arterzatij

Suponiendo que eres nuevo en

Suponiendo que eres nuevo en la programacion.

Imagina que te dan la receta para

"Torta de Jamon asado a la plancha con queso Oaxaca"

y de repente vez la receta y te dice:

Ingredientes

100grs de pulpa negra
2 rebanadas de pan de molde
1 rebanada de queso filadenfia

Preparacion

Hierva la carne
caliente el pan en el micro
Mezcle

Seria un poco o demaciado confuso, en este caso es lo mismo Java es un lenguaje orientado a objetos, por lo tanto la receta (API) tendra que tener, congruencia con lo que se dice, pues imagina que no se reutilizara codigo, no se utilizaran interfaces, tendriamos un API muy muy grande (en espacio de almacenamiento) con mucho codigo repetido (desventaja).

Asi que por eso es que esta contruido de esa manera.

Ventajas:

Tienes clases que pueden ser intercambiables sin modificar mucho o incluso sin cambio alguno del codigo gracias a la herencia.
Puedes extender la funcionalidad de las clases que ya existen.
Y pues bueno lo contrario a lo que te puse como desventajas API .
Y otras mas.

Imagen de chicowed

??

Recuerdo a un profesor en la Universidad, que por cierto era Doctor, nos daba la materia de "Programación de Computadoras I", y siempre que nos daba un Tema empezaba con el típico ejemplo "en la vida real" y después de unos minutos justo cuando ya se había echo bolas por completo, Decía: "Mejor no me hagan caso jóvenes".

-Tema: "Sentencias de Control" Condicional If

-Profesor: Imaginen que su mama los manda al mercado, y les dice: Compra 1Kg de Pollo, Si no hay 1Kg Bistecs, y si tampoco hay compra 1Kg de Cerdo.
Entonces ustedes van al mercado y si no hay una cosa hay de la otra y asi hasta que se terminan las condiciones, ahora para ver las condicionales anidadas...... imaginen que su mama...... y luego ....... puffff, mejor no me hagan caso jovenes vamos a ver el libro en la pagina fulana, xD

Conclusión, no siempre se pueden pasar los conceptos de Programación a la vida real tal cual, puesto que son conceptos Abstractos

Imagen de Sr. Negativo

Re: Conceptos Abstractos

Conclusión, no siempre se pueden pasar los conceptos de Programación a la vida real tal cual, puesto que son conceptos Abstractos

Creo que tu profesor no sabía de programación o tenía problemas con la lógica.

Yo daba clases de programación, tengo algunas experiencias un poco negativas. Los alumnos muchas veces creen que por una o dos sesiones de clase aprenderán a programar sistemas complejos. Muchos no tienen la vocación de ingenieros, no son buenos para resolver problemas de lógica ni de matemáticas básicas. Los que se dedican a programar nunca dejan de estudiar, de resolver problemas. Es la razón que no muchos la "van hacer" (es cruel, pero es verdad).

Créeme conozco gente que es muy buena programando y resolviendo problemas relativos a la programación, pero que detestan hacerlo. Lo hacen porque les pagan muy bien.

Es cierto, también existen profesores que no aportan nada a sus alumnos y que los deprimen, solo dan clases por que alguien los puso ahí (por sus certificaciones, diplomados,etc.).

Imagen de chicowed

Re: Profesores

jeje, en mi punto de vista el Doctor si sabia de programación, trabajaba en algunos proyectos muy interesantes, pero para enseñar (osea transmitir sus conocimientos) era super pésimo, y en mi conclusión mencione, "no siempre" que más bien seria: aunque la Programación se relaciona con la vida cotidiana, hay veces que las personas se pueden confundir al citar un ejemplo de Programación con la vida real,

Por ejemplo: Recuerdo que en la secundaria el Maestro daba su definicion de
Algoritmo: Serie de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.

Tipico ejemplo: El maestro te citaba una receta de cocina, ERROR.
Una receta de cocina puede o no ser un algoritmo, puesto que en la definición claramente dice: que no generen dudas a quien deba realizar dicha actividad
Osea que si la receta dice, poner sal al gusto, poner un poco de aceite, cocinar los Huevos que sean, voltear los huevos despues de cierto ?tiempo?, entonces eso ya no es un algoritmo.
Este es uno de los conceptos que se me viene a la mente.
Saludos

Imagen de ezamudio

jajaj

"ve a la tienda por huevo; si hay leche, trae 2"

*trae 2 huevos*

"Por qué nomás trajiste 2 huevos?"

PORQUE HABÍA LECHE!

-----------------------

"voy a la tienda"

"mientras andas por allá, checa si hay leche"

*nunca regresa*

Imagen de arterzatij

Asi es por eso se deben tomar

Asi es por eso se deben tomar muy detalladamente los ejemplos, el ejemplo que tome es para mostrar la incongruencia no, que sea adecuado el algoritmo.

En el caso de las recetas que tiene como sal al gusto, es donde entran otras cosas como los supuestos, etc etc. Digo por eso es que hay muchos cosas negras en el desarrollo y por eso es un proceso medio dificil de controlar, por que hacemos que las cosas de la vida real las realice una computadora.

Donde, como ejemplifica ezamudio una maquina llevara "2 huevos si hay leche". Pues el enunciado es correcto, pero no se expresa adecuadamente la idea. Y el resultado no es el esperado.