¿Va Visual Basic de salida?

Basic Gorilla

Visual Basic es mi lenguaje favorito. Cuando lo aprendí se me hizo el código tan sencillo y lógico, claro que las aplicaciones que hacía eran de negocio y no necesitaba acceder al registro con ensamblador. Cuando dejé de usar Visual Basic 6 y aprender .Net no la pensé mucho y adopté Visual Basic .Net.

Por años ha habido discusiones en el ambiente del .Net si usar C# o VB.Net, siempre se me hicieron ociosas porque ambos lenguajes usan el mismo framework y cada ves son más parecidos, por lo que pienso que se reduce a una elección puramente de gusto, así lo manifiesta Microsoft.

A muchos programadores Visual Basic siempre se les hizo un lenguaje de juguete, se dejan llevar por el nombre, como que no es poderoso y sigue arrastrando palabras reservadas como “Dim” y “GoTo” del viejo Basic. Fue el último lenguaje en ser orientado a objetos, pero tampoco C fue creado orriginalmente para ser un lenguaje OO.

VB no ha tenido respeto pero fue el lenguaje más popular porque hizo que muchas personas sin conocimiento en programación programaran. Esto tuvo su lado obscuro porque permitió barbaridades en código que un lenguaje más estricto nunca permitiría. En .Net esto se fue reduciendo pero eras de la compatibilidad algunas técnicas (si se le puede llamar así) sobrevivieron.

Recientemente leo este artículo Shoud I abandon VB.Net? donde autor se cuestiona si VB es relevante desde el punto de vista que ahora el lenguaje más popular es C# y es más dificil contratar programadores de VB.Net, también hace la alusión de que Microsoft está empujando al desarrollo en C# y poco a poco dejando de soportar VB. Hay evidencia de esto, por ejemplo XNA solo se puede programar en C#.

Otra noticia importante es que el sistema de administración de contenidos (CMS) DotNetNuke anunció que dejará de desarrollar en VB.Net para irse a C# argumentando que es una desición de negocio motivada por el mercado de programadores y no por cuestiones técnicas. Esto es un golpe al VB.Net.

Por supuesto que Microsoft negará que abandonará VB.Net, seguirá soportándolo (como soportar un dolor) por muchos años seguirá a la par que C# en próximas versiones, pero me pregunto por cuanto tiempo, la respuesta es mientras lo sigan usando. Hay que recordar que ya no se soporta J# porque no lo adoptaron los programadores de Java.

En lo personal no me preocupa mucho la suerte de VB.Net, lo seguiré usando y si desaparece pues me brinco a C# o a otro lenguaje, lo importante es tener buenas bases de programación. Por lo pronto mis proyectos son en VB.Net.

Por cierto, la imagen es del juego “Gorilla” hecho en QuickBasic y que venía integrado en DOS.

Declaración de variables

camello

En programación las variables son importantísimas para almacenar valores que estaremos usando en nuestros procedimientos o funciones. Recuerdo cuando aprendí a programar con Pascal, la declaración de variables era rígida, se tenía que hacer forzosamente al principio y se tenía que especificar el tipo de dato, lo cual son buenas prácticas pero C era más flexible y no se diga Basic que hasta podías declarar sin variables sin tipo.

Los  lenguajes han evolucionado, pero las buenas prácticas continúan. Cuando me dediqué al Visual Basic en los noventas la convención para declarar variables más usada era la notación húngara (llamada así por que se le atribuye a Charles Simonyi un ingeniero de software húngaro). Esta notación consiste en tomar el tipo de dato abreviado con minúsculas y concatenarle un nombre significativo a la variable iniciando con una mayúscula. Por ejemplo, un entero que va a almacenar días podría declararse iDias. Esto se extendió a declarar también los controles u objetos, por ejemplo una caja de texto de nombre sería: txtNombre.

Estas convenciones para declarar se hicieron famosas con Visual Basic y Delphi. Con el auge de lenguajes orientas a objetos como Java, C# y VB.NET ya no es recomendable esta notación, es más común el uso del CamelCase y PascalCase que consiste en declarar la variables concatenando dos palabras sin espacios inicializando con mayúscula. Se refiere al camello porque puede tener una o dos jorobas, donde la mayúscula es la joroba. Por ejemplo: NombreEmpleado es PascalCase (dos jorobas, una variación de CamelCase) y diasSemana es CamelCase (una joroba). Otra buena práctica en la declaración de variables es usar CamelCase para variables privadas y PascalCase para variables públicas.

