Translate

viernes, 12 de junio de 2015

Learn AngularJS


Codecademy creo un curso de Angular.js. Angular esta tomando el lugar de todos los demás frameworks javascript, por lo que es casi obligatorio aprenderlo.

Dejo link:
http://www.codecademy.com/en/learn/learn-angularjs

jueves, 11 de junio de 2015

Opal el nuevo lenguaje Orientado objeto con aires Funcionales


Opal el nuevo lenguaje Orientado objeto (es nuevo para mi) que tiene como objetivo remplazar a C, C++, Java, C#, Eiffel, Simula, and SmallTalk, y tambien:

  • Mejorar la implementación de la programación orientada a objetos
  • Introducir ideas del paradigma funcional
  • Ser de bajo nivel y de alto nivel. 
  • Usar técnicas avanzadas de compilación para hacer programas más eficientes. 


Entre sus características podemos destacar que es un lenguaje multiparadigma (procedural, orientado a objeto y Funcional) se pueden utilizar inmutables, clausuras, object, ASAP Garbage Collection, ect.

Como se ve un programa en Opal? bueno veamos un hola mundo:


IMPLEMENTATION GCD
   IMPORT Nat COMPLETELY
   DEF GCD(a,b) == IF a % b = 0 THEN b
                       ELSE IF a-b < b THEN GCD(b,a-b)
                           ELSE GCD(a-b,b)
                       FI
                   FI

Dejo link:
http://www.cs.oberlin.edu/~jwalker/opal/

Swift 2.0, ahora es open source y con soporte para Linux




Si como lo escuchan Swift es open sorce. Como lo notan se están moviendo la cosa a para nuestro lado.

Swift es el lenguaje nuevo de apple que nos va  a permitir escribir aplicaciones para IOS.

Dejo link:
http://www.applesfera.com/general/swift-2-0-ahora-es-open-source

JDK 8 Massive Open and Online Course: Lambdas and Streams Introduction

Oracle nos brinda un un curso masivo y gratuito basado en lambda y sobre Streams.

Lambda es la nueva característica más importante y al parecer oracle nos quiere capacitado en esta características.











Dejo link:
https://apexapps.oracle.com/pls/apex/f?p=44785:145:0::::P145_EVENT_ID,P145_PREV_PAGE:4887,143 


jueves, 4 de junio de 2015

Elm

Elm es un lenguaje funcional basado en Functional Reactive Programming.

Con características bien funcionales como inmutabilidad, funciones de primer orden y otras ventajas de los lenguajes funcionales, se hace fácil escribir código fácil de mantener y corto.

Elm compila a HTML, CSS y JavaScript. No es fácil crear aplicaciones web pero con este framework podemos generar el maquetado de forma automática.



Dejo link: http://elm-lang.org/

Lazy evaluation y Enfoque declarativo en Python

Cuando un lenguaje tiene un déficit, nace una librería que soluciona el problema pero si el lenguaje cubre todos los frentes se vuelve muy complejo. Por lo tanto lo mejor es tener un equilibrio.

Python es un ejemplo de equilibrio y elegancia. Pero no tiene tanto soporte para el paradigma funcional pero existen librerías que permiten extender el lenguaje.

Quiero compartir una presenta
ción que nos explica como obtener caracteríasticas de lenguajes funcionales en python:

http://kachayev.github.io/talks/kharkivpy%236/index.html#/

martes, 2 de junio de 2015

El Dr. Erik Meijer dicta Functional Programming Fundamentals en chanel 9


Mire lo que encontré, un excelente curso de programación funcional por el Dr. Erik Meijer :

http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1

Para el que no conoce al Dr Meijer, es un groso entre otras cosas responsable de Reactive programming framework (Reactive Extensions) para .NET, tambien dicta el curso de reactive en coursera.  Lo que más me interesa saber es donde compra esas remeras locas :P



domingo, 31 de mayo de 2015

Con que lenguaje de programación gane dinero?


Este es un post autoreferencial, hice un ejercicio mental. Me puse a pensar con cual lenguaje realmente gane dinero y cual no. Es como para evaluar el mercado, el que paso no el que vendrá y poder poner las cartas en la mesa, que si opino de esta forma es porque esto me dio trabajo. Es decir ver porque no soy objetivo.

