SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Por qué no debemos aprender
  “Lo que las empresas piden”
      Welcome to siglo XXI




       Svet Ivantchev, eFaber
          svet@efaber.net

            1 de abril de 2009,
             Uni Encounter V
Plan

• Los informáticos, el futuro y nuestra
  preparación
• Tecnologías interesantes
• El marcado de trabajo y Lifelong Learning
¡Decidido!
Primero voy e Uni EE
Informáticos

• Ingeniería?
• Arte? Artesanía?
• O son albañiles (aka picateclas)?
• Y si fuera poco ... ¡hay intrusos!
• En realidad ... hay de todo
“Preparar para el
        futuro”
• 1992 (DOS, Clipper, HTM-qué? ...)
• 1996 (Windows 95, HTML, PH-qué?)
• 1999 (Java)
• 2004 (PHP, J2EE, J2ME)
• 2007 (PHP, mySQL, Ruby on-qué?)
Así que ...


• Todo lo que podemos estudiar no vale?
• Líderes vs seguidores
(+ (* 3 (+ (* 2 4) (+ 3 5))) (+ (- 10 7) 6))
¿De quién depende?
¿Qué hacer?


Innovar (con perdón)
Innovación
La aviación civil y el DC-3




•   Hélice de inclinación variable
•   Tren de aterizaje retráctil
•   Tipo de construcción monocoque
•   Motor radial enfriado por aire
•   Alerones
La fotografía




1521    1609           1826
EC2
Ideas

1. Rendimiento “humano”
2. Pensar “al revés”, RPN
3. Erlang y variables que no cambian
4. Paralelización, CUDA
1) Rendimiento “humano”
          La motivación de los agentes: € y :-)

                      1990              2009               $$$
    CPU          80286, 6 MHz       Xeon, 3 GHz          1/5.000
    RAM              128 Kb             4 Gb            1/40.000
    Disco            360 Kb              1T           1/3.000.000
  yo / hora            2€               50 €              25 x

     Un tarea que lleva: 10 h de programación y 10 h de cálculo?
Una herramienta que me hace 10x mas productivo pero es 20x mas lenta?
Ruby


Python, Perl, PHP...
Ejemplo: Ruby OSA
Ej: Ruby OSA




it = OSA.app('iTunes')
OSA.app('iChat').status_message = it.current_track.name
Ej: detalles



• 20.minutes.ago
• 1.gigabyte
• 15.times { ... }
2. HP y RPN
RPN
           1+2=3
    1 + 2 * 5 = 11 ← 1+(2*5)
    1 + 2 * 5 = 15 ← (1+2)*5



    1                          3
1   2           3              5   15


1   2          +           5       *
RPN
            (42 + 16) * (87 - 31)
            ---------------------------------
                          12


• ((42 + 16) * (87 - 31)) / 12 =
• 42 ↵ 16 + 87 ↵ 31 - * 12 /
Quicksort
                      42 16 23 8 15 4
                      4 8 15 16 23 42


function quicksort(array)
     var list less, greater
     if length(array) ≤ 1
         return array
     select and remove a pivot value pivot from array
     for each x in array
         if x ≤ pivot then append x to less
         else append x to greater
     return concatenate(quicksort(less), pivot, quicksort(greater))
Ref: http://es.wikipedia.org/wiki/Quicksort
void quicksort(int* izq, int* der)
/*Se llama con: quicksort(&vector[0],&vector[n-1]);*/
{
! if(der<izq) return;
! int pivot=*izq;
! int* ult=der;
! int* pri=izq;

!   while(izq<der)
!   {
!   ! while(*izq<=pivot && izq<der+1) izq++;
!   ! while(*der>pivot && der>izq-1) der--;
!   ! if(izq<der) swap(izq,der);
!   }
!   swap(pri,der);
!   quicksort(pri,der-1);
!   quicksort(der+1,ult);
}

void swap(int* a, int* b)
{
! int temp=*a;
! *a=*b;
! *b=temp;
}
Erlang

qsort([]) -> [];

qsort([Pivot|Rest]) ->
  qsort([ X || X <- Rest, X < Pivot])
  ++ [Pivot] ++
  qsort([ Y || Y <- Rest, Y >= Pivot]).
Erlang 101
Erlang (BEAM) emulator version 5.6.5...
Eshell V5.6.5 (abort with ^G)