La necesida de especificar el tipo de dato de la variable desaparece porque los editores de código moderno incluyen Intellisense y otras herramientas de depuración que ayuda al programador a conocer perfectamente de que tipo es la variable en cuestión. Antes también era importante cuidar el tamaño del código y exigía aprovechar cada caracter, por lo que era común declaraciones como v1, i, j, etc. que no dicen nada para que se van a usar. Ahora es común tener variables como: contadorEmpleadosNomina aunque es larga, es muy explícita e incluso disminuye la necesidad de poner comentarios en el código.

¿Qué convenciones para declarar variables usas?

 

BlogEngine.Net plataforma para Blogs

BlogEngineNet

Crear un blog es muy sencillo. Hay servicios gratuitos como Blogger y WordPress que te proveen todo, incluyendo el hosting. Hay algunos que te cobran como TypePad. Todos muy buenos, algunos te dejan poner anuncios otros no. Recientemente quería crear un sitio para un podcast y estuve revisando las opciones, vi a DotNetNuke y WordPress, ambos plataformas muy confiables y populares, pero por ahí me topé con BlogEngine.Net el cual está hecho 100% en .Net y tenía una característica importante, puede funcionar sin base de datos.

Contraté el dominio www.yanoeslomismo.com y empecé a jugar con BlogEngine.net en la versión 1.2, después de configurar el IIS todo parecía funcionar excepto agregar entradas al blog, me frustré con el producto y lo dejé. Después vi que salió la versión 2.0 y decidí darle otra oportunidad. Lo instalé y lo empecé a usar sin problemas. BlogEngine.Net viene integrado con WebMatrix, aunque perfectamente puede funcionar con Visual Studio. Lo que me gusta es que fácilmente puedes editar el código ASP.NET para mayor customización de tu sitio.

Aunque algunos podrían decir que es muy limitado BlogEngine.Net a comparación de otras plataformas, para mis necesidades es lo adecuado. Puedes fácilmente cambiar de apariencia bajando Temas de Blog Engine Themes y tener una apariencia profesional de tu blog en minutos. Obviamente es necesario tener hosting u hospedarlo tú mismo. Como comenté, lo uso para mi nuevo podcast que les invitó a escucharlo.

 

Hablando de Blogs en Dev3Cast

dev3cast

Ayer me dio mucho gusto participar en el podcast de la Comunidad TJ.Net llamado Dev3Cast. Este podcast lo iniciamos Gabriel Flores y un servidor para ahondar más en los temas que a los desarrolladores de software más les preocupa, tanto en cuestiones técnicas como laborales y hasta algo de negocios.

En esta ocasión hablamos de los blogs. A raíz de un artículo de Coding Horror que nos compartió Gabriel donde el autor argumentaba que para los desarrolladores el hecho de tener un blog les ayuda profesionalmente en el sentido de que mejoras sus habilidades para comunicación afinando la forma de redactar y de enseñar los conocimientos a los demás. Comparto esta idea totalmente, creo que un blog es un excelente repositorio de ideas y creatividad, además, como discutimos en el podcast puede haber beneficios en cuanto a posicionamiento como profesional.

Compartí el micrófono con Mario Chávez que ya conocía desde la comunidad, Mario Cornejo y Samuel Arellano que no tengo el gusto de conocerlos en persona pero ya había escuchado de ellos en las redes. Los puntos que vimos en el podcast fueron los siguientes:

  • ¿Qué y cómo publicamos en los artículos en los blogs?
  • ¿Cómo un blog puede hacernos mejor desarrollador y profesionista?
  • Herramientas para escribir y hospedar los blogs
  • ¿Cómo administrar los comentarios de blogs?
  • ¿Cómo consumimos el contenido de los blogs?

Puedes oir el podcast aquí.

 

Distribuyendo y monetizando aplicaciones en Windows Phone 7

Marketplace WP7

El pasado 2 de Octubre (no lo olvido) Gabriel Flores me invitó a dar un tema en un taller de la Comunidad TJ.Net en la UTT sobre el Windows Phone 7, sobre como los desarrolladores pueden crear sus aplicaciones y ganar dinero. Microsoft a finales del 2010 liberó su propuesta para móvil creando una plataforma nueva que no tiene que ver con Windows Mobile, aunque conservó el nombre de Windows en el producto (por familiaridad supongo), es una interfaz completamente innovadora y un modelo de negocios parecido al ecosistema de Apple con el iPhone.

