February 2010 - Artículos - Jorge Serrano - MVP Visual Developer - Visual Basic

February 2010 - Artículos

Introducción

Una de las novedades más destacables de Visual Basic 2010 se denomina Implicit Line o línea implícita.

Todo recordaremos que para escribir una sentencia de Visual Basic en varias líneas, debíamos hacer uso del caracter especial guión bajo (_).

Un ejemplo de esto es el siguiente (Visual Basic 2008 y anteriores, incluyendo Visual Basic 6 y anteriores):

 

    MessageBox.Show( _
    "Ejemplo")

 

¿Cómo funciona la línea implícita en Visual Basic 2010?

La novedad incorporada en el lenguaje, en Visual Basic 2010, nos permite escribir también código como por ejemplo:



        Dim value As Integer = 1

        MessageBox.Show(
        "Valor " &
        value)

        Dim information As String = String.Empty

        For I As Integer = 0 To 10
            information &=
                    I & Environment.NewLine
        Next

        MessageBox.Show(information)


En este ejemplo, podemos ver como hemos concatenado diferentes partes del código pertenecientes a la misma instrucción, incluyendo el uso del símbolo & ó &=.

 

¿Cómo se utiliza?

Por un lado, no debemos olvidar que esto no es la panacea, es decir, no se puede utilizar así queramos y como queramos. Es necesario aplicar algunas reglas y sobre todo el sentido común.

Escribir lo siguiente por ejemplo:

 

        For I As Integer = 0 To 10
            information &=
                    I

& Environment.NewLine
        Next

 

Hará que el compilador nos devuelva un error en tiempo de diseño: Syntax error.

El mensaje de error creo que es significativo y muy claro. Se trata de un error de sintáxis, y es que Visual Basic 2010 permite escribir instrucciones más o menos, como nos venga en gana, pero no realmente como queramos, sino como Visual Basic nos permita.

La forma de resolver el problema anterior es escribiendo el siguiente código:

 

        For I As Integer = 0 To 10
            information &=
                    I _

& Environment.NewLine
        Next

 

Nótese que hemos indicado detrás de la letra I el carácter guión bajo (_) que indica que la instrucción continúa en la siguiente línea.

Del mismo modo, tampoco sería correcto emplear algo similar a:

 

        For I As Integer = 0 To 10
            information &=

                    I & Environment.NewLine
        Next

 

En este ejemplo, hemos escrito un salto de carro (Intro) entre information &= y la siguiente parte de su instrucción.

Una vez más, para resolver este problema, deberíamos haber utilizado el carácter de continuación de línea, dejando nuestro ejemplo como:

 

        For I As Integer = 0 To 10
            information &=
                    _

                    I & Environment.NewLine
        Next

 

De esta manera, hay varias reglas muy generales y útiles. Me dejaré alguna seguramente, pero con sentido común se pueden obtener.

Así, no se puede hacer uso de línea implícita después de un atributo, después de una coma o de un punto (invocación de método), después de un operador binario o de una claúsula LINQ, después de un carácter (, {, ), }, <% ó >%.

Hay más situaciones, y no es cuestión de enumerar una a una cuales son, pero sirva esto como patrón a tener en cuenta, sin olvidarnos del caracter de separación de toda la vida (_) y de un uso adecuado de esta característica.

 

¿Y esto de la línea implícita es bueno?

La palabra "bueno" es muy genérica, quizás podríamos decir ¿apropiado?.

Como todo, tiene sus pros y sus contras.

Es cierto que es más cómodo, ahora bien, esto en manos de un talibán informático, un destroyer del código o un descerebrado programador, puede ser una herramienta con efectos similares al una bomba H.

Podríamos pensar en el código spaguetti o en la ofuscación... teniendo esto... ¿para qué queremos esas herramientas?.

A veces es bueno llevar algo al borde del caos para organizar y ordenar las tareas y todo lo que nos rodea. Esta característica es un buen ejemplo de ello.

