Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Codecamp 2009 Qué Hay De Nuevo Viejo

675 views

Published on

  • Be the first to comment

  • Be the first to like this

Codecamp 2009 Qué Hay De Nuevo Viejo

  1. 1. ¿Qué hay de nuevo viejo?<br />Desde VB 1.0 hasta VB 2010,<br />evolución y novedades.<br />
  2. 2. ¿Quiénes hablarán?<br />MVP de Visual Basic y habituales de comunidades técnicas de tecnologías Microsoft:<br />Lluis Franco<br />PepLluisBano<br />Jorge Serrano<br />¿Qué hay de nuevo viejo?<br />
  3. 3. Agenda<br />Introducción y evolución de VB<br />VB hacia .NET<br />A destacar de VB 2008<br />Novedades de VB 2010<br />
  4. 4. Introducción y evolución de VB (I)<br />Tenemos VB desde 1991<br />Alan Cooper fue el líder de VB 1.0 y ha intervenido también en “cosas” como Ruby<br />Versiones previas: <br />(1991) - VB 1.0 (versión Windows y DOS)<br />(1992) - VB 2.0<br />(1993) - VB 3.0 (BBDD)<br />(1995) - VB 4.0 (16 [VBX] y 32 bits [OCX])<br />(1997) - VB 5.0 y VB 5.0 CCE (ActiveX y compilación en código nativo)<br />(1998) - VB 6.0<br />Runtimes para ejecutar aplicaciones: <br />VBRUNxxx.DLL<br />MSVBVBxx.DLL<br />
  5. 5. Introducción y evolución de VB (III)<br />Existen subconjuntos de VB (propietarios):<br />VBS<br />VBA<br />Uso de APIs (código no manejado)<br />Infierno de las DLL<br />ASP como lenguaje de programación web (lenguaje interpretado), utiliza VBS<br />VB 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<br />
  6. 6. VB hacia .NET (I)<br />Los programadores necesitamos MÁS<br />¿Qué necesitamos?<br />POO y uso de estándares como objetivos principales<br />Gestión de errores más “profesionales”… adios al On Error Resume Next<br />Posibilidad de programar para diferentes plataformas… Linux, Windows, etc.<br />Código manejado vs código no manejado<br />Capaz de utilizar y adaptarse a las tecnologías emergentes<br />etc<br />
  7. 7. VB hacia .NET (II)<br />Microsoft apuesta por un cambio radical<br />AndersHeljsberg, (ficha por Microsoft en 1996)<br />Padre de Turbo Pascal, <br />Arquitecto de Delphi 1.0, <br />Y Amigo de Pep <br />(es el gran culpable de .NET, J# y C#)<br />Todo bajo el paraguas de la POO<br />Con énfasis en el uso de estándares<br />Ofreciendo características demandadas por los programadores<br />Posibilitando una plataforma que compita en la red y contra Java (Sun Microsystems)<br />Capaz de usar un repositorio común donde el lenguaje sea el invitado de esa plataforma denominada Microsoft .NET Framework<br />VB 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)<br />
  8. 8. VB hacia .NET (III)<br />Partes de .NET e incluso el lenguaje C# que forma parte de él, han sido estandarizadas y “abiertas”<br />VB como lenguaje es “reprogramado” por entero respetando muchas de las normas y reglas del lenguaje, pero adaptándolo a .NET<br />VB es el “patito feo” por su pasado, fama ganada a pulso pero injusta en la actualidad<br />
  9. 9. VB hacia .NET (IV)<br />Evolución de .NET lleva incluida una evolución del lenguaje VB (I)<br />VB .NET 2002 – VB 7.0 - Microsoft .NET 1.0<br />Compatibilidad con VB 6.0 (¿migración real?)<br />VB .NET 2003 – VB 7.1 - Microsoft .NET 1.1<br />Mejoras en el asistente de actualización (VB 6.0 to VB .NET)<br />VB 2005 – VB 8.0 - Microsoft .NET 2.0<br />Mejoras en el asistente de actualización (VB 6.0 to VB para .NET)<br />Editar y continuar (usadas en VB 6.0 y anteriores pero no en .NET)<br />Uso de My para acceder a clases comúnmente usadas (productividad)<br />Uso de la palabra Using<br />Data Sourcebinding<br />Genéricos<br />Clases parciales<br />Tipos Nullable<br />Comentarios XML<br />Modelo de factorías para aplicaciones multi-DB (DatabaseFactories)<br />VB 2005 – VB 8.0 - Microsoft .NET 3.0 (CLR 2.0)<br />Operador IsNot<br />Continue Do y ContinueWhile<br />Documentación XML<br />Soporte de paginación en ADO.NET<br />WCF, WF, WPF y CardSpace<br />
  10. 10. VB hacia .NET (V)<br />Evolución de .NET lleva incluida una evolución del lenguaje VB (II)<br />VB 2008 – VB 9.0 - Microsoft .NET 3.5 (CLR 2.0)<br />Métodos de extensión<br />Inferencia de tipos<br />Tipos anónimos<br />Árboles de expresiones y expresiones Lambda<br />LINQ<br />LINQ toObjects<br />LINQ to XML<br />LINQ toDataSet<br />LINQ toSql<br />Microsoft Entity Framework 1.0 (basado en LINQ)<br />VB 2010 – VB 10.0 - Microsoft .NET 4.0<br />Tecnología:<br />ParallelExtensions<br />Soporte para IronPython, IronRuby y F#<br />CodeContracts<br />Lenguaje:<br />Propiedades autoimplementadas<br />Inicialización de colecciones<br />Opción para indicar la versión específica del lenguaje a compilar<br />Continuación implícita de línea<br />Parámetros nombrados<br />Parámetros opcionales<br />DLR o DynamicLanguageRuntime (IronPython, IronRuby)<br />Covarianza y contravarianza<br />Entity Framework 2.0 (aka 4.0)<br />
  11. 11. En Resumen, no hay patito feo<br />
  12. 12. A destacar de VB 2008 (I)<br />LINQ – LanguageINtegratedQuery<br />El embrión de LINQ lo encontramos en Microsoft Research<br />Añade capacidades de búsqueda de datos de forma nativa<br />Permite localizar datos provenientes de diferentes orígenes (documentos XML, DataSet, objetos, bases de datos relacionales, matrices, clases enumerables, etc)<br />Se pueden crear proveedores de LINQ o podemos utilizar los que ofrece Microsoft<br />Usar LINQ aporta mayor productividad<br />
  13. 13. A destacar de VB 2008 (II)<br />Proveedores de Microsoft:<br />LINQ toObjects<br />Se utiliza con colecciones de datos en memoria<br />LINQ to XML<br />Convierte documentos XML a colecciones de objetos XElement<br />Con VB manipular XML con LINQ to XML es simple<br />LINQ toDataSet<br />Permite acceder a los objetos de los DataSet<br />LINQ toSql<br />Está pensado para usarlo solo con SQL Server y SQL Server Compact<br />Entity Framework<br />Es un ORM (ObjectRelationalMapping) que convierte datos entre las fuentes de datos y los tipos de datos incompatibles<br />Otros proveedores…<br />
  14. 14. A destacar de VB 2008 (III)<br />DEMOS<br />
  15. 15. Novedades de VB 2010 (I)<br />Continuación implícita de línea<br />¡Por fin!<br />Pero… ¡cuidado!<br />DEMO<br />
  16. 16. Novedades de VB 2010 (II)<br />Parámetros nombrados y parámetros opcionales nullables<br />DEMO<br />
  17. 17. Novedades de VB 2010 (III)<br />Inicialización de matrices y colecciones<br />DEMO<br />
  18. 18. Novedades de VB 2010 (IV)<br />Propiedades autoimplementadas<br />DEMO<br />
  19. 19. Novedades de VB 2010 (V)<br />Mejoras en el soporte de funciones lambda<br />DEMO<br />
  20. 20. Novedades de VB 2010 (VI)<br />Lenguajes dinámicos en VB 2010<br />DEMO<br />
  21. 21. Novedades de VB 2010 (VII)<br />Covarianza y contravarianza genérica<br />DEMO<br />
  22. 22. Q&A<br />Preguntas y respuestas<br />
  23. 23. Blogs<br />Visiten nuestro bar<br />Lluis Franco<br /> http://msmvps.com/blogs/lfranco/<br />PepLluisBano<br /> http://msmvps.com/blogs/peplluis/<br />Jorge Serrano<br /> http://geeks.ms/blogs/jorge/<br />
  24. 24. ¡ Muchas Gracias!<br />Recuerda que en www.codecamp.es podrás encontrar todo el material de las sesiones del CodeCamp<br />

×