Comentaba en la plática que Microsoft optó por un modelo negocio intermedio entre el iPhone y Android, por un lado Apple tiene un proceso muy controlado para aprobar aplicaciones que se venden en su App Store y por el otro Google dejó libre la distribución de aplicaciones para consumo de clientes de Android, ambos tienen sus ventajas y desventajas, pero desde el punto de vista del programador, es bueno tener una tienda construida para distribuir el producto y no preoparte por ese aspecto, sino en lo que sabemos hacer mejor.

Microsoft sabe que es clave para el éxito del Windows Phone las aplicaciones que tenga disponible, por eso ha hecho muy sencillo el desarrollo de las mismas utilizando Visual Studio con las plataformas XNA y Silverlight, todo esto se puede hacer gratis incluso si eres estudiante. Para poder distribuir las aplicaciones te deberás registrar como desarrollador, enviar la aplicaciones para su validación y una vez aprobada se hará disponible en el Marketplace a 30 mercados del mundo y muchos otros por venir. Además para hacer más atractivo el asunto, Microsoft te regala un Windows Phone si desarrollas 3 aplicaciones y se publican en el Marketplace.

Hay muchos aspectos muy atractivos para desarrollar en esta nueva plataforma y que decir del teléfono, las personas que lo han usado le dan muy buenas referencias. Ha tenido buena recepción en el mercado vendiéndose 2 millones de unidades en el primer cuarto de año de lanzamiento, así que es muy probable que esté a nivel competitivo con los demás smartphones. Hago disponible la presentación para que conozcas las ventajas de Windows Phone 7.

 

Visual Basic Step by Step

VB2008

En el 2008 escribí un post sobre como estaba “reaprendiendo” Visual Basic, pero en realidad no tuve tiempo de entrar a fondo. Ahora estoy retomando el estudio ya que quiero iniciar un proyecto y ahora sí tengo tiempo para hacerlo. Así que agarré el libro que había comprado de Visual Basic 2008 Step by Step y ya casi lo termino.

En un principio dudé regresarme a un nivel tan básico pero me di cuenta que hay muchas cositas en el Framework de .Net o en el mismo ambiente de desarrollo (IDE) que necesito familiarizarme. Aunque estoy utilizando Visual Studio 2010 para el nivel que estoy utilizándolo es exactamente lo mismo que el 2008, aunque sí hay cosas interesante en la nueva versión.

Poco a poco estoy entrando de nuevo al ritmo de un programador, ya que después de aproximadamente 8 años de no programar, tenía que desempolvar las habilidades. Me está gustando mucho el proceso creativo que se da al programar, la satisfacción que da al solucionar un problema o crear un programa que potencialmente lo usará mucha gente o incluso mejorará sus vidas.

 

Bizspark apoyo de Microsoft a los Emprendedores

MS_Bizspark

Comentaba en el post anterior sobre los recursos que tiene que buscar un emprendedor cuando va iniciando el negocio. Además de hacer realidad la idea millonaria, tiene que ver como obtener las herramientas para generar el producto. Muchas veces tiene que ver con equipo, otras veces con capacitación o contratación de personal. En el caso de los desarrolladores requerimos software y apoyo técnico. Ahí es donde entra el programa de Microsoft denominado BizSpark.

BizSpark está diseñado para dar ese empujón al desarrollador en generación y venta de proyectos de software en tres vertientes:

  • Software: obtienes licencia de MSDN gratis la cual contiene las herramientas como Visual Studio y los sistemas operativos para probar.
  • Soporte: acceso a redes de desarrolladores para auxilio en problemas técnicos así como capacitación.
  • Visibilidad: conexión con inversionistas, clientes, socios y la prensa, para mejorar las probabilidades de éxito de tu proyecto.

Esta iniciativa me pareció ideal para mí. Es muy fácil entrar al programa, solo debes de llenar un formulario donde indiques que vas comenzando en el negocio, tener una página con dominio propio y esperar a que aprueben tu solicitud. Después de unos días ya fui aprobado en el programa y gozaré de los beneficios del mismo. Definitivamente es una chispa para tu negocio.

Agradezco a Marco Antonio Macías encargado del programa en México por su apoyo.

 

Office Live Small Business

officeliveSB

office live smallbusiness

Ahora que estoy iniciando un negocio hay muchas cosas de las cuales puedes prescindir, actualmente tener presencia en internet no es una de ellas. Aunque tengas una tortillería, es importante tener un sitio donde los clientes puedan tener información básica acerca de la empresa y si el giro se presta, ¿por qué no? vender por medio de internet.

