feed

C#/.NET

Sobrecargando los métodos en C#

28 comentarios

Sobrecargas de métodos

Los lenguajes, como casi todo en este universo que tiende a la entropía, van evolucionando y ganando complejidad con el tiempo. Así nos encontramos con la paradoja de que cuanto más completa es la sintaxis, más ilegible se puede volver el código.

Por ejemplo, la máxima que decía “escribe la menor cantidad de código, que vaya lo más rápido posible”, tiene un orden de prioridad menor frente a paradigmas de programación más modernos como Clean Code o KISS.

Por ello ahora quiero compartir una técnica para facilitar la legibilidad de nuestros programas y que trata de la sobrecarga de los métodos.

Leer más

Anunciate aquí
Anunciate aquí

No te lo vas a creer, el Goto aún existe en C#

29 comentarios

Portada

Tengo que reconocer que Twiter se ha convertido en una fuente de información sorprendente. Como leí en algún sitio “desde que existe twiter, siempre leo en el periódico noticias antiguas“.

Esto viene al caso al llegarme por este medio un rumor que, al principio, no me podía creer. El rey del “spaguetti code“, el causante de inmenso dolor en los tiempos del GWBASIC, el paradigma de lo que no se tiene que utilizar; aún vive.

Y estoy hablando de la sentencia de salto absoluto GOTO.

Leer más

Anunciate aquí

Se lanza XobotOS, un Android en .NET y C#

23 comentarios

xobotos

Como es sabido, Android se basa en Java y Java pertenece a Oracle. De momento no ha habido hostilidades pero siempre es posible que el belicoso Larry Ellison decida un día tirar de patentes y pedir dinero a espuertas Y las previsibles hostilidades entre Google y Oracle van subiendo de tono cada semana. Por eso la migración de Android a otros cimientos es algo de lo que se viene hablando hace tiempo. Pues bien, ahora la gente de Xamarin ha portado el código en Java de Android a C# (con la herramienta Sharpen) y lo han hecho correr sobre .NET pero no la implementación de de Microsoft sino sobre Mono (que la misma gente de Mono había creado antes de formar la empresa). Al resultado lo han XobotOS.

Este XobotOS es tan sólo un proyecto de investigación que no va a ser continuado por la gente de Xamarin pero al ser software open source con una licencia Apache, es posible que alguien (incluso la propia Google) se aproveche del gran trabajo previo realizado (millones de líneas de código portadas) para sacar un sistema operativo Android completo sin ningún atisbo de Java.

Pd: en Xamarin afirman que los resultados de este XobotOS son mejores que los de Java con Dalvik (el primo hermano de la JVM de Google)

Vía | Ars Technica
Foto | Xamarin
Más info | Xamarin
Descarga | Github

Métodos de extensión en C#

18 comentarios

Métodos extensores

“Los métodos de extensión permiten “agregar” métodos a los tipos existentes sin necesidad de crear un nuevo tipo derivado y volver a compilar o sin necesidad de modificar el tipo original. Los métodos de extensión constituyen un tipo especial de método estático, pero se les llama como si se tratasen de métodos de instancia en el tipo extendido. En el caso del código de cliente escrito en C# y Visual Basic, no existe ninguna diferencia aparente entre llamar a un método de extensión y llamar a los métodos realmente definidos en un tipo.” MSDN

Ciertamente esta es una descripción bastante criptica de esta técnica de desarrollo que se puede utilizar para una mayor productividad y legibilidad de nuestro código. Por ello quiero escribir un artículo que, por medio de un ejemplo muy sencillo, pueda ser un paso inicial en el conocimiento de esta herramienta de programación.

Básicamente, y para entendernos de una forma más sencilla. Un método extensor es una forma de “añadirle“ métodos a una clase sin necesidad de hacerlo en la original o en alguna instancia/copia de la misma. No es un reemplazo de la técnica formal por medio de herencia, si no una pequeña “trampa” que nos permite obtener un resultado muy similar.

Leer más

Programación Asíncrona .NET 4.5

3 comentarios

Portada

Hace unas semanas escribí sobre un nuevo ORM ligero Oracle para .NET, desarrollado por Javier Torrecilla. El cual además contesto a diferentes preguntas que aproveche para hacerle.

