(Codemotion 2014) 20 lenguajes en 40 minutos

97
20 Lenguajes 40 Minutos Alonso Torres @alotor

description

El mundo del desarrollo es muy volátil. Nuevas técnicas, tecnologías o incluso paradigmas entran y salen de escena casi a diario. ¿Quieres mantener "afiladas" tus habilidades? ¿Qué te parecería aprender un nuevo lenguaje de programación? Salir de tu zona de confort e incluso cambiar de paradigma, puede hacerte ver con otra perspectiva los problemas con los que te encuentras en el día a día. Además quizás descubras una nueva pasión o una nueva forma de solucionar aquello a lo que llevas tiempo dándole vueltas.

Transcript of (Codemotion 2014) 20 lenguajes en 40 minutos

Page 1: (Codemotion 2014) 20 lenguajes en 40 minutos

20 Lenguajes40 Minutos

Alonso Torres @alotor

Page 2: (Codemotion 2014) 20 lenguajes en 40 minutos

Alonso Torres

@alotor @alotor

mobro.co/alotor

Page 3: (Codemotion 2014) 20 lenguajes en 40 minutos

Programares

ARTE

Page 4: (Codemotion 2014) 20 lenguajes en 40 minutos

Programares

ARTE ¿ ?

Page 5: (Codemotion 2014) 20 lenguajes en 40 minutos

CREATIVA

Page 6: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 7: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 8: (Codemotion 2014) 20 lenguajes en 40 minutos

No pintas con un

solo COLOR

Page 9: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

Page 10: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

Page 11: (Codemotion 2014) 20 lenguajes en 40 minutos

Orientado a Objetos

Todo es un objeto

El programa se construye a base de la interacción entre los objetos

Favorece comprender la estructura

Page 12: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

TIPOSESTÁTICOS

Page 13: (Codemotion 2014) 20 lenguajes en 40 minutos

Tipos estáticos

El compilador comprueba los tipos

Información previa a la ejecución

Page 14: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

TIPOSESTÁTICOS

MÁQUINA VIRTUAL

Page 15: (Codemotion 2014) 20 lenguajes en 40 minutos

Máquina virtual

Compilación a un lenguaje intermedio

Gestión de memoria automática

Abstrae de los detalles de la plataforma

Page 16: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

TIPOSESTÁTICOS

MÁQUINA VIRTUAL SIGLO XX

Page 17: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguajes del Siglo XX

Java fue creado en 1995

C# en el año 2000

Page 18: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

TIPOSESTÁTICOS

MÁQUINA VIRTUAL SIGLO XX

Page 19: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Por qué estántan extendidos?

Page 20: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguajes

FIABLES

Page 21: (Codemotion 2014) 20 lenguajes en 40 minutos

● Estructura● Tipos● Documentación● Comunidad● Frameworks estables

Page 22: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Quieres salir

de tu zona de confort?

Page 23: (Codemotion 2014) 20 lenguajes en 40 minutos

Pintemos con

otros COLORES

Page 24: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

ORIENTADOOBJETOS

TIPOSESTÁTICOS

MÁQUINA VIRTUAL SIGLO XX

Page 25: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

TIPOSESTÁTICOS

MÁQUINA VIRTUAL SIGLO XX

PROGRAMACIÓNFUNCIONAL

ORIENTADOOBJETOS

Page 26: (Codemotion 2014) 20 lenguajes en 40 minutos

Objetos

Interacción entre objetos

Funcional

Interacción entre funciones

Modificamos objetos Intercambiar datos nuevos

Datos dentro objetos Guardamos datos o funciones

Page 27: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Funcional?

¿Objetos?

¿Qué elegir?

Page 28: (Codemotion 2014) 20 lenguajes en 40 minutos

Ambos es una opción

Page 29: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 30: (Codemotion 2014) 20 lenguajes en 40 minutos

Scala Transición

Page 31: (Codemotion 2014) 20 lenguajes en 40 minutos

Los tipos tienenmucha importancia

Page 32: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 33: (Codemotion 2014) 20 lenguajes en 40 minutos

Scala Transición

F# Tipos

Page 34: (Codemotion 2014) 20 lenguajes en 40 minutos

Pureza funcional,Inmutabilidad

Page 35: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 36: (Codemotion 2014) 20 lenguajes en 40 minutos

Scala Transición

F# Tipos

Haskell Pureza

Page 37: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguajes orientados a concurrencia

Page 38: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 39: (Codemotion 2014) 20 lenguajes en 40 minutos

Scala Transición

F#

Erlang

Tipos

Concurrencia

Haskell Pureza

Page 40: (Codemotion 2014) 20 lenguajes en 40 minutos

Aunque también podemos ser flexibles

Page 41: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 42: (Codemotion 2014) 20 lenguajes en 40 minutos

Scala Transición

F#

Erlang

Tipos

Concurrencia

Haskell Pureza

Clojure Flexibilidad

Page 43: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

TIPOSESTÁTICOS

