SlideShare una empresa de Scribd logo
20 Lenguajes 
40 Minutos 
Alonso Torres @alotor
Alonso Torres 
@alotor @alotor 
mobro.co/alotor
Programar 
es 
ARTE
Programar 
es 
ARTE ¿ ?
CREATIVA
(Codemotion 2014) 20 lenguajes en 40 minutos
(Codemotion 2014) 20 lenguajes en 40 minutos
No pintas con un 
solo COLOR
JAVA C#
JAVA C# 
ORIENTADO 
OBJETOS
Orientado a Objetos 
Todo es un objeto 
El programa se construye a base de la 
interacción entre los objetos 
Favorece comprender la estructura
JAVA C# 
ORIENTADO 
OBJETOS 
TIPOS 
ESTÁTICOS
Tipos estáticos 
El compilador comprueba los tipos 
Información previa a la ejecución
JAVA C# 
ORIENTADO 
OBJETOS 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL
Máquina virtual 
Compilación a un lenguaje intermedio 
Gestión de memoria automática 
Abstrae de los detalles de la plataforma
JAVA C# 
ORIENTADO 
OBJETOS 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL SIGLO XX
Lenguajes del Siglo XX 
Java fue creado en 1995 
C# en el año 2000
JAVA C# 
ORIENTADO 
OBJETOS 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL SIGLO XX
¿Por qué están 
tan extendidos?
Lenguajes 
FIABLES
● Estructura 
● Tipos 
● Documentación 
● Comunidad 
● Frameworks estables
¿Quieres 
salir 
de tu 
zona de 
confort?
Pintemos con 
otros COLORES
JAVA C# 
ORIENTADO 
OBJETOS 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL SIGLO XX
ORIENTADO 
OBJETOS 
PROGRAMACIÓN 
FUNCIONAL 
JAVA C# 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL SIGLO XX
Objetos 
Interacción entre objetos 
Funcional 
Interacción entre funciones 
Modificamos objetos Intercambiar datos nuevos 
Datos dentro objetos Guardamos datos o 
funciones
¿Funcional? 
¿Objetos? 
¿Qué elegir?
Ambos 
es una opción
(Codemotion 2014) 20 lenguajes en 40 minutos
Scala Transición
Los tipos tienen 
mucha importancia
(Codemotion 2014) 20 lenguajes en 40 minutos
Scala Transición 
F# Tipos
Pureza funcional, 
Inmutabilidad
(Codemotion 2014) 20 lenguajes en 40 minutos
Scala Transición 
F# Tipos 
Haskell Pureza
Lenguajes orientados a 
concurrencia
(Codemotion 2014) 20 lenguajes en 40 minutos
Scala Transición 
F# 
Haskell Pureza 
Erlang 
Tipos 
Concurrencia
Aunque también 
podemos ser flexibles
(Codemotion 2014) 20 lenguajes en 40 minutos
Scala Transición 
F# 
Haskell Pureza 
Erlang 
Tipos 
Concurrencia 
Clojure Flexibilidad
JAVA C# 
TIPOS 
ESTÁTICOS 
MÁQUINA 
VIRTUAL SIGLO XX
JAVA C# 
TIPOS 
ESTÁTICOS 
TIPOS 
DINÁMICOS 
MÁQUINA 
VIRTUAL SIGLO XX
Estático 
Tipos en compilación 
Dinámico 
Tipos en ejecución 
Seguridad Flexibilidad 
Código intermedio Interpretado
¿Cómo empezar a dar el 
salto dinámico?
Soporte los dos estilos
(Codemotion 2014) 20 lenguajes en 40 minutos
Groovy Transición
¿Cuál es mejor para 
aprender?
(Codemotion 2014) 20 lenguajes en 40 minutos
Groovy Transición 
Python Filosofía
Explícito > implícito
¿Y si prefiero 
implícito?
(Codemotion 2014) 20 lenguajes en 40 minutos
Groovy Transición 
Python Filosofía 
Ruby Flexibilidad
Nos permiten una alta 
velocidad de desarrollo
(Codemotion 2014) 20 lenguajes en 40 minutos
Groovy Transición 
Python Filosofía 
Ruby Flexibilidad 
PHP Velocidad
Se integran bien con 
otros sistemas
(Codemotion 2014) 20 lenguajes en 40 minutos
Groovy Transición 
Python Filosofía 
Ruby Flexibilidad 
PHP Velocidad 
Javascript Integración
JAVA C# 
MÁQUINA 
VIRTUAL SIGLO XX
JAVA C# 
MÁQUINA SIGLO XX 
VIRTUAL 
SISTEMA
Lenguajes de sistema 
- No ponen barreras entre el programador y 
el sistema operativo 
- Manejo de memoria a “bajo nivel” 
- Gran potencia
Un gran poder conlleva 
una gran 
responsabilidad
(Codemotion 2014) 20 lenguajes en 40 minutos
C Potencia
Añadiendo estructura
(Codemotion 2014) 20 lenguajes en 40 minutos
C 
C++ 
Potencia 
Estructura
Concurrencia
(Codemotion 2014) 20 lenguajes en 40 minutos
C 
C++ 
Go 
Potencia 
Estructura 
Concurrencia
Gestión de 
memoria por tipos
(Codemotion 2014) 20 lenguajes en 40 minutos
C Potencia 
C++ 
Go Concurrencia 
Rust 
Estructura 
Tipos de memoria
JAVA C# 
SIGLO XX
JAVA C# 
SIGLO XX 
SIGLO XXI
La juventud 
llega pisando fuerte
Modularidad 
integrada 
en el lenguaje
(Codemotion 2014) 20 lenguajes en 40 minutos
Ceylon Módulos
Lenguajes funcionales 
e interactivos
(Codemotion 2014) 20 lenguajes en 40 minutos
Ceylon 
Elm 
Módulos 
Interacción
Cálculo 
científico y macros
(Codemotion 2014) 20 lenguajes en 40 minutos
Ceylon Módulos 
Elm Interacción 
Julia Macros
JAVA C#
19 / 20
Lenguaje 
aprenderás 
mañana
Ok, un último
PIET
Gracias!
(Codemotion 2014) 20 lenguajes en 40 minutos
www.github.com/Alotor/20-languages-demos 
http://goo.gl/aJXm5F 
@alotor @alotor 
mobro.co/alotor