1> 1+6.
7
2> X=3.
3
3> Y=12.
12
4> {P, Q} = {11, 12}.
{11,12}
5> P.
11
6> Y=Q.
12
7> Y=13.
** exception error: no match of right hand side value 13
Erlang (BEAM) emulator version 5.6.5 [source] [smp:2] ...
Eshell V5.6.5 (abort with ^G)

1> L = [ 7, 65, 5, 9, 11 ].
[7,65,5,9,11]
2> [ C | R ] = L.
[7,65,5,9,11]
3> C.
7
4> R.
[65,5,9,11]
tienda.erl:
  -module(tienda).
  -export([precio/1]).

 precio(manzanas)    ->   2.90;
 precio(fresas)      ->   3.50;
 precio(leche)       ->   1.50;
 precio(ordenador)   ->   199.


tienda1.erl:
  -module(tienda1).
  -export([total/1]).

 total([{Que, N}|T]) -> tienda:precio(Que) * N + total(T);
 total([]) -> 0.
Erlang (BEAM) emulator version 5.6.5 [source] [smp:2]
Eshell V5.6.5 (abort with ^G)

1> c(tienda1).
{ok,tienda1}

2> c(tienda1).
{ok,tienda1}

3> L=[{ordenador,1},{manzanas,2},{fresas,3},{leche,1}].
[{ordenador,1},{manzanas,2},{fresas,3},{leche,1}]

4> tienda1:total(L).
216.8
Permutaciones
123    ->    123    132    213   231    312    321

1234 ->

["1234","1243","1324","1342","1423","1432","2134","2143",
 "2314","2341","2413","2431","3124","3142","3214","3241",
 "3412","3421","4123","4132","4213","4231","4312","4321"]




                Para ver todas las permutaciones de X123:

      1- calcular las de de 123: 123, 132, 213, 231, 312, 321

       2- Intercalar X: X123, 1X23, 12X3, 123X, ..., ...
p.erl:
  -module(p).
  -export([perms/1]).

  perms([]) -> [[]];
  perms(L) -> [[H|T] || H <- L, T <- perms(L--[H])].




Erlang (BEAM) emulator version 5.6.5 [source] [smp:2] ...
Eshell V5.6.5 (abort with ^G)

1> c(p).
{ok,p}
2> p:perms("12").
["12","21"]
3> p:perms("123").
["123","132","213","231","312","321"]
“Yo lo que quiero es trabajo”
http://blogs.oreilly.com/iphone/2008/11/turning-ideas-into-application.html
Mike Vanier:
         LFM and FLSP


• languages designed for smart people
• languages designed for the masses
  http://www.paulgraham.com/vanlfsp.html
Java

• "We wanted to build a system that could
  be programmed easily without a lot of
  esoteric training and which leveraged today's
  standard practice."


  http://java.sun.com/docs/overviews/java/java-overview-1.html
Craig McClanahan                 James Duncan
                                        Davidson




   servlet 2.2, 2.3 y JSP 1.1, 1.2
specifications, JavaServer Faces 1.0    Tomcat, Ant
¿Así que aprendo Ruby,
  y Erlang y ya esta?
Q &A

Más contenido relacionado

Similar a Lo que las empresas piden (20)

Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Curso lisp
Curso lispCurso lisp
Curso lisp
 
eduardo hernandez investigacion 1
eduardo hernandez investigacion 1eduardo hernandez investigacion 1
eduardo hernandez investigacion 1
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduino
 
Nosqlcp
NosqlcpNosqlcp
Nosqlcp
 
Nosqlcp
NosqlcpNosqlcp
Nosqlcp
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
 
Paralela6
Paralela6Paralela6
Paralela6
 
Parte03
Parte03Parte03
Parte03
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer Overflow
 
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
 
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PAMicrocontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
 
Variables2
Variables2Variables2
Variables2
 
Fun[ctional] spark with scala
Fun[ctional] spark with scalaFun[ctional] spark with scala
Fun[ctional] spark with scala
 
Meetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scalaMeetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scala
 

Más de Svet Ivantchev

Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).Svet Ivantchev
 
Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)Svet Ivantchev
 
Introducción a Elixir
Introducción a ElixirIntroducción a Elixir
Introducción a ElixirSvet Ivantchev
 
Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016Svet Ivantchev
 
Gaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot ControlGaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot ControlSvet Ivantchev
 
Gaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y FirmataGaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y FirmataSvet Ivantchev
 
Gaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBotGaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBotSvet Ivantchev
 
Gaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al ArduinoGaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al ArduinoSvet Ivantchev
 
Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?Svet Ivantchev
 
How Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human LearningHow Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human LearningSvet Ivantchev
 
Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2Svet Ivantchev
 