Una opción para las personas que no son muy conocedores de la tecnología es Office Live Small Business (OLSB) que es un servicio de Microsoft que provee herramientas gratuitas crear un sitio de internet, correo electrónico, manejo de documentos y calendarios. Por supuesto que casi todos estos servicios los puedes obtener gratis por internet, pero lo que ofrece OLSB es una experiencia integrada enfocada a los negocios.

Con OLSB puedes crear un sitio de internet, pero lo que necesita toda empresa es un dominio (empresa.com), puedes adquirirlo en OLSB por alrededor de $12 dlls anuales. Si tienes ya un dominio, puedes conectarlo con OLSB lo utilice y tengas correos como: jperez@empresa.com), lo cual da mucho más presencia como empresa que el usar un correo de hotmail por ejemplo.

Si tienes oficinas en varios lugares o simplemente para almacenar documentos importantes, Microsoft Office Live Workspace te permite administrar documentos de la familia de Office en la nube, de tal forma que puedes colaborar con varias personas, con la integración con SkyDrive podrás incluso crear documentos en internet sin necesidad de contar con Word o Excel por ejemplo.

Estas herramientas en su mayoría grauitas son muy recomensables para el microempresario ya que es clave cuidar cada centavo e invertirlo en cuestiones propias del negocio. En mi caso utilizo OLSB para un sitio que cree para mi nueva empresa, también para calificar para el programa BizSpark que en otro artículo les comentaré a detalle.

 

Fractales

mandelbrot

Hace unos días murió a la edad de 85 años el matemática polaco Benoit Mandelbrot, al cual se le considera el padre de los fractales. Cuando supe de esta noticia de inmediato me acordé de mis clases de Gráficos en la Universidad donde el maestro Polo Uribe nos enseñó a programarlo en C++. Nunca había oido hablar de los fractales pero al verlos se me hicieron imágenes muy bellas e interesantes, pero sobretodo me sorprendió qué facil es programarlas, a partir de fórmulas sencillísimas esta:

z = z^2 + c

Se pueden obtener imágenes muy complejas con la característica que si las incrementas de tamaña (como se ve en este video)se repiten patrones como el de la imagen que vemos aquí. Aunque los fractales se descubrieron recientemente, de inmediato se descubrió que la naturaleza está plagado de éstos patrones, desde los brócolis, los sistemas montañosos, los caracoles, etc. En un plano filosófico, digamos que la historia está plagado de fractales, los ciclos que se repiten con ciertas características son prueba de ello. El diseño de las antenas del celular que usas es un fractal y gracias a este diseño ya no se requieren antenas en estos dispositivos.

El descibrimiento de los fractales solo se pudo haber dado con el avance de las computadoras que se requieren cálculos repetitivos para lograr estas imágenes. Estoy seguro que en el futuro seguirán más descrubrimientos y aplicaciones de esta facinante área de las matemáticas y la computación.

Descanse en paz Benoit Mandelbrot.

 

Etiquetas de Technorati: ,,,

El respaldo

titanic

Todos hemos sufrido historias de horror donde se nos descompone la computadora y perdemos meses de información. Está por demás decir que para cualquier empresa y persona que trabaje en una computadora el respaldo es crítico, y aún así pocas personas lo hacen, ¿por qué? Como muchas cosas en la vida nos da decidia hacer o a pensamos que es muy complicado.

Como usuario de herramientas de Microsoft, les comparto mi estrategia para respaldar mi información que consiste en respaldos en sitio y en internet. La razón de esto es sencilla, redundancia. Si falla uno podrás contar con el otro,  si mi casa se incendia o se llevan el disco duro podré contar con el respaldo en internet y si se cae el servicio que uso en línea podré usar el local.

En Windows 7 el respaldo es parte del sistema operativo, de hecho es una notificación en la barra de tareas (Task Bar) que se representa con una banderita, al acceder a la notificación te lleva al Action Center sonde podrás configurar el respaldo a un disco duro externo. En las empresas podría utilizarse un servidor en la red para esto.

Para respaldar los archivos importantes por internet utilizo Windows Live Sync que es parte de las herramientas de Windows Live Essentials. Es un programa muy sencillo en el cual seleccionas las carpetas que desees respaldar y de forma automática las respalda en el espacio de SkyDrive, tengo entendido que se puede utilizar hasta 2 GB de espacio para esto. Para usar estos servicios tienes que tener cuenta de Windows Live (o la que utilizas para entrar a Hotmail).

Por supuesto que hay muchas herramientas para los respaldos, algunos hace una simple copia en una memoria flash USB, cualquiera que sea, se recomienda que sea redundante, tus datos y tu futuro depende de ello.