RSS 2.0 Atom 1.0 CDF  
JASoft.org - Artículos
El blog de José Manuel Alarcón Aguín. Programación .NET y mucho más...
 

Estos días, salvo que hayas estado debajo de una piedra encerrado, te habrás hartado de oir hablar de WebMatrix, desde que lo presentó Scott Guthrie hace nada.

He estado probando Webmatrix con unas semanas de antelación a ese anuncio gracias a estar en el grupo de "Insiders" de ASP.NET en Microsoft. Mi primera reacción cuando lo vi fue: "Dioss! que porquería: esto va a crear muchos bodrios por ahí". Y la verdad es que si eres un programador experimentado con ASP.NET WebForms o con ASP.NET MVC, Webmatrix y su nueva sintaxis Razor no creo que te aporten gran cosa o que te vayan a interesar de entrada. Pero luego realmente te das cuenta de lo interesante que es una herramienta como esta para otro perfil de programadores: aquellos que se "han quedado" en ASP 3.0 clásico o en PHP, JSP, etc... y que quieren saltar a desarrollar con .NET. En ese caso WebMatrix es un producto genial.

Es más: dado que viene con multitud de aplicaciones Open Source ya listas para usar (desde gestores de contenidos o foros hasta cosas más complicadas, hay de todo) y que es muy fácil probarlas, retocarlas o ampliarlas con páginas propias usando el nuevo motor, abre la puerta a multitud de empresas pequeñas que desarrollan aplicaciones Web a medida para sus clientes y que lo que realmente les interesa es aprovechar software ya hecho, simplemente adaptándolo o retocándolo un poco.

Además WebMatrix presenta por primera vez IIS Express y SQL Server Compact, dos herramientas que TODOS los programadores Web vamos a usar mucho en los próximos meses.

Tenía pensado escribir un buen artículo sobre la herramienta, pero el día a día me lo ha impedido, y además nuestro tutor y amigo José María Aguilar se nos ha adelantado a todos publicando un excelente articulo que da un buen repaso a WebMatrix y todas sus herramientas para que sepas por donde estás pisando. Lo hemos colgado en Scribd, así que puedes leerlo, imprimirlo y descargarlo desde allí.

¡¡Esperamos que te guste!!

Por: José Manuel Alarcon | Friday, July 09, 2010 10:44:54 AM (Hora de verano romance, UTC+02:00)  #    Comments [0] - Trackback
Tags: Artículos | Desarrollo Web



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

Este fin de semana largo que tenemos en España he aprovechado para releer el clásico de la literatura del Open Source, "The cathedral and the bazaar" (PDF, 145KB) de Eric S. Raymond. Este ensayo -cuya primera versión data de 1997- se convirtió enseguida en una pieza de referencia para el movimiento Open Source ya que en él Eric analizaba las diferencias existentes entre el desarrollo tradicional de software en las grandes empresas, a las que comparaba con una catedral, con el desarrollo de aplicaciones Open Source a través de Internet con voluntarios, que comparaba con un bazar. Lo que lo inspiró a escribirlo fue la tremenda efectividad del desarrollo de Linux a principios de los años 90, que luego puso en marcha él mismo con el desarrollo de su conocido servidor de correo Fetchmail. En los últimos años Eric ha tenido sonadas disputas con el Free sSoftware Foundation y en especial con el grillado de Richard Stallman.

Por si alguien lo dudaba las "catedrales" son empresas como Microsoft (especialmente) y otros gigantes, que tienen una política de ocultar el código incluso internamente,  mientras que los "bazares", donde hay mucho ruido y confusión pero se hacen muchos tratos todo el tiempo, son los grandes proyectos Open Source como los mencionados.

He decidido resumir aquí los puntos principales del documento (y traducirlos) tal cual él los expone, con algún comentario propio, por si le pueden servir a alguien y para tenerlos yo mismo resumidos para futura referencia. Espero que te gusten y te resulten útiles.

Ahora bien, aunque coincido con muchas de las cosas que dice Eric en su artículo, pienso que muchas de sus premisas no son aplicables en proyectos comerciales y menos en empresas pequeñas. Además estoy convencido de que Microsoft y otras grandes empresas han aprendido mucho del Open Source y, aparte de tener muchos proyectos OS propios, han modificado sus técnicas de trabajo y han abierto mucho sus productos y el código para ser más ágiles. ¿El mercado les ha obligado? Seguro, pero eso no quita que sea así.