Libros electrónicos III
Libros electrónicos IIILibros electrónicos III
Libros electrónicos IIISvet Ivantchev
 
Libros electrónicos II - ePub
Libros electrónicos II - ePubLibros electrónicos II - ePub
Libros electrónicos II - ePubSvet Ivantchev
 
Libros electrónicos I
Libros electrónicos ILibros electrónicos I
Libros electrónicos ISvet Ivantchev
 
Cloud Computing: Just Do It
Cloud Computing: Just Do ItCloud Computing: Just Do It
Cloud Computing: Just Do ItSvet Ivantchev
 
Cloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'TsCloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'TsSvet Ivantchev
 
Los mitos de la innovación
Los mitos de la innovaciónLos mitos de la innovación
Los mitos de la innovaciónSvet Ivantchev
 

Más de Svet Ivantchev (20)

Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).
 
Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)
 
Introducción a Elixir
Introducción a ElixirIntroducción a Elixir
Introducción a Elixir
 
Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016
 
Gaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot ControlGaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot Control
 
Gaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y FirmataGaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y Firmata
 
Gaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBotGaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBot
 
Gaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al ArduinoGaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al Arduino
 
Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?
 
How Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human LearningHow Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human Learning
 
Vienen los Drones!
Vienen los Drones!Vienen los Drones!
Vienen los Drones!
 
Data Science
Data ScienceData Science
Data Science
 
Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2
 
Libros electrónicos III
Libros electrónicos IIILibros electrónicos III
Libros electrónicos III
 
Libros electrónicos II - ePub
Libros electrónicos II - ePubLibros electrónicos II - ePub
Libros electrónicos II - ePub
 
Libros electrónicos I
Libros electrónicos ILibros electrónicos I
Libros electrónicos I
 
Cloud Computing: Just Do It
Cloud Computing: Just Do ItCloud Computing: Just Do It
Cloud Computing: Just Do It
 
Cloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'TsCloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'Ts
 
BigData
BigDataBigData
BigData
 
Los mitos de la innovación
Los mitos de la innovaciónLos mitos de la innovación
Los mitos de la innovación
 

Último

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 

Último (20)

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 

