"Cosa" de Negro
abril 27, 2005
 
La delgada linea entre reusar y arrastrar & soltar
Es lamentable como la "ley del menor esfuerzo" se apodera cada vez más de las áreas técnicas.
Y parte de ello son los programadores.

Cuál es la línea que separa al programador que reutiliza código del que arrastra y suelta ?

Estoy muy de acuerdo con la reutilización de código, con no reinventar la rueda, con la POO, pero cómo puede ser posible que un programador que dice tener muchos años de experiencia no sepa hacer algo tan básico como relacionar una tabla de facturas cuyos importes están expresados en pesos con una tabla de cambio para obtener el importe en dolares ?

Qué hace un pseudo-programador cuando falla el código predeterminado ?
Por qué hay tanto software "lindo" con un funcionamiento pésimo ?
Alguien se da cuenta de que esta masa de pseudo-programadores que hacen malos programas producen perdidas millonarias en la sociedad?
abril 10, 2005
 
Rescribiendo el motor de objetos
He emprendido un desafio importante, rescribir el motor de objetos de xHarbour.

La idea es obtener mejoras en estos aspectos:

Pero ya que estamos en ritmo de modificaciones, aprovecho para abrir el debate para sugerencias.
Se me ocurren un par que considero importantes.

  1. Método SUPERINIT (se aceptan sugerencias para el nombre).
    La idea es tener un método que SIEMPRE sea llamado al crear una nueva instancia de un objeto.
    Esto incluye las instanciaciones provenientes de la ejecución de __clsInst() y las provenientes de la clonacion de un objeto con OClone() o hb_arrayClone() sobre un objeto.
    Las clases heredadas ejecutan al instanciarse todos los métodos SUPERINIT existentes en su clase, tanto los propios como los heredados.
    El método recibe un parámetro que indica si el objeto fué instanciado o clonado.
    La idea de este tipo de método, no es reemplazar al método CONSTRUCTOR actual, sino funcionar de forma similar a las INIT FUNCTION.

    Algunos posibles usos son:
    • Conteo de referencias o instancias.
    • Inicialización dinámica de variables de instancia.

  2. Métodos delegados que soporten llamadas con cantidad variable de parámetros, ya que hoy sólo soporta llamadas con una cantidad fija de parámetros.

abril 03, 2005
 
Nuevos tipos de datos en xHarbour
Hace un tiempo hubo unos comentarios acerca de que los usuarios de xHarbour no tenían posibilidad de discutir u opinar sobre nuevas sintáxis agregadas al lenguaje.

Asi que aquí tienen la oportunidad de hacerlo.

Clipper tiene el tipo de dato DATE, pero no tiene TIME o DATETIME.
Además para cargar un valor DATE fijo por programa hay que hacerlo mediante una llamada a una función, no existe una constante de tipo DATE.

Esta es la propuesta de constante de tipo DATE, TIME y DATETIME.

DATE : {^2005/04/03}
TIME : {^13:02:03.04} y también {^01:02:03.04PM}
DATETIME : {^2005/04/03 01:02:03:04}

El modificador AM/PM es opcional tanto para TIME como para DATETIME y es válido para horas de entre 1 y 12.

Espero sus opiniones sobre la sintáxis y sobre los tipos de datos a implementar.

- DATE y DATETIME.
- DATE, TIME y DATETIME

Powered by Blogger