programación

  • Tal vez les parezca una locura encontrar un artículo sobre código cerrado en un blog que promociona GNU/Linux y el software libre. Pero esta entrada nace a raíz de una inquietud que me presentó un colega amigo y decidí ponerme en la piel de alguien que vive de escribir código fuente.

    Un desarrollador me comentó que luego de realizar una aplicación le solicitaron la cotización del código fuente. ¿Existe alguna técnica para valuar el código fuente más allá de hacerlo "a ojo"?.

    El software de código cerrado es un tema delicado en el mundo de los profesionales del desarrollo ya que posee muchas aristas. Por un lado está el punto de vista ético: ¿Todo el software debe ser de código abierto? ¿Cuándo se justifica que un software sea de código cerrado? ¿Soy peor que Hitler si deseo vender el fruto de mi trabajo y esfuerzo, es decir, el código fuente cerrado de mi aplicación? Por otro lado está el problema de la cotización: ¿Cuánto cobro la hora de desarrollo? ¿Puedo quedarme con el código fuente? ¿Cuánto puedo cotizar mi software terminado si alguien me lo quiere comprar?.

    Voy a tratar de abordar alguna de estas cuestiones en este artículo y dejaré el debate abierto para quien se quiera sumar para brindar su opinión o punto de vista.

  • Este es el follow up de mi artículo previo dedicado a C (Desafío para poner a prueba tus conocimientos de C) para quienes no hayan encontrado la respuesta correcta. Espero que les guste.

  • Python es un lenguaje orientado a objetos, y como tal permite construir clases para definir objetos que tendrán un cierto estado interno y un conjunto de operaciones sobre el mismo. Sin embargo, Python también permite crear módulos, o conjuntos de funciones y definiciones de datos, no organizados utilizando el paradigma orientado a objetos. Incluso es posible implementar una mezcla de ambos esquemas.

  • Actualmente me encuentro trabajando en un proyecto de desarrollo que involucra diferentes lenguajes y tecnologías, como por ejemplo Java, PHP, MySQL, Bash, etc. Debido a que no me gustan los entornos de desarrollo (IDE), siempre realizo la codificación utilizando editores de texto (por ejemplo Gedit, Kate, Notepad++, nano, vi, etc.). Esta forma de trabajar obliga a escribir más y cliquear menos (algo que aprecian los detractores del mouse, como un servidor), pero también a leer más documentación de librerías, clases, módulos, etc. (que se traduce a lograr un conocimiento más profundo sobre lo que se está haciendo). En definitiva menos "drag and drop", menos autocompletar, menos autocorrección, menos chequeo de sintaxis y más "desarrollo a conciencia".

    Aunque tal vez muchos piensen que es una forma de trabajo obsoleta o retrógrada, no voy a entrar en la eterna discusión "text editor vs. IDE". En este artículo simplemente voy a presentar una forma de configurar el editor de texto nano para facilitar el desarrollo de código (sea cual sea el lenguaje).

  • De todos los lenguajes de programación con los que he trabajado creo que PHP es el más flexible y poderoso. Hoy descubrí un excelente truco que permite crear y evaluar nombres de variables a partir de strings en una misma línea.

  • Hoy encontré la siguiente declaración en lenguaje C como parte de una broma, y la verdad es que le da la un poquito de razón a quienes aducen que la sintaxis de C es algo críptica.

  • Una buena práctica, común en equipos de desarrollo ágil, es asegurar que los desarrolladores poseen su propio entorno donde trabajar. Un entorno es un espacio técnico que posee un alcance bien definido y respetado. La principal ventaja de los entornos es que ayudan a reducir los riesgos debido a errores técnicos que puedan afectar de forma adversa a un grupo de personas mayor al absolutamente necesario.

    El modelo de desarrollo, testing y producción es esencial para proveer los controles y el balance necesario para ejecutar un entorno de producción de alta disponibilidad de forma eficiente.

  • Una vez más me encuentro utilizando mi blog para hacer catarsis, una vez más a causa de los horrores con los que me topo cada vez que se me ocurre examinar un fuente. Con lo cual puedo agregar otro capítulo a mi libro de crónicas de un sysadmin. En este caso, podría titularse "aberraciones que he visto auditando código fuente", o más bien "cómo implementar la burocracia en PHP". Pasen y vean...

  • Hoy recibí esta información de interés por correo electrónico desde la Dirección del Departamento de Ciencias e Ingeniería de Computación de la Universidad Nacional del Sur.

    Sumate a "La Hora de Programar". Por favor difundir, especialmente en escuelas.

    ¿De qué se trata "La hora de programar"?

    Es una campaña masiva dirigida a 10 millones de estudiantes de todo el mundo y de todas las edades que busca introducirlos en el universo de las Ciencias de la Computación, a través de actividades sencillas y divertidas que pueden hacerse con o sin computadora, con o sin conexión a Internet, toman menos de una hora y están disponibles del 9 al 15 de diciembre.