-----
LA CATEDRAL Y EL BAZAR - PUNTOS IMPORTANTES

  1. Todo buen trabajo de software comienza por rascar el "picor" de un buen programador ---> Motivación
  2. Los buenos programadores saben qué código escribir. Los grandes programadores saben qué código rescribir ---> Reutilización de código y no reinventar la rueda
  3. Planea tirar al menos una vez el trabajo. Lo harás de todos modos ---> Las cosas no salen bien a la primera generalmente
  4. Si tienes la actitud correcta, los problemas interesantes te encontrarán ---> La curiosidad es buena y te llevará a crear proyectos interesantes
  5. Cuando pierdes el interés en un programa, tu última obligación para con él es cedérselo a un sucesor competente ---> No tires el trabajo, dáselo a alguien que le interese y lo pueda seguir llevando
  6. Tratar a tus usuarios como co-desarrolladores es el camino con menos obstáculos hacia la mejora del código y la depuración efectiva ---> Involucra a otra gente en el desarrollo
  7. Libera pronto, libera a menudo y escucha a tus clientes ---> mejor liberar código que no sea perfecto muy a menudo que código muy probado de muy tarde en tarde (en un mundo donde los que lo reciben son programadores, claro)
  8. Dada una base suficientemente grande de beta-testers y co-desarrolladores, casi cualquier problema será determinado rápido y la solución será obvia para alguien ---> Esta la clásica teoría de que muchos ojos pueden ver cualquier error, lo cual ya he comentado en otras ocasiones que no me convence nada. Para muestra un botón, pero hay muchos ejemplos en el mundo Linux y OS engeneral. Está claro que cuatro ojos ven mejor que dos y así sucesivamente pero basar la calidad y seguridad del Open Source en que hay muchos ojos mirando es una falacia. Me gusta un corolario que sale de aquí, y que dice: "The total cost of maintaining a widely used program is typically 40 percent or more of the cost of developing it. Surprisingly this cost is strongly affected by the number of users. More users find more bugs". Está claro: cuánto más lo use la gente más errores van a aparecer.
  9. Es mejor tener estructuras de datos  bien pensadas y mal código que al revés ---> Piensa bien antes de desarrollar. serás más efectivo.
  10. Si tratas a tus beta-testers como si fueran tu recurso más valioso, responderán convirtiéndose en tu recurso más valioso ---> Esto lo lleva haciendo Microsoft muchos años aunque sin cóigo fuente la mayor parte de las veces.
  11. Lo segundo mejor después de tener buenas ideas es reconocer las buenas ideas de tus usuarios. A veces esto último es incluso mejor ---> No comments.
  12. A menudo las soluciones más impactantes e innovadoras vienen al darte cuenta de que tu concepto del problema estaba equivocado ---> Rectificar es de sabios.
  13. La perfección (en diseño) se consigue no cuando no hay nada más que añadir, sino más bien cuando ya no hay nada más que quitar ---> Totalmente de acuerdo. Es el principio KISS.
  14. Una herramienta debe ser útil en el modo esperado, pero una herramienta realmente buena suele dar usos que nunca habías esperado.
  15. Cuando escribas software de pasarela del tipo que sea, esfuérzate por entorpecer el flujo de datos lo menos posible, y nunca deseches ninguna información a menos que el destinatario te fuerce a ello ---> De esto poco tengo que decir, está relacionado con su programa de e-mail, y como dice un amiguete: "Cuando tienes un martillo todo te parecen clavos" ;-)
  16. Cuando tu lenguaje no es ni de lejos Turing-completo, el azucar sintáctico puede ser tu amigo ---> vamos que justifica la exitencia de construcciones en los lenguajes que faciliten el trabajo.
  17. Un sistema de seguridad es sólo tan seguro como sus secretos. Ten cuidado con los pseudo-secretos ---> con esto estoy totalmente de acuerdo: no bases la seguridad de tus sistemas en la ofuscación o el que no se conozca tus algoritmos. Esto es ley en programación.
  18. Para resolver un problema interesante, comienza por buscar un problema que te interese ---> nuevamente la cuestión de la motivación y que los grandes programadores suelen trabajar en cosas que les interesan y motivan. Muy bonito y está bien participar en ello en un proyecto Open Source, pero en la cruda realidad hay que comer y el trabajo no siempre es tan interesante o motivador. De esta parte me gusta un párrafo en el que compara la catedral y el bazar con las leyes físicas Newtonianas y de la relatividad especial respectivamente, y dice: "This resembles the relationship between Newtonian and Einsteinian physics-the older system is still valid at low energies, but if you push mass and velocity high enough you get surprises like nuclear explosions or Linux."
  19. Partiendo de la base de que el coordinador del desarrollo (Open Source) tiene a su disposición un medio de comunicación al menos tan bueno como Internet y que sabe como dirigir sin coerción, muchas cabezas son inevitablemente mejores que una sola ---> Amén.

-----

El ensayo es todo un clásico y, a pesar de lo que pueda parecer por mi resumen, es bastante interesante y cualquier programador debería leerlo, sobre todo si debe coordinar equipos de desarrolladores. Eric tiene otros ensayos interesantes sobre Open Source que quizá comente en otra ocasión.

En fin, cada uno que saque sus conclusiones...

Por: José Manuel Alarcon | Monday, December 07, 2009 1:21:51 PM (Hora estándar romance, UTC+01:00)  #    Comments [0] - Trackback
Tags: Artículos



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

De Krasis Press, escrito por Alberto Población...

ARTÍCULO: Ejecución al vuelo de código tecleado por el usuario

Esperamos que os guste :-)

Por: José Manuel Alarcon | Thursday, November 19, 2009 7:25:17 PM (Hora estándar romance, UTC+01:00)  #    Comments [0] - Trackback
Tags: Artículos



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

En Krasis Press/campusMVP hemos publicado un nuevo artículo corto.

Esta vez nuestro tutor Alberto Población trata de responder a una pregunta muy común entre los programadores que se aventuran a crear por primera vez un servicio Windows, y es "¿Qué es mejor para ejecutar el código de un servicio Windows? ¿Un Timer o crear hilos?". La respuesta no es tan clara como pueda parecer...

ARTÍCULO: ¿Timers o Threads para ejecución de código en servicios Windows?

¡Esperamos que te sea útil!

Por: José Manuel Alarcon | Saturday, November 14, 2009 4:35:05 PM (Hora estándar romance, UTC+01:00)  #    Comments [2] - Trackback
Tags: Artículos



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner
Page 1 of 1 in the Artículos category
Copyright © 2010 José Manuel Alarcón Aguín. All rights reserved.