This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

Lo nuevo en el BCL en .NET Framework 4.0!

Hacía tiempo que tenía en el tintero escribir este post en torno a algunas de las novedades que aparecen en la BCL (Base Class Library) de la primera CTP de .NET Framework 4.0…por cierto, parece que en breve tendremos una nueva CTP tanto de .NET Framework 4.0 como de Visual Studio 2010. Comencemos con algunas de las novedades de la actual CTP de .NET Framework 4.0:

  • Code Contracts, disponibles a través de System.Diagnostics.Conctracts, proporciona una manera agnóstica al lenguaje de expresar asunciones de código en programas .NET. Los contratos pueden tomar la forma de pre-condiciones, post-condiciones y objetos invariants actuando como documentación verificada de nuestras APIs internas y externas. Estos contratos se usan para mejorar el testeo a través de verificación del runtime, habilitar la verificación de contratos estáticos, y la generación de documentación. Más información sobre esta novedad en este enlace de Microsoft Research.
  • Parallel Extensions, se ha añadido el soporte de PLINQ (Parallel LINQ) a la BCL de .NET Framework 4.o, estructuras de coordinación de datos, y la Task Parallel Library (TPL). Se ha incluido una optimización del algoritmo de planificación de tareas ThreadPool, la clase estática Parallel, estructuras de datos como LazyInit<T>, CountdownEvent, Barrier, SemaphoreSlim, SpinLock, SpinWait, …Más información en Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.
  • BigInteger, disponible a través de System.Numerics.BigInteger, se trata de un nuevo tipo de datos entero con precisión arbitraria y alto rendimiento. Soporta todas las operaciones estándar para tipos enteros, incluyendo manipulación de bits. Se puede usar desde cualquier lenguaje .NET, así como algunos de los nuevos como F# y IronPython para .NET.
  • Memory Mapped Files, disponible a través de System.IO.MemoryFiles, expone la funcionalidad de mapeado de memoria disponible en Windows como una API manejada de primer clase. Los archivos mapeados en memoria se pueden usar para editar de manera eficiente grandes archivos, así como crear memoria compartida para comunicación entre procesos. Además, se ha creado System.IO.UnmanagedMemoryAccesor para habilitar acceso aleatorio a memoria no manejada.
  • ResourceManager Improvements, disponible en System.Resources, se ha mejorado el gestor de recursos para facilitar la búsqueda de archivos de recursos independientemente de la cultura actual de la interfaz de usuario.
  • Compression Improvements, se han mejorado los algoritmos de comprensión disponibles en System.IO.Compression a través de unos mejores ratios de comprensión y posibilitando comprimir streams de más de 4 GB.
  • String Security Changes, las sobrecargas por defecto de algunos métodos  de System.String (StartsWith, EndsWith, IndexOf y LastIndexOf) se han cambiado para que sean agnósticos a la cultura por defecto. Además, se ha modificado ToUpper y ToLower para usar la cultura invariant en lugar de la actual.

Además de todas estas novedades, el equipo del BCL está pensando en otra serie de novedades tal y como podréis leer en este enlace.

Published 28/12/2008 12:10 por Juan Carlos González Martín

Archivado en:
Comparte este post:

Comentarios

# re: Lo nuevo en el BCL en .NET Framework 4.0!@ Monday, December 29, 2008 4:18 PM

Que caña... contratos como en Eiffel!!! No me lo puedo creer...

Rodrigo Corral

# re: Lo nuevo en el BCL en .NET Framework 4.0!@ Tuesday, December 30, 2008 9:45 AM

Juan Carlos, me he visto todo el video de los contratos y tio... no me parecen más que asserts con esterorides anabolizantes... no es que lo critique es que no entiendo la necesidad de crear una nueva clase y un nuevo concepto cuando lo que podían haber hecho es simplemente potenciar la clase existente...

¡Un saludo!

Rodrigo Corral

# re: Lo nuevo en el BCL en .NET Framework 4.0!@ Tuesday, December 30, 2008 10:42 AM

Buenas Rodrigo,

Ja Ja, asserts con esteroides anabolizantes!!!...pues de momento es lo que hay, de todos modos piensa que estamos en la primera CTP y esto no ha hecho más que empezar y aun le queda hasta que lleguemos a la RTM.

Espinete, agnóstico quiere decir que podrás definir estos contratos independientemente del lenguaje que tengas por debajo.

Un saludo a todos y Feliz Navidad.

JC's

Juan Carlos González Martín

# re: Lo nuevo en el BCL en .NET Framework 4.0!@ Thursday, March 4, 2010 5:55 AM

hola, tengo esa duda acerca del biginteger de .NEt y la pregunta es esta.

El biginteger de .NET es el mismo que de java (metodos, constructores, etc)? por favor respondanme la duda que tengo.

Gracias

MARYSABEL