SlideShare una empresa de Scribd logo
Por qué Cervantes
   programaba mejor que tú

Javier Acero
 @jacegu
 http://javieracero.com
1999
Code
Quality!!
Code       Business
Quality!!    Value!!
2000
2001
2011
The Land That Scrum Forgot
               Robert C. Martin
                    NDC 2011
Por qué Cervantes
            Cervantes
programaba mejor que tú
Por qué Cervantes
            Cervantes
programaba mejor que tú
@author
escritura
“Comunicar a alguien por escrito algo”
lenguaje
“Conjunto de reglas y signos que
permiten la comunicación con un
           ordenador”
011000100110010101110011
011000010010000001101101
011010010010000001100010
011100100110100101101100
011011000110000101101110
011101000110010100100000
011000110111010101101100
011011110010000001101101
011001010111010011000011
101000010110110001101001
0110001101101111
011000100110010101110011
          011000010010000001101101
          011010010010000001100010
          011100100110100101101100
          011011000110000101101110
          011101000110010100100000
          011000110111010101101100
          011011110010000001101101
          011001010111010011000011
          101000010110110001101001
          0110001101101111




besa mi brillante culo metálico
evolución de los
   lenguajes
evolución de los
   lenguajes
evolución de los
      lenguajes



potencia
evolución de los
      lenguajes



potencia     legibilidad
segment .text
  global two_complement
two_complement:
  enter 0,0
  pusha
  mov eax, [ebp+12]
  neg eax
  mov [ebp+8], eax
  popa
  leave
  ret
private void updateComputer(Node n,
                             Map<String,Computer> byNameMap,
                             Set<Computer> used) {
   Computer c;
   c = byNameMap.get(n.getNodeName());
    if (c!=null) {
      c.setNode(n);
    } else {
      if(n.getNumExecutors()>0) {
         computers.put(n,c=n.createComputer());
         if (!n.holdOffLaunchUntilSave && AUTOMATIC_SLAVE_LAUNCH) {
            RetentionStrategy retentionStrategy =
               c.getRetentionStrategy();
            if (retentionStrategy != null) {
               retentionStrategy.start(c);
           } else {
               c.connect(true);
           }
         }
      }
   }
   used.add(c);
}
100% humanos
¿realmente
programamos para las
     máquinas?
W.T.F.
“aquel que agrada a la
 persona que lo lee”
wehrwirtschaftsführer
rindfleischetikettierun
gsüberwachungsaufgab
 enübertragungsgesetz
subjetiva
principios
Information hiding     Open Closed Principle
       Uniform Access          Duplication
   KISS      Single Responsibility Principle
  Simple Design
                    GRASP         Expresiveness
   Law of Demeter     Auto-documentation
Interface Segregation Principle   Design Patterns
      YAGNI     Liskov Substitution Principle
                         Naming
Dependencies DRY                     Simmetry
                      Least Surprise
 Dependency Inversion Principle     Cohesion
“aquel que cumple
todos los principios”
W.T.F.
private void updateComputer(Node n,
                             Map<String,Computer> byNameMap,
                             Set<Computer> used) {
   Computer c;
   c = byNameMap.get(n.getNodeName());
    if (c!=null) {
      c.setNode(n);
    } else {
      if(n.getNumExecutors()>0) {
         computers.put(n,c=n.createComputer());
         if (!n.holdOffLaunchUntilSave && AUTOMATIC_SLAVE_LAUNCH) {
            RetentionStrategy retentionStrategy =
               c.getRetentionStrategy();
            if (retentionStrategy != null) {
               retentionStrategy.start(c);
           } else {
               c.connect(true);
           }
         }
      }
   }
   used.add(c);
}
good code
You know you are working on good code when
each routine you read turns out to be pretty
much what you expected.
You can call it beautiful when the code also
makes it look like the language was made for
the problem.
Good code is simple and direct. Good code reads
like well-written prose.
Good code never obscures the designer’s intent
but rather is full of crisp abstractions and
straightforward lines of control.
legibilidad
la mejor forma de escribir
buen código es centrarse en la
         legibilidad*


*creencia personal
defectos
defectos
defectos

1. Acoplamiento
defectos

1. Acoplamiento
2. Duplicación
defectos

1. Acoplamiento
2. Duplicación
3. Ausencia de encapsulación
defectos

1. Acoplamiento
2. Duplicación
3. Ausencia de encapsulación
4. Complejidad innecesaria
for (final ConfiguracionCanal c : mensaje.
  getSolicitud().
  getServicio().
  getConfiguracionesCanal()) {
    if (mensaje.getCanal().equals(c.
        getCanal())) {
      configuracion = c;
    }
}
mensaje.configuracionDeCanal()
correspondiente a
Solicitud                         Mensaje


  de



                 a través de
Servicio                          Canal



            ConfiguracionCanal
subliminal slide

getters & setters
       are
       evil
las 4 cualidades del
   diseño simple
