¿Qué hay de nuevo viejo?Desde VB 1.0 hasta VB 2010,evolución y novedades.
¿Quiénes hablarán?MVP de Visual Basic y habituales de comunidades técnicas de tecnologías Microsoft:Lluis FrancoPepLluisBanoJorge Serrano¿Qué hay de nuevo viejo?
AgendaIntroducción y evolución de VBVB hacia .NETA destacar de VB 2008Novedades de VB 2010
Introducción y evolución de VB (I)Tenemos VB desde 1991Alan Cooper fue el líder de VB 1.0 y ha intervenido también en “cosas” como RubyVersiones previas: (1991) - VB 1.0 (versión Windows y DOS)(1992) - VB 2.0(1993) - VB 3.0 (BBDD)(1995) - VB 4.0 (16 [VBX] y 32 bits [OCX])(1997) - VB 5.0  y VB 5.0 CCE (ActiveX y compilación en código nativo)(1998) - VB 6.0Runtimes para ejecutar aplicaciones: VBRUNxxx.DLLMSVBVBxx.DLL
Introducción y evolución de VB (III)Existen subconjuntos de VB (propietarios):VBSVBAUso de APIs (código no manejado)Infierno de las DLLASP como lenguaje de programación web (lenguaje interpretado), utiliza VBSVB como lenguaje evoluciona hacia la POO, que en VB 5 y VB 6 incorpora tímidamente algunas de sus características,… pero NO es suficiente
VB hacia .NET (I)Los programadores necesitamos MÁS¿Qué necesitamos?POO y uso de estándares como objetivos principalesGestión de errores más “profesionales”… adios al On Error Resume NextPosibilidad de programar para diferentes plataformas… Linux, Windows, etc.Código manejado vs código no manejadoCapaz de utilizar y adaptarse a las tecnologías emergentesetc
VB hacia .NET (II)Microsoft apuesta por un cambio radicalAndersHeljsberg, (ficha por Microsoft en 1996)Padre de Turbo Pascal, Arquitecto de Delphi 1.0, Y Amigo de Pep (es el gran culpable de .NET, J# y C#)Todo bajo el paraguas de la POOCon énfasis en el uso de estándaresOfreciendo características demandadas por los programadoresPosibilitando una plataforma que compita en la red y contra Java (Sun Microsystems)Capaz de usar un repositorio común donde el lenguaje sea el invitado de esa plataforma denominada Microsoft .NET FrameworkVB formará parte de Microsoft .NET Framework (.NET como nombre por su orientación a la red, aunque el calificativo de marketing de .NET se ha perdido actualmente)
VB hacia .NET (III)Partes de .NET e incluso el lenguaje C# que forma parte de él, han sido estandarizadas y “abiertas”VB como lenguaje es “reprogramado” por entero respetando muchas de las normas y reglas del lenguaje, pero adaptándolo a .NETVB es el “patito feo” por su pasado, fama ganada a pulso pero injusta en la actualidad
VB hacia .NET (IV)Evolución de .NET lleva incluida una evolución del lenguaje VB (I)VB .NET 2002 – VB 7.0 - Microsoft .NET 1.0Compatibilidad con VB 6.0 (¿migración real?)VB .NET 2003 – VB 7.1 - Microsoft .NET 1.1Mejoras en el asistente de actualización (VB 6.0 to VB .NET)VB 2005 – VB 8.0 - Microsoft .NET 2.0Mejoras en el asistente de actualización (VB 6.0 to VB para .NET)Editar y continuar (usadas en VB 6.0 y anteriores pero no en .NET)Uso de My para acceder a clases comúnmente usadas (productividad)Uso de la palabra UsingData SourcebindingGenéricosClases parcialesTipos NullableComentarios XMLModelo de factorías para aplicaciones multi-DB (DatabaseFactories)VB 2005 – VB 8.0 - Microsoft .NET 3.0 (CLR 2.0)Operador IsNotContinue Do y ContinueWhileDocumentación XMLSoporte de paginación en ADO.NETWCF, WF, WPF y CardSpace
VB hacia .NET (V)Evolución de .NET lleva incluida una evolución del lenguaje VB (II)VB 2008 – VB 9.0 - Microsoft .NET 3.5 (CLR 2.0)Métodos de extensiónInferencia de tiposTipos anónimosÁrboles de expresiones y expresiones LambdaLINQLINQ toObjectsLINQ to XMLLINQ toDataSetLINQ toSqlMicrosoft Entity Framework 1.0 (basado en LINQ)VB 2010 – VB 10.0 - Microsoft .NET 4.0Tecnología:ParallelExtensionsSoporte para IronPython, IronRuby y F#CodeContractsLenguaje:Propiedades autoimplementadasInicialización de coleccionesOpción para indicar la versión específica del lenguaje a compilarContinuación implícita de líneaParámetros nombradosParámetros opcionalesDLR o DynamicLanguageRuntime (IronPython, IronRuby)Covarianza y contravarianzaEntity Framework 2.0 (aka 4.0)
En Resumen, no hay patito feo
A destacar de VB 2008 (I)LINQ – LanguageINtegratedQueryEl embrión de LINQ lo encontramos en Microsoft ResearchAñade capacidades de búsqueda de datos de forma nativaPermite localizar datos provenientes de diferentes orígenes (documentos XML, DataSet, objetos, bases de datos relacionales, matrices, clases enumerables, etc)Se pueden crear proveedores de LINQ o podemos utilizar los que ofrece MicrosoftUsar LINQ aporta mayor productividad
A destacar de VB 2008 (II)Proveedores de Microsoft:LINQ toObjectsSe utiliza con colecciones de datos en memoriaLINQ to XMLConvierte documentos XML a colecciones de objetos XElementCon VB manipular XML con LINQ to XML es simpleLINQ toDataSetPermite acceder a los objetos de los DataSetLINQ toSqlEstá pensado para usarlo solo con SQL Server y SQL Server CompactEntity FrameworkEs un ORM (ObjectRelationalMapping) que convierte datos entre las fuentes de datos y los tipos de datos incompatiblesOtros proveedores…
A destacar de VB 2008 (III)DEMOS
Novedades de VB 2010 (I)Continuación implícita de línea¡Por fin!Pero… ¡cuidado!DEMO
Novedades de VB 2010 (II)Parámetros nombrados y parámetros opcionales nullablesDEMO
Novedades de VB 2010 (III)Inicialización de matrices y coleccionesDEMO
Novedades de VB 2010 (IV)Propiedades autoimplementadasDEMO
Novedades de VB 2010 (V)Mejoras en el soporte de funciones lambdaDEMO
Novedades de VB 2010 (VI)Lenguajes dinámicos en VB 2010DEMO
Novedades de VB 2010 (VII)Covarianza y contravarianza genéricaDEMO
Q&APreguntas y respuestas
BlogsVisiten nuestro barLluis Franco	http://msmvps.com/blogs/lfranco/PepLluisBano	http://msmvps.com/blogs/peplluis/Jorge Serrano	http://geeks.ms/blogs/jorge/
¡ Muchas Gracias!Recuerda que en www.codecamp.es podrás encontrar todo el material de las sesiones del CodeCamp

Codecamp 2009 Qué Hay De Nuevo Viejo

  • 1.
    ¿Qué hay denuevo viejo?Desde VB 1.0 hasta VB 2010,evolución y novedades.
  • 2.
    ¿Quiénes hablarán?MVP deVisual Basic y habituales de comunidades técnicas de tecnologías Microsoft:Lluis FrancoPepLluisBanoJorge Serrano¿Qué hay de nuevo viejo?
  • 3.
    AgendaIntroducción y evoluciónde VBVB hacia .NETA destacar de VB 2008Novedades de VB 2010
  • 4.
    Introducción y evoluciónde VB (I)Tenemos VB desde 1991Alan Cooper fue el líder de VB 1.0 y ha intervenido también en “cosas” como RubyVersiones previas: (1991) - VB 1.0 (versión Windows y DOS)(1992) - VB 2.0(1993) - VB 3.0 (BBDD)(1995) - VB 4.0 (16 [VBX] y 32 bits [OCX])(1997) - VB 5.0 y VB 5.0 CCE (ActiveX y compilación en código nativo)(1998) - VB 6.0Runtimes para ejecutar aplicaciones: VBRUNxxx.DLLMSVBVBxx.DLL
  • 5.
    Introducción y evoluciónde VB (III)Existen subconjuntos de VB (propietarios):VBSVBAUso de APIs (código no manejado)Infierno de las DLLASP como lenguaje de programación web (lenguaje interpretado), utiliza VBSVB como lenguaje evoluciona hacia la POO, que en VB 5 y VB 6 incorpora tímidamente algunas de sus características,… pero NO es suficiente
  • 6.
    VB hacia .NET(I)Los programadores necesitamos MÁS¿Qué necesitamos?POO y uso de estándares como objetivos principalesGestión de errores más “profesionales”… adios al On Error Resume NextPosibilidad de programar para diferentes plataformas… Linux, Windows, etc.Código manejado vs código no manejadoCapaz de utilizar y adaptarse a las tecnologías emergentesetc
  • 7.
    VB hacia .NET(II)Microsoft apuesta por un cambio radicalAndersHeljsberg, (ficha por Microsoft en 1996)Padre de Turbo Pascal, Arquitecto de Delphi 1.0, Y Amigo de Pep (es el gran culpable de .NET, J# y C#)Todo bajo el paraguas de la POOCon énfasis en el uso de estándaresOfreciendo características demandadas por los programadoresPosibilitando una plataforma que compita en la red y contra Java (Sun Microsystems)Capaz de usar un repositorio común donde el lenguaje sea el invitado de esa plataforma denominada Microsoft .NET FrameworkVB formará parte de Microsoft .NET Framework (.NET como nombre por su orientación a la red, aunque el calificativo de marketing de .NET se ha perdido actualmente)
  • 8.
    VB hacia .NET(III)Partes de .NET e incluso el lenguaje C# que forma parte de él, han sido estandarizadas y “abiertas”VB como lenguaje es “reprogramado” por entero respetando muchas de las normas y reglas del lenguaje, pero adaptándolo a .NETVB es el “patito feo” por su pasado, fama ganada a pulso pero injusta en la actualidad
  • 9.
    VB hacia .NET(IV)Evolución de .NET lleva incluida una evolución del lenguaje VB (I)VB .NET 2002 – VB 7.0 - Microsoft .NET 1.0Compatibilidad con VB 6.0 (¿migración real?)VB .NET 2003 – VB 7.1 - Microsoft .NET 1.1Mejoras en el asistente de actualización (VB 6.0 to VB .NET)VB 2005 – VB 8.0 - Microsoft .NET 2.0Mejoras en el asistente de actualización (VB 6.0 to VB para .NET)Editar y continuar (usadas en VB 6.0 y anteriores pero no en .NET)Uso de My para acceder a clases comúnmente usadas (productividad)Uso de la palabra UsingData SourcebindingGenéricosClases parcialesTipos NullableComentarios XMLModelo de factorías para aplicaciones multi-DB (DatabaseFactories)VB 2005 – VB 8.0 - Microsoft .NET 3.0 (CLR 2.0)Operador IsNotContinue Do y ContinueWhileDocumentación XMLSoporte de paginación en ADO.NETWCF, WF, WPF y CardSpace
  • 10.
    VB hacia .NET(V)Evolución de .NET lleva incluida una evolución del lenguaje VB (II)VB 2008 – VB 9.0 - Microsoft .NET 3.5 (CLR 2.0)Métodos de extensiónInferencia de tiposTipos anónimosÁrboles de expresiones y expresiones LambdaLINQLINQ toObjectsLINQ to XMLLINQ toDataSetLINQ toSqlMicrosoft Entity Framework 1.0 (basado en LINQ)VB 2010 – VB 10.0 - Microsoft .NET 4.0Tecnología:ParallelExtensionsSoporte para IronPython, IronRuby y F#CodeContractsLenguaje:Propiedades autoimplementadasInicialización de coleccionesOpción para indicar la versión específica del lenguaje a compilarContinuación implícita de líneaParámetros nombradosParámetros opcionalesDLR o DynamicLanguageRuntime (IronPython, IronRuby)Covarianza y contravarianzaEntity Framework 2.0 (aka 4.0)
  • 11.
    En Resumen, nohay patito feo
  • 12.
    A destacar deVB 2008 (I)LINQ – LanguageINtegratedQueryEl embrión de LINQ lo encontramos en Microsoft ResearchAñade capacidades de búsqueda de datos de forma nativaPermite localizar datos provenientes de diferentes orígenes (documentos XML, DataSet, objetos, bases de datos relacionales, matrices, clases enumerables, etc)Se pueden crear proveedores de LINQ o podemos utilizar los que ofrece MicrosoftUsar LINQ aporta mayor productividad
  • 13.
    A destacar deVB 2008 (II)Proveedores de Microsoft:LINQ toObjectsSe utiliza con colecciones de datos en memoriaLINQ to XMLConvierte documentos XML a colecciones de objetos XElementCon VB manipular XML con LINQ to XML es simpleLINQ toDataSetPermite acceder a los objetos de los DataSetLINQ toSqlEstá pensado para usarlo solo con SQL Server y SQL Server CompactEntity FrameworkEs un ORM (ObjectRelationalMapping) que convierte datos entre las fuentes de datos y los tipos de datos incompatiblesOtros proveedores…
  • 14.
    A destacar deVB 2008 (III)DEMOS
  • 15.
    Novedades de VB2010 (I)Continuación implícita de línea¡Por fin!Pero… ¡cuidado!DEMO
  • 16.
    Novedades de VB2010 (II)Parámetros nombrados y parámetros opcionales nullablesDEMO
  • 17.
    Novedades de VB2010 (III)Inicialización de matrices y coleccionesDEMO
  • 18.
    Novedades de VB2010 (IV)Propiedades autoimplementadasDEMO
  • 19.
    Novedades de VB2010 (V)Mejoras en el soporte de funciones lambdaDEMO
  • 20.
    Novedades de VB2010 (VI)Lenguajes dinámicos en VB 2010DEMO
  • 21.
    Novedades de VB2010 (VII)Covarianza y contravarianza genéricaDEMO
  • 22.
  • 23.
    BlogsVisiten nuestro barLluisFranco http://msmvps.com/blogs/lfranco/PepLluisBano http://msmvps.com/blogs/peplluis/Jorge Serrano http://geeks.ms/blogs/jorge/
  • 24.
    ¡ Muchas Gracias!Recuerdaque en www.codecamp.es podrás encontrar todo el material de las sesiones del CodeCamp