A mí me gusta y me parece interesante, pero debemos ser consecuentes con su uso. Podríamos caer en la tentación de usarlo por sistema y hacer un código difícilmente mantenible.

Es por ello, que debemos hacer un uso moderado e inteligente de esta característica, tabular si es preciso, comentar el código y ordenarlo su fuera preciso, y actuar de forma responsable.

Lo demás, será actuar como un poseso salido de sí y generando código que tenga un efecto colateral más dañino que el propio beneficio que se trataba de buscar.

Así que... usarlo sí, pero con inteligencia.

Publicado por Jorge Serrano | 5 comment(s)
Archivado en:

Introducción

A partir de ahora y durante el tiempo que dure, voy a tratar de hablar de las novedades de Visual Basic 2010, nueva versión del lenguaje de Visual Basic que hará aparición en versión RTM a partir del próximo 12 de Abril de 2010.

A lo largo de estas novedades, profundizaremos más o menos en cada una de las nuevas características del lenguaje, tratando cada tema de forma independiente y haciendo ejemplos prácticos que sirvan de ayuda.

El índice de esta sección será actualizado conforme vaya agregando nuevos apartados sobre las novedades de Visual Basic 2010. Espero que lo disfruteis.

 

Alineación de productos

Un aspecto importante a tener en cuenta, es el que tiene que ver con la alineación de productos.

La gente de Microsoft tenía diferentes áreas de desarrollo. Una de ellas estaba enfocada en la parte principal de lo que conocemos todos como .NET Framework.

Existía igualmente comunicación entre este área y otras dos diferentes (hay muchas más, pero para simplificarlo) que eran las áreas de lenguaje Visual Basic y la de lenguaje de C#.

Desde la aparición de .NET Framework, estas áreas de lenguaje iban un poco por libre. La Comunidad ha expresado en muchas ocasiones su malestar debido a que algunas de las novedades de C# no estaban presentes en las nuevas versiones de Visual Basic y viceversa.

Esas molestias no tenían gorra de fanáticos del lenguaje, tenían siempre el mismo fondo... ¿porqué los equipos de lenguaje van a su "bola"?.

En Visual Studio 2008, Microsoft recortó enormemente esa distancia, pero no era suficiente. Sin embargo, en Visual Studio 2010, esa distancia ya no existe (prácticamente no), y todas aquellas características que tenía Visual Basic 2008 y que no estaban implementadas en C#, ya están implementadas en C# 4.0. Por su parte, todas las características de C# que no estaban implementadas en Visual Basic 2008, ya están implementadas en Visual Basic 2010.

Con esto, se ha logrado unificar el modelo de avance de los lenguajes de desarrollo para lograr acoplarlos en cuanto a avances, novedades y soportes.

Antes, un programador de C# decía que podía hacer cosas que un programador de Visual Basic no podía. De la misma forma, un programador de Visual Basic decía que podía hacer cosas que un programador de C# no podía.

No era realmente así, aunque algo de verdad había, pero ahora ya por fin, podemos decir que esa diferencia es prácticamente inapreciable.

Espero que disfrutes en este caso, de las novedades incorporadas a Visual Basic 2010 y que tengas en cuenta que no tiene nada que envidiar a C#, de la misma forma que C# tampoco tiene nada que envidiar de Visual Basic.

No olvides nunca, que el lenguaje es la capa, caparazón o envoltura de lo que hay por debajo, el Framework. Escribe en lo que más te guste o en lo que te digan, pero sobre todo, disfruta.

Índice:


0 - Introducción

1 - Implicit Line o línea implícita

 

Enlaces de este blog que podrían interesarte:
Todas las entradas sobre Visual Studio 2010 en este blog
Todas las entradas sobre Visual Basic 2010 en este blog

Publicado por Jorge Serrano | 4 comment(s)
Archivado en:

Ya se ha publicado el material de la charla de ayer que se hizo en MADNUG (Grupo de Usuarios de Madrid) sobre las Novedades de Visual Basic 2010.