MÁQUINA VIRTUAL SIGLO XX

Page 44: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

MÁQUINA VIRTUAL SIGLO XX

TIPOSDINÁMICOS

TIPOSESTÁTICOS

Page 45: (Codemotion 2014) 20 lenguajes en 40 minutos

Estático

Tipos en compilación

Dinámico

Tipos en ejecución

Seguridad Flexibilidad

Código intermedio Interpretado

Page 46: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Cómo empezar a dar el salto dinámico?

Page 47: (Codemotion 2014) 20 lenguajes en 40 minutos

Soporte los dos estilos

Page 48: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 49: (Codemotion 2014) 20 lenguajes en 40 minutos

Groovy Transición

Page 50: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Cuál es mejor para aprender?

Page 51: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 52: (Codemotion 2014) 20 lenguajes en 40 minutos

Groovy Transición

Python Filosofía

Page 53: (Codemotion 2014) 20 lenguajes en 40 minutos

Explícito > implícito

Page 54: (Codemotion 2014) 20 lenguajes en 40 minutos

¿Y si prefiero implícito?

Page 55: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 56: (Codemotion 2014) 20 lenguajes en 40 minutos

Groovy Transición

Ruby Flexibilidad

Python Filosofía

Page 57: (Codemotion 2014) 20 lenguajes en 40 minutos

Nos permiten una alta velocidad de desarrollo

Page 58: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 59: (Codemotion 2014) 20 lenguajes en 40 minutos

Groovy Transición

Ruby Flexibilidad

Python Filosofía

PHP Velocidad

Page 60: (Codemotion 2014) 20 lenguajes en 40 minutos

Se integran bien con otros sistemas

Page 61: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 62: (Codemotion 2014) 20 lenguajes en 40 minutos

Groovy Transición

Ruby Flexibilidad

Python Filosofía

PHP Velocidad

Javascript Integración

Page 63: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

MÁQUINA VIRTUAL SIGLO XX

Page 64: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

SIGLO XXMÁQUINA VIRTUALSISTEMA

Page 65: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguajes de sistema

- No ponen barreras entre el programador y el sistema operativo

- Manejo de memoria a “bajo nivel”

- Gran potencia

Page 66: (Codemotion 2014) 20 lenguajes en 40 minutos

Un gran poder conllevauna gran

responsabilidad

Page 67: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 68: (Codemotion 2014) 20 lenguajes en 40 minutos

C Potencia

Page 69: (Codemotion 2014) 20 lenguajes en 40 minutos

Añadiendo estructura

Page 70: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 71: (Codemotion 2014) 20 lenguajes en 40 minutos

C

C++

Potencia

Estructura

Page 72: (Codemotion 2014) 20 lenguajes en 40 minutos

Concurrencia

Page 73: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 74: (Codemotion 2014) 20 lenguajes en 40 minutos

C

C++

Go

Potencia

Estructura

Concurrencia

Page 75: (Codemotion 2014) 20 lenguajes en 40 minutos

Gestión de memoria por tipos

Page 76: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 77: (Codemotion 2014) 20 lenguajes en 40 minutos

C Potencia

C++

Rust

Estructura

Tipos de memoria

Go Concurrencia

Page 78: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

SIGLO XX

Page 79: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

SIGLO XXSIGLO XXI

Page 80: (Codemotion 2014) 20 lenguajes en 40 minutos

La juventudllega pisando fuerte

Page 81: (Codemotion 2014) 20 lenguajes en 40 minutos

Modularidad integrada

en el lenguaje

Page 82: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 83: (Codemotion 2014) 20 lenguajes en 40 minutos

Ceylon Módulos

Page 84: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguajes funcionalese interactivos

Page 85: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 86: (Codemotion 2014) 20 lenguajes en 40 minutos

Ceylon

Elm

Módulos

Interacción

Page 87: (Codemotion 2014) 20 lenguajes en 40 minutos

Cálculo científico y macros

Page 88: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 89: (Codemotion 2014) 20 lenguajes en 40 minutos

Ceylon Módulos

Elm Interacción

Julia Macros

Page 90: (Codemotion 2014) 20 lenguajes en 40 minutos

JAVA C#

Page 91: (Codemotion 2014) 20 lenguajes en 40 minutos

19 / 20

Page 92: (Codemotion 2014) 20 lenguajes en 40 minutos

Lenguaje aprenderás

mañana

Page 93: (Codemotion 2014) 20 lenguajes en 40 minutos

Ok, un último

Page 94: (Codemotion 2014) 20 lenguajes en 40 minutos

PIET

Page 95: (Codemotion 2014) 20 lenguajes en 40 minutos

Gracias!

Page 96: (Codemotion 2014) 20 lenguajes en 40 minutos
Page 97: (Codemotion 2014) 20 lenguajes en 40 minutos

www.github.com/Alotor/20-languages-demos

http://goo.gl/aJXm5F

@alotor@alotor

mobro.co/alotor