Punteros

Puedes tener software de calidad o puedes tener aritmética de punteros, pero no puedes tener ambos a la vez.

— Bertrand Meyer

Comentarios
  1. Hi, Your weather-wallpaper aren’t found at your repo. You removed that ? Why ? I maintain a package for your software at Arch Linux distro:
    http://aur.archlinux.org/packages.php?ID=15973

    Responder

  2. Hi, Kessia.

    As I commented a couple of days ago here at the weblog, I moved the repo to Launchpad because of the heavy bandwidth consumption and number of connections.

    You can find it here: Personal Package Archive

    Responder

  3. ¿Estos dos mensajes de arriba a qué vienen?

    Responder

  4. La frase es la caña

    Responder

  5. DiCrEn

    Dejando a parte que el primer comentario pensaba que era spam (luego lo lei y ya no xD) creo que volvere a esta entrada cuando termine mi curso acelerado de programacion xD

    Responder

  6. Hay que especificar qué es “software de calidad”.
    Desde el punto de vista de la eficiencia te aseguro que no hay nada mas rápido que los punteros.

    Pero claro, viendo que el autor de esa cita es también el autor de Eiffel, lenguaje totalmente orientado a objetos, nos puede dar una pista.

    El programar orientado a objetos (POO) te abstrae totalmente del funcionamiento de una máquina y te permite programar pensando como una persona. Mientras que el concepto de los punteros es lo contrario, tu te adaptas a como funciona la maquina.

    Teniendo estas ideas en mente, resulta mas sencillo para una persona resolver un problema pensando en POO que con aritmetica de punteros. Entonces en programas complejos se tiende a hacer mejores diseños usando POO pero esque… es una forma de programar mas moderna, es normal, no?

    Ningun lenguaje moderno permite acceder a la memoria como lo hace C/C++ con punteros, ahi tenemos Java por ejemplo, el lenguaje más usado actualmente y en ningún momento puedes acceder directamente a la memoria. Los punteros tienen sus ventajas e inconvenientes. El que los SO se sigan programando en C/C++ verifica lo que dije que es mas eficiente un puntero pero tambien mas complejo de entender. Pero, por suerte y debido a la potencia de las maquinas actuales, ahora se tiende a hacer codigo legible aunque se pierda algo de eficiencia.

    Desde mi punto de vista, esa cita actualmente no tiene mucho sentido pero este señor fué pionero en POO y en aquella época si chocaría mucho jeje.
    Digo que no tiene mucho sentido porque es como decir:
    “Puedes tener software de calidad o software en ensamblador”
    El caso es similar y no sigo que ya me he enrrollado bastante jeje.
    Esto es solo mi opinión, una de tantas…

    Responder

  7. Pues yo diría que ahora es más cierta que nunca.

    Para que un software sea de calidad lo primero que tiene que cumplir es que tenga la menor cantidad de errores posible, factor al que no ayuda en absoluto el uso de los punteros. Igualmente importante es la usabilidad, por supuesto, aunque no es algo que venga al caso. Y por último, si, que tenga un rendimiento mejor que un cierto límite inferior que puede venir marcado por la paciencia del usuario o por otras restricciones, como en los sistemas de tiempo real.

    Con la potencia de las máquinas actuales el tener que recurrir a optimizaciones varias es cada vez menos frecuente. Sobre todo en lo que a software de escritorio se refiere.

    Y no olvidemos que, como dijo Donald Knuth, “premature optimization is the root of all evil”

    De todas formas no pretendía ser más que una cita humorística. Aunque es un debate interesante el que planteas, maxpowel.

    Responder

  8. DiCrEn

    la culpa a sido mia… para que le diria nada (a maxpowel xD)

    Responder

  9. @DiCrEn yo encantado 🙂

    Responder

Deja un comentario