las 4 cualidades del
   diseño simple
1. Pasa todos los tests
2. Minimiza la duplicación
3. Maximiza la claridad
4. Tiene los mínimos elementos
oh wait...
¿y los tests?
def d(b)eval"def #{b}
end"end;d't(m,&a)puts"e[0;3#{a.call
? "2":"1"}m#{m}
e[0m"';d'a(e)e';d'ae(e,d)e==d';d'ai(
e,a)a.include? e'
def d(b)
  eval"def #{b} end"
end

d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'

d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
t '(red):   testing that assert
equals fails' do
  ae(1,2)
end

t '(green): testing that assert
equals works' do
  ae(2,2)
end
twittest
the ruby test framework
  that fits in a tweet!!
las 4 cualidades del
   diseño simple
las 4 cualidades del
   diseño simple
1. Pasa todos los tests
las 4 cualidades del
   diseño simple
1. Pasa todos los tests
2. Minimiza la duplicación
las 4 cualidades del
   diseño simple
1. Pasa todos los tests
2. Minimiza la duplicación
3. Maximiza la claridad
las 4 cualidades del
   diseño simple
1. Pasa todos los tests
2. Minimiza la duplicación
3. Maximiza la claridad
4. Tiene los mínimos elementos
todo repercute en la
     legibilidad
def d(b)
  eval"def #{b} end"
end

d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'

d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
def d(b)
  eval"def #{b} end"
end

d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'

d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
def d(b)
  eval"def #{b} end"
end

d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'

d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
def assert(value)
  return value == true
end

def assert_equal(value, expected)
  return value == expected
end

def assert_includes(value, container)
  return container.include? value
end
def d(b)
  eval"def #{b} end"
end


d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'


d 'a(e)e'

d 'ae(e,d)e==d'

d 'ai(e,a)a.include? e'
d 't(m,&a)puts"e[0;3#{a.call ?
"2":"1"}m#{m}e[0m"'
def test(message, &assert)
  puts "e[0;3#{assert.call ?
"2":"1"}m#{message}e[0m"
end
¿legible?
legibilidad sí,
    pero...
  ¿cuánta?
si el test pasa
  imprimir en verde el nombre del test
sino
  imprimir en rojo el nombre del test
def test(test_name, &test)

 if test.passes?
   print_in GREEN, test_name
 else
   print_in   RED, test_name
 end

end
el buen código es...
“aquel que hace obvio
 lo que está pasando”
Good code always looks like it was written
by someone who cares.
Good code is code left by someone who
cares deeply about the craft.
muchas gracias
credits
Kent Beck: http://www.flickr.com/photos/26420411@N02/3062930943/
Opposing Armies: http://www.flickr.com/photos/ahounslea/4873239128
Ward Cunningham: http://www.flickr.com/photos/joshb/2247556208/
Uncle Bob: http://www.flickr.com/photos/koss/3250213001/
Balance: http://www.flickr.com/photos/classblog/5136926303/
Futurama pictures and WTFs/minute draws were found on google
searches.
Hand drawings of Grady Booch, Ward Cunningham and Michael
Feathers were taken from the Clean Code ebook.

Más contenido relacionado

La actualidad más candente

Acmar trucos de visual basic(2)
Acmar   trucos de visual basic(2)Acmar   trucos de visual basic(2)
Acmar trucos de visual basic(2)
Ivan Ramirez Iglesias
 
Java
JavaJava
Java
jbersosa
 
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Ameth1991
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
Miguel Angel Peña
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NETbrobelo
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011mario_10
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
Pablo Haya
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
David Puga
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoVictor Morales
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011mario_10
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++mario_10
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
Jonathan Israel
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.jubacalo
 
Programa con for.if word
Programa con for.if wordPrograma con for.if word
Programa con for.if word
JhonnyGR1
 

La actualidad más candente (17)

Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 
Acmar trucos de visual basic(2)
Acmar   trucos de visual basic(2)Acmar   trucos de visual basic(2)
Acmar trucos de visual basic(2)
 
Java
JavaJava
Java
 
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.
 
Programa con for.if word
Programa con for.if wordPrograma con for.if word
Programa con for.if word
 

Destacado

El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkRichard Tuin
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TIGestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
OVERTI
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
Jose Juan R. Zuñiga
 
M1 tema 1 deteccion de incendios quimica del fuego
M1 tema 1   deteccion de incendios quimica del fuegoM1 tema 1   deteccion de incendios quimica del fuego
M1 tema 1 deteccion de incendios quimica del fuegojmsarmientom
 
BDD + PHP = behat!
BDD + PHP = behat!BDD + PHP = behat!
BDD + PHP = behat!
Vitor Mattos
 
Especificación medianteejemplos
Especificación medianteejemplosEspecificación medianteejemplos
Especificación medianteejemplos
Comunidad Ágil de Venezuela
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
Belatrix Software
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Cyrille Martraire
 
