No estoy listo para comenzar

VB6 y el arte de una knuckleball

David Platt

David PlattHace dos años en esta columna que escribí sobre la sorprendente longevidad de Visual Basic 6 (msdn.microsoft.com/magazine/jj133828). Tengo mas comentarios en esa columna que cualquier otra cosa que he escrito, 145 en el último recuento y siguen llegando mientras escribo estas palabras. Claramente, yo he tocado algunos sentimientos muy fuertes.

Siempre me he preguntado en el poder del Visual Basic 6 (VB6). Una de mis estudiantes llamaba VB6 la "cucaracha inmortal" el ecosistema de Windows. Así que cuando escuché un Boston deportes comentario de locutor en la carrera de 17 años de un lanzador de pelota Red Sox amado y decir, "después del Apocalipsis, todo lo que queda es las cucarachas y Tim Wakefield," se me ocurrió: VB6 es como una pelota.

La pelota es un argumento difícil en el béisbol estadounidense. A diferencia de una bola, que acelera el pasado bateadores antes de que puede hacer pivotar, la pelota más lento confunde a los opositores por aleteo y bailar al azar a través del aire. El pitcher lanza la bola con casi ninguna vuelta, sosteniéndolo en sus uñas y empujándolo hacia adelante (ver bit.ly/1jDB3a4). La propuesta pone mucho menos tensión en el brazo que otras echadas. Los pocos lanzadores para dominar la pelota han disfrutado de las carreras mucho más que sus contrapartes de lanzamiento de bola de fuego. VB6 es así. Su simplicidad somete a los programadores a menos estrés, resultando en más carreras.

La analogía se pone mejor. Muchos, quizá la mayoría, lanzadores de bola rápida consideran la pelota unsporting, un truco de circo indigno de una "jarra real". Revisar los comentarios de mi primera columna de VB6, y puedes ver este meme en el trabajo: "VB6 es un juguete, no un lenguaje de programación real, y personas que lo utilizan no son programadores reales". Una vez dicho lo mismo, respaldo en mis días de C++ COM, para que ahora me disculpo.

Raramente puede completar un proyecto usando VB6 solamente. Mientras que muchas operaciones de programación son mucho más fáciles en VB6 que en C++ cruda, otras operaciones (fondo hilos, digamos) son esencialmente imposible. Siempre ha sido mi regla del pulgar para el desarrollo de VB6, "Si no puedes hacerlo en 10 minutos, no puedes hacerlo en absoluto." Siempre aconsejo a los equipos de desarrollo de VB6 que necesitan un programador C++ para escribir objetos COM para lograr las pocas operaciones que no pueden Visual Basic .

Del mismo modo, un lanzador de pelota necesita deshacerse de conectores FastBall alrededor del 20% del tiempo a mantener bateadores honesto, especialmente con los corredores en tercera base, donde un passed ball puede anotar una carrera. Los colectores a menudo luchan con la pelota difícil-a-catch (como Bob Uecker famosamente observada, "la forma de atrapar una pelota es esperar hasta que se detenga rodando y luego recogerlo.").

Nunca he conocido a nadie que se especializó en Ciencias de la computación intención de convertirse en un programador VB6. La mayoría de los tipos de VB6 que sé comenzó como expertos en materia, Visual Basic de aprendizaje como la forma más fácil de empezar a informatizar sus conocimientos de dominio del problema. Del mismo modo, algunos lanzadores comienzan sus carreras lanzando la pelota. Blogger Peter Duffy escribe que la mayoría empieza tirando cuando no se realizan como jarras convencionales, "por desesperación; una manera de salvar lo que queda de un sueño". (bit.ly/1lazWvS)

Cuando un pincelazo funciona, es unhittable. Pero si se desliza la uña de la jarra y el tono no baila, está frito. La bola de cuelga lentamente frente al bateador y llega golpeado fuera del parque. Asimismo, VB6 es grande cuando funciona. Pero es difícil cuando se rompe en serio porque no puedes ver debajo del capó de depuración ("0x80014005: Error desconocido").

Lanzadores de la pelota y los programadores VB6 comparten otro rasgo notable — se pegan juntos. La película documental "Pelota!" (bit.ly/1jfv5JU) muestra retirado knuckleballers —Jim Bouton, Charlie Hough, Phil Niekro — ayudando a Tim Wakefield a mentor R.A. Dickey, knuckleballer de grandes ligas sólo activa de hoy. Funcionó: Dickey ganó el premio Cy Young como el mejor lanzador de la Liga nacional en 2012. Ahora Dickey está ayudando a knuckleballer Rojo Sox AAA Steven Wright trata de entrar en las grandes ligas este año. Encuentro el mismo colegiado en la comunidad de VB6, especialmente ahora que Microsoft no está conduciendo.

Recientemente impartí clases .NET a algunos científicos, que necesitaba escribir programas para el control de sus instrumentos de programación. A pesar de mis esfuerzos, la complejidad de la Windows Presentation Foundation, modelo-View-ViewModel y Microsoft .NET Framework severamente los distrae de su ciencia. Ojalá y lo desean, que existió una herramienta simple para el desarrollo .NET. Ojalá que pudiera haberles enseñé a lanzar una pelota.

David S. Platt enseña programación .NET en la Escuela de Extensión de la Universidad de Harvard y en empresas de todo el mundo. Es el autor de 11 libros sobre programación, entre ellos “Why Software Sucks”, (Addison-Wesley Professional, 2006) e “Introducing Microsoft .NET”, (Microsoft Press, 2002). En el año 2002 fue nombrado “Leyenda del software” por Microsoft. A veces se pregunta es si debiera amarrar dos dedos de su hija con cinta adhesiva para que aprenda a contar en el sistema octal. Puede ponerse en contacto con él en rollthunder.com.