Tengo en mi legado código en :

  • Java (la mayor cantidad de trabajos)
  • php (si si y el bug fixing me dio muchoo trabajo, debe ser que gracias a este lenguaje odie el tipado dinámico)
  • sql, pl/sql y Tsql (hice solo reportes y algun que otro store procedure)
  • javascript y HTML (cuando ajax se hacia sin frameworks, tuve mucho trabajo solo en javascript)
  • C++, Object Pascal (solo dando clases)
  • y otros pero muy poco, como Action script, C#, Ruby

Que lenguaje estudie más y trabaje menos? C# sin duda, es tan así que me rendí, lo deje en el C# 4; ahora tengo que retomar :(

Que lenguaje me gustaría trabajar en el futuro? Muchos Ruby, Groovy, Scala, Haskell y me da mucha curiosidad Go (aun que lo critico mucho)

Conclusión: billetera manda, no tengo la barita mágica pero estoy estudiando un poco python, scala y voy a retomar C#, que para mi, se van a utilizar más, hago bien?

jueves, 28 de mayo de 2015

R vs Python

Sigo con la disyuntiva R o Python para procesar datos en ambientes científicos.

R nació para manipular datos estadísticos, el lenguaje tiene muchas funcionalidades pero python esta ganando espacio de a poco y por alguna razón debe ser.

Les dejo una infografìa:



Dejo un link:
http://www.kdnuggets.com/2015/05/r-vs-python-data-science.html?utm_content=bufferf72a4&utm_medium=social&utm_source=plus.google.com&utm_campaign=update



SQL Server 2016 soporta JSON

Por fin! No es por comparar pero postgres hace 1 año o más que soporta json como tipo de dato nativo en su base de datos. Ahora la gente de Microsoft tiene el agrado de anunciar que Sql server 2016 siguiendo una natural corriente soporta JSON como un tipo de datos.

Es una muy buena noticia, las cosas de a poquito se van regulando, dado que a mi entender esto debería estar hace rato pero llego que es lo importante.

Como es esperable podemos importar datos con este formato y tambien exportar o extraer. A la vez podemos hacer consultas a estos datos.

Dejo link:
http://www.infoq.com/news/2015/05/SQL-Server-JSON

R vs Python vs SAS

Muchas veces comparamos lenguajes en el blog y hoy no va a ser diferente, les quiero dejar una comparativa de python vs r v SAS

SAS vs R vs Python infographic datascience

Dejo link;
http://www.analyticsvidhya.com/blog/2015/05/infographic-quick-guide-sas-python/


lunes, 25 de mayo de 2015

Java cumple 20 años, casi tan joven como yo!

Java cumple 20 años, existe un tecnicismo importante es la fecha del primer release que tiene poco que ver con java como lo conocemos, pero bueno siempre es ocación valida para festejar.

Les dejo una infografía:

domingo, 24 de mayo de 2015

Les presento a Debian 8

Sin palabras, que bueno que esta Debian 8 y viendo la nueva versión de gnome creo que encontraron el camino. Debian 8 nos demuestra que un sistema operativo pensado de forma robusta y para servidores tambien puede ser utilizado por usuarios finales.

Empece instalándolo, la instalación es igual a cualquier Debian, pero me sorprendió que me de a elegir que escritorio quería instalar, esto es muy bueno!!


Finalizada la instalación me encontré con un entorno intuitivo, mira:







Dejo link;
https://www.debian.org/index.es.html


viernes, 22 de mayo de 2015

Contratos en C#

Leyendo sobre C# en infoQ parece ser que quieren agregar contratos, pero que serían los  contratos? En un momento de mi vida yo escribí sobre contratos, escribí algo como esto:

"Eiffel es el lenguaje pionero en el diseño por contrato. Diseño por contrato es un concepto basado en la calidad del software.

Diseño por contrato es una metafora de como los objetos deben colaborar entre ellos. La metafora se puede explicar como un cliente que debe contratar un servicio; lo cual lo hace por medio de un contrato.

El proveedor debe proporcionar un producto determinado o servicio y tiene derecho a esperar hasta que el cliente pague.

El cliente debe pagar y tiene derecho a obtener el producto o servicio.
Ambas partes deben cumplir con ciertas obligaciones, tales como las leyes y reglamentos, aplicables a todos los contratos."

Volviendo a C# han decidido implementar un mecanismo de programación basada en contratos de la siguiente manera:

public int Insert(T item, int index)
    requires index >= 0 && index <= Count
    ensures return >= 0 && return < Count
{ … }

Lo que esta haciendo acá es asegurarse de que index sea mayor a 0 y menor a count.

Dejo link: http://www.infoq.com/news/2015/05/CSharp-7-contract