El material que he subido, está formado por la presentación en formato PowerPoint 2007 (400 Kb) y un documento pdf que corresponde con la misma presentación (800 Kb) por si alguien se lo quiere llevar en su eReader o lo que considere oportuno.

Los ejemplos los publicaré uno a uno en diferentes entradas que tengo pensadas poner en este blog desde hace meses, y que por fín una vez tenemos la versión RC (Release Candidate) de Visual Studio 2010 y que he comprobado que no varía nada en cuanto a estas novedades, me he decidido a exponer.

Sintonizad el blog porque esas entradas empezarán en breve.

 

Material de la charla:

Presentación (PDF - 400 Kb)

Presentación (PowerPoint 2007 - 800 Kb)

 

Saludos.

Publicado por Jorge Serrano | 7 comment(s)
Archivado en:

 

Microsoft ha abierto en la página de descargas de subscripción MSDN la posibilidad de que descarguemos la versión RC (Release Candidate) de Visual Studio 2010.

Desde hace tan solo unas horas, es posible descargar esta ultimísima versión de Visual Studio 2010 antes de que aparezca ya la definitiva versión RTM.

En siguiente enlace te llevará a la página principal de MSDN Microsoft USA. Tanto desde este enlace como desde el de la página de MSDN en español, accederemos a nuestra subscripción MSDN (para quien la tenga) y desde allí podremos descargar el Visual Studio 2010 RC.

Es por todos sabido que Oracle ha recibido la luz verde definitiva por parte de la Unión Europea para adquirir Sun, y con ello lo que Sun había adquirido meses atrás, hablo en concreto de MySql.

MySql es o era (no sé bien cuál de los dos calificativos es el correcto) el sistema de bases de datos Open Source más famoso y utilizado en el mundo.

Sin embargo, ahora tenemos que Sun forma definitivamente parte de Oracle, y Oracle tiene ahora la "pata" de máquinas de Sun, la "pata" de lenguajes con Java, y la "pata" de bases de datos con MySql, pero Oracle es famosa precisamente por tener un gestor de bases de datos muy poderoso, el propio Oracle que da nombre a la compañía, así que, ¿qué hacer con MySql?. Hay que tener en cuenta además, que la sombra de Oracle es alargada y lo suficientemente ancha como para ocultar a MySql de la faz de la tierra. La incertidumbre por lo tanto, es bastante grande con respecto al futuro de MySql.

De momento no ha hecho nada "raro" con MySql, sin embargo, hay mucha gente que comenta que Oracle va a empezar a cobrar soporte con MySql y en el futuro... ya veremos qué... igual incluso hasta desaparece...

Aún y así, un irreducible finlandés no se va a quedar de brazos cruzados.
Hablo de Ulf Michael Widenius a quién se le conoce con el apodo de Monty (acceso al blog de Monty).
Monty es el principal autor de MySql y miembro fundador de MySql AB, empresa que fue adquirida en Febrero de 2008 por Sun Microsystems como comentaba anteriormente.

Con la venta de MySql, Monty se embolsó parece ser, cerca de 16 millones de €, y en Febrero de 2009 dejó Sun para montar una nueva compañía. Los motivos por los que dejó Sun no están claros, pero yo tengo mi opinión al respecto que más adelante argumentaré.

Lo peor para Sun (hoy día Oracle), es que Monty se ha puesto a crear un nuevo motor de bases de datos de datos teniendo en mente a MySql y agregándoles "esas" cosas que quería haberle agregado a MySql en su día y que por las razones que sean, no ha podido llevar a cabo.

