Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

1043 artículos publicados

Cambios de zona horaria en .NET

Hacer un cambio de zona horaria parece una tarea muy sencilla: basta con sumar o restar las horas de diferencia de la nuestra actual y listo ¿verdad?. En realidad es mucho más complicado que eso. Para empezar existen regiones del mundo que no se encuentran un número de horas exacto por delante o por detrás de UTC. Por ejemplo, Venezuela se encuentra en UTC-04:30 (es decir, 4 horas y media por detrás), y Nepal está en UTC+05:45 (o sea, 5 horas y tres cuartos por delante). Otras áreas geográficas tienen zonas horarias verticales y horizontales en ocasiones (Australia en verano, por ejemplo). Y el cambio horario para ahorro de energía no se efectúa al mismo tiempo en todo el mundo, sino con semanas de diferencia. La complejidad es muy alta y no sirve simplemente sumar o restar un número de horas... [Más]

JavaScript, ECMAScript, ES6, ¿Existe ES7?... Aclarando las diferentes versiones del lenguaje

JavaScript es considerado por algunos el lenguaje más incomprendido del mundo. Y lo cierto es que su nombre y sus versiones no contribuyen tampoco a que no sea así. En primer lugar el hecho de llevar la palabra "Java" como parte de su nombre crea confusión y lleva a pensar a algunos que tiene algo que ver con el lenguaje de programación Java, creado por Sun Microsystems en el año 1991. No es así en absoluto y fue una decisión de marketing de sus creadores hace ya más de 20 años. Pero es que además está ECMAScript. A veces, al hablar de JavaScript se habla de ECMAScript. ¿Qué tiene que ver uno con el otro? ¿Son lo mismo? ¿Qué versiones hay? ¿Existen todas de las que se habla a veces?... [Más]

Ya disponible .NET Core 1.0: la plataforma moderna para desarrollo multiplataforma y en la nube de Microsoft

Tras un desarrollo muy largo y convulso, ayer se presentaron las respectivas versiones 1.0 RTM de .NET Core, ASP.NET Core y Entity Framework Core, junto con actualizaciones de una serie de productos relacionados.
Con el lanzamiento de la versión 1.0 de la infraestructura .NET Core y el conjunto de frameworks basados en ella (ASP.NET, MVC, Entity Framework), iniciamos una nueva época en la que aquél sueño de desarrollar o ejecutar fácilmente aplicaciones .NET en cualquier plataforma es ya una realidad, y con todo el soporte y las bendiciones del gigante de Redmond. Escenarios antes impensables, como desarrollar desde Mac para desplegar en Linux, o crear nuestras aplicaciones en Windows y explotarlas desde un contenedor Docker, son ya posibles...
[Más]

Rendimiento de algoritmos y notación Big-O

En programación el rendimiento o la complejidad de un algoritmo se suele medir utilizando una notación denominada Big-O, y también conocida como Notación Asintótica o Notación Landau.
Ya os hemos contado aquí la importancia que tiene aprender a crear ciertos algoritmos aunque no los vayas a usar en el día a día. Pero además, en cualquier documentación o en cualquier libro o página que describa un algoritmo nos vamos a encontrar con la notación Big-O, por lo que es muy importante conocerla.
¿Qué significa esto exactamente y por qué nos importa?... [Más]

Swift vs Objective-C: 5 preguntas indispensables para aprender a programar para iOS

Swift es el nuevo lenguaje de Apple, llamado a sustituir al vetusto Objective-C en el que se han basado históricamente todos los desarrollos para iPhone/IPad y Mac OS X. Se lanzó oficialmente durante el verano de 2014, o sea, ya hace casi dos años, pero sigue siendo el "nuevo" y todavía quedan dudas sobre todo lo que lo rodea, especialmente si vas a iniciarte en la programación para iPhone/iPad o Mac OS X.
En este artículo vamos a tratar de contestar a las dudas más habituales para ayudarte a comparar mejor ambos lenguajes y a tomar decisiones respecto a su aprendizaje. [Más]

Ser mejor programador aprendiendo algoritmos (y de paso Swift)

Los algoritmos. Esos conceptos abstractos que se estudian en la teoría de computación y que luego raramente los usas en tu trabajo diario programando. ¿Cuándo fue la última vez que creaste una lista enlazada o diseñaste un algoritmo para búsqueda eficiente de datos? Probablemente nunca. De hecho, cualquier lenguaje o plataforma que se precie te ofrecerá "de serie" el 90% de los algoritmos que vas a necesitar usar alguna vez...

Sin embargo, cualquier problema que debas resolver usando un programa se reduce al final a crear un algoritmo, una serie de pasos lógicos y ordenados que te permiten resolver el problema de la manera más eficiente posible. Conocer la teoría y los conceptos que hay debajo de los algoritmos comunes (los que ya te da resueltos el propio lenguaje), aunque puedan parecer abstractos, en realidad marcan la diferencia entre un buen programador y un gran programador. [Más]

Migrando aplicaciones de .NET al nuevo .NET Core - Preguntas y respuestas

.NET Core es la nueva generación de tecnologías basadas en .NET y orientadas a la nube. No se trata de una nueva versión llamada a sustituir a la anterior, sino que es una nueva tecnología que se mantendrá en paralelo a la tecnología actual. Tiene unos objetivos diferentes: sobre todo que sea multi-plataforma (Windows, Linux y Mac), que ofrezca más rendimiento y menos uso de recursos para su uso en la nube, y que sea totalmente modular. En un artículo te explicábamos hace poco en qué consiste .NET Core, qué contendrá y qué esperar de esta tecnología en el corto plazo.Hace poco el equipo de .NET Core sacó un artículo en el que explicaban a vista de pájaro qué opciones existen para poder migrar tus aplicaciones desde la versión completa de .NET a la más liviana y multi-plataforma nueva versión, que por otro lado no ha sido lanzada todavía... [Más]

Los 10 lenguajes de programación de 2016

En los últimos años son numerosos los nuevos lenguajes de programación que van ganando aceptación entre los desarrolladores. Estos lenguajes revolucionaron la industria tecnológica, llegando en algunos caso a superar en popularidad a los lenguajes “de toda la vida”, como por ejemplo sucedió con Go de Google o Rust de Mozilla en su momento de mayor apogeo. Sin embargo, a excepción de Swift, cuya adopción parece imparable, de acuerdo con los datos publicados por la empresa RedMonk, los desarrolladores siguen prefiriendo los lenguajes establecidos. La figura que se muestra a continuación ha sido extraída de los datos publicados por RedMonk (véase enlace anterior) y por lo tanto es propiedad de RedMonk. En un post anterior ya os explicamos con qué propósito realizan este ranking de lenguajes y cómo llevan a cabo el análisis, por lo que ahora... [Más]

Pattern matching en lenguajes de programación funcionales

El pattern matching (se podría traducir como búsqueda de patrones) es otro concepto traído de la programación funcional que (como la propia programación funcional, de hecho) está tomando cada vez más importancia. ¿Pero… en qué consiste exactamente? Muchos lenguajes tienen este concepto, aunque no todos con el mismo nivel de profundidad. En este artículo hablaremos un poco del pattern matching , su importancia y veremos algunos ejemplos. En la actualidad ECMAScript ya dispone de ciertas capacidades de patrones y se está valorando incluirlo en C# 7, por lo que conviene ir aprendiendo sobre el asunto. Nota: Aunque los conceptos son genéricos, el lenguaje que vamos a usar para los mismos es Elixir. Elixir es un lenguaje funcional que se ejecuta bajo BEAM, la máquina virtual de Erlang. La razón para escojer Elixir es que el pattern ... [Más]