Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • tipado y modo estricto

    (Puntos:4, Informativo)
    por Tei (4535) el Martes, 22 Marzo de 2005, 14:30h (#466875)
    ( Última bitácora: Viernes, 03 Febrero de 2012, 15:18h )
    ----introduccion-----
    Los lenguajes de scripting son geniales para escribir mucho codigo rapidamente. Pero esto se suele conseguir acompañado de tipado suave.

    De modo que puedes hacer algo como esto:

    normalID = ID;

    El problema es que hay muchas formas de escribir eso:

    normalId = ID; //Caso A
    normalID = (int) ID; //Caso B
    normalID = (string) ID; //Caso B
    identificadores[normalID] = ID;//Caso C.1
    identificadores[normalId] = ID;//Caso C.2

    En el caso A, muchos lenguajes no te diran nada, simplemente crearan una nueva variable. Y la correcta normalID no sera nunca actualizada con el valor correcto. Es una muerte silenciosa y crea un bug dificil de encontrar.
    El caso B es aun mas sutil. Porque no es lo mismo "0378" que "378". El primero es una cadena, el segundo un entero. Nuestro lenguaje hara uno de los dos. ¿Adivinas cual?. De nuevo se nos pueden colar errores dificiles de encontrar.
    El caso C supone que tenemos un array de valores. Podemos meter el valor en el lugar incorrecto, y un lenguaje de estos tampoco se quejara. Otro bug dificil de encontrar.

    Pero no todo esta perdido. Muchos lenguajes como PHP o Perl permiten escribir codigo que sea estricto y que genere warnings gordos ante codigo que probablemente sea un error, obligandonos a escribir un codigo mas seguro.
    ----/introduccion-----

    ----el estado de los lenguajes de script-----

    Yo veo que los lenguajes de script de hoy en dia han conseguido cosas muy interesantes que los compiladores casi consiguieron pero no lograron del todo. Muchos lenguajes de scripting hacen facil escribir codigo multiplataforma. No hay que tener unos conocimientos especiales.

    Lenguajes como Perl, PHP y Ruby tienen repositorios de modulos y obtenerlos esta integrado en el lenguaje (CPAN, pear y gems), ademas de las librerias originales que continen casi todo lo que alguien pueda necesitar. Y una prueba de la madurez de los lenguajes de scripting es que sus librerias estan escritas en ellos mismos. Los modulos de perl estan escritos en perl, y los modulos de php en php, etc..

    Otra caracteristica de los lenguajes de scripting muy interesante es su modernidad. El que mas y el que menos implementa features de lenguajes serios, por ejemplo la Reflection, OOP con singletons, etc.. (toda clase de sintax sugar). Cosas que no veras en muchos lenguajes clasicos y que pueden ser muy utiles. ( se me ocurre que programar una *Unit aprovechandose de la feature de reflection debe ser casi trivial y quedar automagico )

    Pero bueno, ¿Como diria harry el sucio?. Harry diria algo asi como que un lenguaje de script es un lenguaje de script, da igual si se baña con muchisimo jabon, si se friega la piel con piedra pomez o se echa lejia por encima. Incluso aunque se queme la piel con cloro. Un lenguaje de scripting sigue siendo un lenguaje de scripting.

    ----/el estado de los lenguajes de script-----
    Puntos de inicio:    4  puntos
    Modificador extra 'Informativo'   0  

    Total marcador:   4  
  • por eggun (1255) el Martes, 22 Marzo de 2005, 18:30h (#467122)
    ( http://www.linux-party.com/ | Última bitácora: Miércoles, 03 Junio de 2009, 15:55h )
    OLE! OLE!
    [ Padre ]