Lo que las empresas piden

  • 1. Por qué no debemos aprender “Lo que las empresas piden” Welcome to siglo XXI Svet Ivantchev, eFaber svet@efaber.net 1 de abril de 2009, Uni Encounter V
  • 2. Plan • Los informáticos, el futuro y nuestra preparación • Tecnologías interesantes • El marcado de trabajo y Lifelong Learning
  • 3.
  • 4.
  • 5.
  • 6.
  • 8.
  • 9. Informáticos • Ingeniería? • Arte? Artesanía? • O son albañiles (aka picateclas)? • Y si fuera poco ... ¡hay intrusos! • En realidad ... hay de todo
  • 10. “Preparar para el futuro” • 1992 (DOS, Clipper, HTM-qué? ...) • 1996 (Windows 95, HTML, PH-qué?) • 1999 (Java) • 2004 (PHP, J2EE, J2ME) • 2007 (PHP, mySQL, Ruby on-qué?)
  • 11. Así que ... • Todo lo que podemos estudiar no vale? • Líderes vs seguidores
  • 15. Innovación La aviación civil y el DC-3 • Hélice de inclinación variable • Tren de aterizaje retráctil • Tipo de construcción monocoque • Motor radial enfriado por aire • Alerones
  • 16. La fotografía 1521 1609 1826
  • 17. EC2
  • 18. Ideas 1. Rendimiento “humano” 2. Pensar “al revés”, RPN 3. Erlang y variables que no cambian 4. Paralelización, CUDA
  • 19. 1) Rendimiento “humano” La motivación de los agentes: € y :-) 1990 2009 $$$ CPU 80286, 6 MHz Xeon, 3 GHz 1/5.000 RAM 128 Kb 4 Gb 1/40.000 Disco 360 Kb 1T 1/3.000.000 yo / hora 2€ 50 € 25 x Un tarea que lleva: 10 h de programación y 10 h de cálculo? Una herramienta que me hace 10x mas productivo pero es 20x mas lenta?
  • 20.
  • 21.
  • 24. Ej: Ruby OSA it = OSA.app('iTunes') OSA.app('iChat').status_message = it.current_track.name
  • 25. Ej: detalles • 20.minutes.ago • 1.gigabyte • 15.times { ... }
  • 26. 2. HP y RPN
  • 27. RPN 1+2=3 1 + 2 * 5 = 11 ← 1+(2*5) 1 + 2 * 5 = 15 ← (1+2)*5 1 3 1 2 3 5 15 1 2 + 5 *
  • 28. RPN (42 + 16) * (87 - 31) --------------------------------- 12 • ((42 + 16) * (87 - 31)) / 12 = • 42 ↵ 16 + 87 ↵ 31 - * 12 /
  • 29. Quicksort 42 16 23 8 15 4 4 8 15 16 23 42 function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot from array for each x in array if x ≤ pivot then append x to less else append x to greater return concatenate(quicksort(less), pivot, quicksort(greater))
  • 31. void quicksort(int* izq, int* der) /*Se llama con: quicksort(&vector[0],&vector[n-1]);*/ { ! if(der<izq) return; ! int pivot=*izq; ! int* ult=der; ! int* pri=izq; ! while(izq<der) ! { ! ! while(*izq<=pivot && izq<der+1) izq++; ! ! while(*der>pivot && der>izq-1) der--; ! ! if(izq<der) swap(izq,der); ! } ! swap(pri,der); ! quicksort(pri,der-1); ! quicksort(der+1,ult); } void swap(int* a, int* b) { ! int temp=*a; ! *a=*b; ! *b=temp; }
  • 32. Erlang qsort([]) -> []; qsort([Pivot|Rest]) -> qsort([ X || X <- Rest, X < Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y >= Pivot]).
  • 33. Erlang 101 Erlang (BEAM) emulator version 5.6.5... Eshell V5.6.5 (abort with ^G) 1> 1+6. 7 2> X=3. 3 3> Y=12. 12 4> {P, Q} = {11, 12}. {11,12} 5> P. 11 6> Y=Q. 12 7> Y=13. ** exception error: no match of right hand side value 13
  • 34. Erlang (BEAM) emulator version 5.6.5 [source] [smp:2] ... Eshell V5.6.5 (abort with ^G) 1> L = [ 7, 65, 5, 9, 11 ]. [7,65,5,9,11] 2> [ C | R ] = L. [7,65,5,9,11] 3> C. 7 4> R. [65,5,9,11]
  • 35. tienda.erl: -module(tienda). -export([precio/1]). precio(manzanas) -> 2.90; precio(fresas) -> 3.50; precio(leche) -> 1.50; precio(ordenador) -> 199. tienda1.erl: -module(tienda1). -export([total/1]). total([{Que, N}|T]) -> tienda:precio(Que) * N + total(T); total([]) -> 0.
  • 36. Erlang (BEAM) emulator version 5.6.5 [source] [smp:2] Eshell V5.6.5 (abort with ^G) 1> c(tienda1). {ok,tienda1} 2> c(tienda1). {ok,tienda1} 3> L=[{ordenador,1},{manzanas,2},{fresas,3},{leche,1}]. [{ordenador,1},{manzanas,2},{fresas,3},{leche,1}] 4> tienda1:total(L). 216.8
  • 37. Permutaciones 123 -> 123 132 213 231 312 321 1234 -> ["1234","1243","1324","1342","1423","1432","2134","2143", "2314","2341","2413","2431","3124","3142","3214","3241", "3412","3421","4123","4132","4213","4231","4312","4321"] Para ver todas las permutaciones de X123: 1- calcular las de de 123: 123, 132, 213, 231, 312, 321 2- Intercalar X: X123, 1X23, 12X3, 123X, ..., ...
  • 38. p.erl: -module(p). -export([perms/1]). perms([]) -> [[]]; perms(L) -> [[H|T] || H <- L, T <- perms(L--[H])]. Erlang (BEAM) emulator version 5.6.5 [source] [smp:2] ... Eshell V5.6.5 (abort with ^G) 1> c(p). {ok,p} 2> p:perms("12"). ["12","21"] 3> p:perms("123"). ["123","132","213","231","312","321"]
  • 39. “Yo lo que quiero es trabajo”
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46. Mike Vanier: LFM and FLSP • languages designed for smart people • languages designed for the masses http://www.paulgraham.com/vanlfsp.html
  • 47. Java • "We wanted to build a system that could be programmed easily without a lot of esoteric training and which leveraged today's standard practice." http://java.sun.com/docs/overviews/java/java-overview-1.html
  • 48. Craig McClanahan James Duncan Davidson servlet 2.2, 2.3 y JSP 1.1, 1.2 specifications, JavaServer Faces 1.0 Tomcat, Ant
  • 49. ¿Así que aprendo Ruby, y Erlang y ya esta?
  • 50.
  • 51. Q &A