Más contenido relacionado

PDF
Proyecto Hola Mundo java.Programación.
DOCX
PDF
Afilando la Katana: Qué debe saber un ninja programador (en 2013)
PDF
Presentación estetoscopio
PDF
Características Java
KEY
Webminar: Java como una plataforma Poliglota
Proyecto Hola Mundo java.Programación.
Afilando la Katana: Qué debe saber un ninja programador (en 2013)
Presentación estetoscopio
Características Java
Webminar: Java como una plataforma Poliglota

Destacado (9)

PDF
Understanding GORM (Greach 2014)
PDF
(Greach 2015) Dsl'ing your Groovy
PDF
[Greach 2016] Down The RabbitMQ Hole
PDF
(Codemotion 2014) JVM GC: WTF?!
PDF
(Greach 2015) Decathlon Sport Meeting
PDF
[Jbcn 2016] Garbage Collectors WTF!?
PPTX
Estudio comparativo de PHP, ASP.NET Y JAVA
PPTX
Lenguaje de programación JAVA
PDF
[Greach 17] make concurrency groovy again
Understanding GORM (Greach 2014)
(Greach 2015) Dsl'ing your Groovy
[Greach 2016] Down The RabbitMQ Hole
(Codemotion 2014) JVM GC: WTF?!
(Greach 2015) Decathlon Sport Meeting
[Jbcn 2016] Garbage Collectors WTF!?
Estudio comparativo de PHP, ASP.NET Y JAVA
Lenguaje de programación JAVA
[Greach 17] make concurrency groovy again
Publicidad

Similar a (Codemotion 2014) 20 lenguajes en 40 minutos (20)

PDF
Características de los 10 lenguajes de programación
KEY
Java poliglota
PDF
10 lenguajes de programacion
DOCX
Qué es el lenguaje c
PDF
Reportede c#(sharp)(hugo balmore vallejo diaz)
PPTX
Vista aérea de los lenguajes de programación
PPTX
Taller saberes previos
PDF
Introduccion a Visual C Sharp
PPT
Presentación lenguajes de programación
PPT
Presentación lenguajes de programación
PPT
Presentación lenguajes de programación
PDF
Caracteristicas mas especificas de algunos lenguajes de programacion
DOCX
C# documento de texto junto con mapa conceptual
DOCX
Que es visual c# eduardo sorto
PPTX
5 diapositivas aleguerra1basico
PDF
Principales características de 10 lenguajes de programacion
PPTX
My programming language 04 05-2014
Características de los 10 lenguajes de programación
Java poliglota
10 lenguajes de programacion
Qué es el lenguaje c
Reportede c#(sharp)(hugo balmore vallejo diaz)
Vista aérea de los lenguajes de programación
Taller saberes previos
Introduccion a Visual C Sharp
Presentación lenguajes de programación
Presentación lenguajes de programación
Presentación lenguajes de programación
Caracteristicas mas especificas de algunos lenguajes de programacion
C# documento de texto junto con mapa conceptual
Que es visual c# eduardo sorto
5 diapositivas aleguerra1basico
Principales características de 10 lenguajes de programacion
My programming language 04 05-2014
Publicidad

Último (20)

PDF
Temas y subtemas de las fichas 1 y 2.pdf
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PDF
taller de informática - LEY DE OHM
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PPT
Que son las redes de computadores y sus partes
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Administración se srevidores de apliaciones
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
Presentación de Redes de Datos modelo osi
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
Conceptos básicos de programación tecnología.pdf
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
Temas y subtemas de las fichas 1 y 2.pdf
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Trabajo colaborativo Grupo #2.docxmmuhhlk
taller de informática - LEY DE OHM
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Yogurt de tocosh (1).pptx preparacion receta
Que son las redes de computadores y sus partes
Estrategia de apoyo tecnología miguel angel solis
Administración se srevidores de apliaciones
Presentación PASANTIAS AuditorioOO..pptx
SAP Transportation Management para LSP, TM140 Col18
Presentación de Redes de Datos modelo osi
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
diagrama de pareto.pdf valerie giraldo diaz
Conceptos básicos de programación tecnología.pdf
Las nuevas tecnologías en la salud - enfermería técnica.

(Codemotion 2014) 20 lenguajes en 40 minutos