La iniciativa de Monty tiene que ver sobre todo con la adquisición de Sun por parte de Oracle.
Adquisición maestra, ya que se ha manejado la situación estratégica de forma expecional.
Primero Sun compra MySql. Todo normal y coherente.
Luego Oracle compra Sun, y aquí aparecen las dudas.
Monty duda de la compra (seguramente se sintió engañado como amante de un sistema gestor de bases de datos abierto).
El departamento de la libre competencia de la Unión Europea analiza entonces si vulnera la libertad, pero aunque Oracle y Sun tienen un frente común en el mundo de las bases de datos, no es menos cierto que al tener Sun sus departamentos de Hardware y Software con Java a la cabeza, se ha hecho claramente la vista gorda sobre MySql.
Sin dudas, dejadme que piense que esto ya estaba pactado de ante mano y Monty fue engañado. Quitaron a MySql, y así Oracle solo tendría un único competidor real y de importancia, hablo de SQL Server. Al menos a Monty le quedó la tranquilidad de haberse hecho rico. Pero Monty es como comentaba antes, un hombre irreducible y tenía pensado vengar su honor como si de un duelo se tratara.

En Internet apareció entonces una iniciativa impulsada por el propio Monty para salvar a MySql, hecho que motivó que Monty se adentrara en esta aventura.

El producto en el que anda trabajando se llama MariaDB. El nombre de Maria se debe a su hija menor.

En realidad, MariaDB es un branch o rama que parte del código base de MySql.

La empresa de Monty encargada de llevar a cabo la aventura de MariaDB se llama Monty Program AB.

El icono elegido por Monty en este caso es una foca, icono que posiblemente utilice para sus distribuciones.

Ahora bien... ¿cuál es la versión actual de MariaDB?.
La versión actual es MariaDB 5.1.41 RC que está basada en MySql 5.1.
Monty afirma que esta versión es estable, aunque no quiere decirlo muy alto porque es una versión en desarrollo y por lo tanto, no debería ser utilizada en producción.

El caso es que a Sun (hoy día Oracle) le ha salido un grano en el culo, porque el irreducible Monty no tiene pensado dejar tirada a la Comunidad y va a hacer todo lo posible por sacar adelante el proyecto de MariaDB. Por su hija y por él mismo, va a luchar para prevalecer su honor.

Una noticia que personalmente celebro.

Publicado por Jorge Serrano | 13 comment(s)
Archivado en:

El pasado 27 de Enero de 2010 Apple presentó tal y como adelanté en mi blog su iPad, es decir, su eReader PC.

Muchos son los comentarios que he leído en la red desde entonces.
Lo gracioso de verdad es que tanto muchos de esos comentarios como el que hago yo ahora mismo, son comentarios basados en la teoría, porque nadie ha hecho comentarios realistas del uso del dispositivo durante al menos varios días.
Media hora o un par de horas como mucho, no son ni suficientes para poder valorar adecuadamente un producto, pero como el que tiene boca se equivoca y hay muchas personas que ya han hablado sobre el dispositivo, me voy a permitir el lujo de equivocarme hasta el fondo comentando algunos pareceres al respecto del iPad.

En primer lugar, comentaré que es un gusto tener en el mercado la posibilidad de disponer de un dispositivo como el iPad, y más sabiendo que Apple está detrás,... y no lo digo por el propio Apple en sí, sino porque Apple tiene gusto (mucho gusto) a la hora de diseñar sus dispositivos, y el iPod es una buena muestra de ello.

Sin embargo, siempre hay "peros".

Un "pero" que he leído hasta la saciedad es el que dice que el iPad no es otra cosa que un iPhone más grande.
Vale, vamos a suponer que eso es cierto... es como un iPhone pero más grande... ¿es que eso es tan malo o negativo como para criticar al iPad?.
A mi modo de ver, no es un argumento concluyente. Más bien me parece un argumento muy pobre, o mejor dicho, una pataleta.

Otra cosa es la crítica que ha recibido Apple respecto a dos aspectos que sí creo que son importantes.
Hablo del soporte Hardware y del soporte Software.

Por un lado, tiene la posibilidad de utilizar WiFi y Bluetooth, y utilizando un accesorio adicional, conexiones 3G.
No está nada mal si tenemos en cuenta que para ello nos tenemos que rascar el bolsillo.
Sin embargo, la conexión 3G es solo para datos y no para llamadas telefónicas, algo que ya no es tan "bonito", así que sería un 3G/2 si se me permite la expresión.