FELIZ NAVIDAD
FELIZ NAVIDADFELIZ NAVIDAD
FELIZ NAVIDAD
Ulises Celi
 
Mujer en el siglo XX
Mujer en el siglo XXMujer en el siglo XX
Mujer en el siglo XXkatesamc
 
Reporte Final De Investigación
Reporte Final De InvestigaciónReporte Final De Investigación
Reporte Final De InvestigaciónGerardo Corpus
 
Progreso de la armonizacion del dividendo digital
Progreso de la armonizacion del dividendo digitalProgreso de la armonizacion del dividendo digital
Progreso de la armonizacion del dividendo digitalMinisterio TIC Colombia
 
La brujula julio 2013
La brujula julio 2013La brujula julio 2013
La brujula julio 2013
Edwin Santiago
 
Polo A Tierra Sena
Polo A Tierra SenaPolo A Tierra Sena
Polo A Tierra Senatefadianis
 
MOTIVACION PERSONAL
MOTIVACION PERSONALMOTIVACION PERSONAL
MOTIVACION PERSONAL
Ulises Celi
 

Destacado (20)

El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
 
Documentación
DocumentaciónDocumentación
Documentación
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TIGestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
M1 tema 1 deteccion de incendios quimica del fuego
M1 tema 1   deteccion de incendios quimica del fuegoM1 tema 1   deteccion de incendios quimica del fuego
M1 tema 1 deteccion de incendios quimica del fuego
 
BDD + PHP = behat!
BDD + PHP = behat!BDD + PHP = behat!
BDD + PHP = behat!
 
Especificación medianteejemplos
Especificación medianteejemplosEspecificación medianteejemplos
Especificación medianteejemplos
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
 
FELIZ NAVIDAD
FELIZ NAVIDADFELIZ NAVIDAD
FELIZ NAVIDAD
 
Programa actividades etse
Programa actividades etsePrograma actividades etse
Programa actividades etse
 
Mujer en el siglo XX
Mujer en el siglo XXMujer en el siglo XX
Mujer en el siglo XX
 
Reporte Final De Investigación
Reporte Final De InvestigaciónReporte Final De Investigación
Reporte Final De Investigación
 
Progreso de la armonizacion del dividendo digital
Progreso de la armonizacion del dividendo digitalProgreso de la armonizacion del dividendo digital
Progreso de la armonizacion del dividendo digital
 
La brujula julio 2013
La brujula julio 2013La brujula julio 2013
La brujula julio 2013
 
Polo A Tierra Sena
Polo A Tierra SenaPolo A Tierra Sena
Polo A Tierra Sena
 
Practica 8
Practica 8Practica 8
Practica 8
 
MOTIVACION PERSONAL
MOTIVACION PERSONALMOTIVACION PERSONAL
MOTIVACION PERSONAL
 
Test proyectivos
Test proyectivosTest proyectivos
Test proyectivos
 

Similar a Por qué Cervantes programaba mejor que tú

Cesar lenguaje c_
Cesar lenguaje c_Cesar lenguaje c_
Cesar lenguaje c_
estefania loredo cortes
 
Taller 3
Taller 3Taller 3
Taller 3
Jonathan Castro
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
hack3 Org
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
Jose Luis Crespo
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencialrcarrerah
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2
agustin rojas
 
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
Jorge Iván Alba Hernández
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)Videoconferencias UTPL
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Rodrigo Branas
 
Revista digital
Revista digitalRevista digital
Revista digital
maricela1987
 
Seguridad En Programación
Seguridad En ProgramaciónSeguridad En Programación
Seguridad En Programación
vladimir calderon
 
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Agile Spain
 
Por que java
Por que javaPor que java
Por que javareivax
 
1 unidad metodos numericos
1 unidad metodos numericos1 unidad metodos numericos
1 unidad metodos numericos
TelmitHa Lopez Lopez
 
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
edwincarlos11
 
Java problems
Java problemsJava problems
Java problems
Noe Lopez
 

Similar a Por qué Cervantes programaba mejor que tú (20)

Lenguaje c neo
Lenguaje c neoLenguaje c neo
Lenguaje c neo
 
Cesar lenguaje c_
Cesar lenguaje c_Cesar lenguaje c_
Cesar lenguaje c_
 
Taller 3
Taller 3Taller 3
Taller 3
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2
 
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Manual.es
Manual.esManual.es
Manual.es
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Seguridad En Programación
Seguridad En ProgramaciónSeguridad En Programación
Seguridad En Programación
 
Secure txscalacsharp
Secure txscalacsharpSecure txscalacsharp
Secure txscalacsharp
 
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
 
Por que java
Por que javaPor que java
Por que java
 
1 unidad metodos numericos
1 unidad metodos numericos1 unidad metodos numericos
1 unidad metodos numericos
 
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
 
Java problems
Java problemsJava problems
Java problems
 

Último

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 

Último (20)

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 

Por qué Cervantes programaba mejor que tú