Publicado por
campusMVP
el
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]
Publicado por
campusMVP
el
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]
Publicado por
José M. Alarcón Aguín
el
.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]
Publicado por
campusMVP
el
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]
Publicado por
Eduard Tomás
el
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]
Publicado por
Eduard Tomás
el
A pesar de que pueda parecer lo contrario, la currificación no tiene sus orígenes en a
[Más]
Publicado por
Eduard Tomás
el
La recursividad de “cola” (traducción libre de tail recursion) es un mecanismo qu
[Más]
Publicado por
José M. Alarcón Aguín
el
Un concepto que siempre le cuesta bastante a los programadores que están empezando es el de recursión o recursividad (se puede decir de las dos maneras). Aunque es un concepto que puede llegar a ser muy complejo, en esencia es muy sencillo: La recursividad consiste en funciones que se llaman a sí mismas, evitando el uso de bucles y otros iteradores. En este post vamos a ver claro el concepto...
[Más]
Publicado por
José M. Alarcón Aguín
el
En Julio del año pasado, justo antes de que lanzasen Visual Studio 2015, escribí un post muy detallado sobre todo el lío de versiones que se nos venía encima con la aparición de lo que se conocía entonces como ASP.NET "vNext", y el enorme fiasco que había montado el equipo de desarrollo con la numeración de versiones que habían elegido.
Aunque creo que te interesará y deberías leerlo, si no quieres hacerlo ahora, como resumen te diré que lo que hicieron con el versionamiento del producto daba a entender a la gente que todo lo nuevo que están haciendo iba a ser una nueva versión de lo anterior, sustituyéndolo, cuando en realidad son dos proyectos distintos que trabajarán en paralelo.
[Más]
Publicado por
José M. Alarcón Aguín
el
Como dice el viejo chiste: "¿Cómo te comerías un elefante?... Pues trocito a trocito, claro. " Aprender a programar en un nuevo sistema operativo es como comerse un elefante: no puedes hacerlo de golpe y si quieres tener éxito debes ir poco a poco, quemando etapas. Uno de los principales mitos del desarrollo para iOS es que es difícil por culpa de Objective-C, un lenguaje críptico y propenso a errores que no perdona los fallos. Y el mito moderno derivado de este es que Swift, por el contrario, facilita mucho las cosas ya que...
[Más]