Hoy tengo el placer de publicar un artículo de su autoría que hace una aproximación a las nuevas capacidades de programación asíncrona en la plataforma .NET.

Pero no solamente se queda en el análisis teórico, si no se arremanga las mangas para picar código de ejemplo que comparte con los lectores de GenbetaDev

Leer más

Hello World en MetroStyle, un futuro cercano

8 comentarios

Hello World Metro Style

Desde la presentación del Windows8 Developer Preview, los anuncios, eventos y novedades sobre el nuevo rumbo de la multinacional, está llenando de excitación y de nuevas futuras oportunidades de negocio a toda la comunidad de desarrollo.

Cosas como los proyectos MetroStyle, en xmla + c#, o html5 + javascript, llenan la imaginación de todo aquel que le guste el desarrollo. Y aún más, como quien escribe estas líneas, en la tecnología que mejor conoce y más cómodo se siente en ella.

Y por eso, hoy os traigo una breve mirada por el ojo de la cerradura a lo que podrían ser la futuras aplicaciones de escritorio/teléfono movil/xbox/tabletas de Windows8.

Leer más

Open Source en .Net

1 comentario

Open Source en .Net

Los desarrolladores de .Net también tenemos posibilidades de poder aprender mucho de otros compañeros que realizan Software Libre y de Código Abierto. Es curioso como aún hay miembros de la industria que igualan a Microsoft solamente al software comercial y con aplicaciones cerradas sin acceso al código fuente, mientras la compañía de Redmond mantiene hace años una política de fomento de la comunidad de desarrolladores Open Source.

Por ejemplo en uno de los repositorios emblemáticos de software con el código fuente plenamente accesible como es sourceforge, existen miles de proyectos realizados en C#; de hecho más que realizados en Java. Así como en otros lenguajes pero teniendo Windows como sistema operativo de destino.

Leer más

Actualización de Julio del 2011 de Ajax Control Toolkit

3 comentarios

Logotipo

Los programadores .Net, orientados a la web, utilizan las plantillas de Webforms; las cuales permiten implementar Ajax de una forma muy sencilla añadiendo un control del tipo ScriptManager y teniendo toda la potencia, e inconvenientes, del control UpdatePanel.

Sin embargo todos sabemos que para facilitarnos mucho la vida tenemos la excelente librería de controles y extensores, AjaxControlToolkit. Y que acaba de ser publicada su actualización de Julio del 2011 con múltiples bugs solucionados y un nuevo control de edición de html.

Leer más

MS Test, el framework de test de Visual Studio 2010

9 comentarios

Portada

El test, en cualquier de sus formas, es una de las más poderosas herramientas que tenemos los desarrolladores actuales para obtener un software de calidad, robusto y de más fácil mantenimiento. Incluso los test funcionales, que permiten realizar BDD, están entrando con fuerza en las técnicas generales que todo buen programador debiera conocer.

En el caso del ecosistema de desarrollo de Microsoft, Visual Studio 2010, este nos ofrece un potente framework de pruebas (Visual Studio Unit Testing Framework), que en este artículo voy a mostrar por medio de un sencillo ejemplo.

Leer más

Low cost en .NET: recursos para reducir costes

10 comentarios

low cost .net

El coste de desarrollo y explotación de proyectos es un factor clave en el éxito de productos de software. Este coste es tanto más importante cuanto menor sea el tamaño de la empresa que lo asume, llegando a su límite en las startups tecnológicas, que por fuerza necesitan minimizar sus gastos iniciales, y lo es también en los productos maduros y exitosos que a menudo consumen ingentes cantidades de recursos. La elección de las herramientas de desarrollo y las plataformas de producción, ya sea en propiedad o en hosting, así como nuestras propias técnicas y patrones de implementación incidirán decisivamente en el importe total de un producto.

Si estáis pensando en desarrollar aplicaciones profesionalmente, y os decantáis por usar la plataforma .NET como marco de trabajo, os presento aquí ciertas medidas para que lo hagáis al menor coste posible.

Leer más

Anunciate aquí

WSL Weblogs SL