Otro aspecto relativo al Hardware es la ausencia de WebCam. ¿Es Skype y aplicaciones similares un problema para el iPad?.
En la era Web 2.0 ó incluso 3.0 como algunos comentan ya, un dispositivo de estas características sin WebCam es si se me permite el símil, como un coche con tres ruedas.
Andar anda, pero ya puestos... ¿qué le cuesta ponerle la cuarta rueda?.

Indudablemente y por otro lado, el iPad adolece de algunas características Software muy importantes hoy día.
Las más sobresalientes son la no disponibilidad de un entorno multitarea y la ausencia de soporte Flash.
La imposibilidad de hacer dos cosas al mismo tiempo es algo que hoy día es impensable en un sistema como el presentado por Apple.
Pero la crítica más feroz que ha sufrido Apple desde el pasado miércoles tiene que ver con una empresa, de nombre Adobe para más señas.
Resulta que el iPad no soporta Flash, y el bueno de Steve Jobs comenta que la gente de Adobe es muy vaga y que el futuro es HTML 5, al mismo tiempo que arremete contra Google (noticia El Mundo).
¿Para qué va a decir que se han equivocado y que ha sido una cagada no incluir soporte Flash?.
Es lo que tiene querer ser el primero que sacar un dispositivo como este para hacer creer al mercado que las demás empresas van a la cola y que simplemente han copiado sus ideas (en esto la empresa de la manzana es una experta).

Pero honestamente creo que no le falta razón a Steve cuando comenta que HTML 5 es el futuro, pero decir que la gente de Adobe es una vaga o que el lema de Google (Don't be evil) es una basura o calificativos similares, es a mi modo de ver perder la referencia de la realidad y muestra cierto nerviosismo por parte de Steve, sabedor a buen seguro de que la han cagado (diciéndolo claramente con todas las letras).

Quizás no se han dado cuenta de que aunque HTML 5 sea el futuro, el presente no es HTML 5, por lo tanto, el no soporte de Flash le deja en muy mal lugar al iPad antes de que llegue a las tiendas.

Tanto es así, que incluso Apple ha tenido que rectificar un anuncio del dispositivo en el que se veía a un ejecutivo navegar por una Web con Flash.
El resultado es que era una manipulación y han tenido que modificar el anuncio para que apareciera la página Web con la típica marca de Apple de error de carga de Flash. ¿Error?. Vamos a suponer que sí, pero no da buenas vibraciones la verdad.

Es evidente creo yo por los comentarios de Steve, que pese a su nerviosismo justificado, la guerra de Apple con otras empresas está abierta y que como decía yo en mi entrada de Enero, la guerra no ha hecho nada más que empezar.

Aún y así, me surge una duda bastante grande creo yo.
¿Es realmente la iPad digna de empezar por la letra "i"?.
Si la letra "i" es Internet, no.
Si la letra "i" es inteligencia, creo que tampoco.
Si la letra "i" es de incompleto, igual sí.

Vamos... que en mi opinión, la "i" se ha desvanecido.

Como me comentaba el otro día mi compañero de fatigas Marino Posadas, a Apple se le conoce porque mientras el resto de empresas tienen clientes, Apple tiene creyentes.
Eso, más la distorsión de la realidad (CDR), hace que muchos apoyen a Apple sin pararse a pensar más (el CDR es lo que tiene).
De momento, Steve Jobs no se ha metido con Microsoft, pero ya le llegará su turno. La diana de sus dardos son de momento Adobe y Google.

A mi juicio habrá que esperar el movimiento de otras empresas este año y el próximo respecto a los dispositivos eReader PC, porque este tipo de dispositivos van a aparecer poco a poco, y el hecho de que tengamos más opciones es lo mejor que nos puede ocurrir a los consumidores.

Publicado por Jorge Serrano | 11 comment(s)
Archivado en: