Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Aprendendo a
Aprender
Fabio Akita

@akitaonrails
?
+Fácil
+Elegante
Johannes Vermeer
Johannes Vermeer
Johannes Vermeer
Johannes Vermeer
Ciência da
Computação
11

3
11

3

5

6
11

3

5

6

2

12
11

3

5

6

2

12

1

24
11

3

5

6

2

12

1

24

3 + 6 + 24 =

33
57

5
57

5

28

10
57

5

28

10

14

20
57

5

28

10

14

20

7

40
57

5

28

10

14

20

7

40

3

80
57

5

28

10

14

20

7

40

3

80

1

160
57

5

28

10

14

20

7

40

3

80

1

160

5+40+80+160=

285
Longinus
Charles Babbage (1791-1871)
John von Neumann (1903 – 1957)
Alan Mathison Turing (1912 – 1954)
“The Imitation Game" (2014 - Benedict Cumberbatch)
people = 20	
count = 0	
people.times do |person_a|	
people.times do |person_b|	
count += 1 if person_b > person_a	
end	
en...
people = 20	
count = 0	
people.times do |person_a|	
people.times do |person_b|	
count += 1 if person_b > person_a	
end	
en...
people = 20	
count = 0	
people.times do |person_a|	
people.times do |person_b|	
count += 1 if person_b > person_a	
end	
en...
people = 20	
puts (people * (people - 1) / 2) # => 190
require 'benchmark'	
people = 10_000	
Benchmark.bm do |x|	
x.report do	
count = 0	
people.times do |person_a|	
people.time...
require 'benchmark'	
people = 10_000	
Benchmark.bm do |x|	
x.report do	
count = 0	
people.times do |person_a|	
people.time...
require 'benchmark'	
people = 10_000	
Benchmark.bm do |x|	
x.report do	
count = 0	
people.times do |person_a|	
people.time...
require 'benchmark'	
people = 10_000	
Benchmark.bm do |x|	
x.report do	
count = 0	
people.times do |person_a|	
people.time...
user
190	
0.000000
190	
0.000000

system

total

real	

0.000000

0.000000 (

0.000043)	

0.000000

0.000000 (

0.000008)
user
49995000	
6.310000
49995000	
0.000000

system

total

real	

0.000000

6.310000 (

6.354882)	

0.000000

0.000000 (

...
“The Social Network" (2010)
http://u.akita.ws/naousesqllike
“I made up the term
‘object-oriented’,
and I can tell you
I didn’t have
C++ in mind”
- Alan Kay
soma = 1 + 2
soma = 1 + 2
soma = 1.+(2)
soma = 1 + 2
soma = 1.+(2)
soma = 1.send(:+, 2)
Ole-Johan Dahl e Kristen Nygaard
require 'prime'	
gerador_de_primos = Fiber.new do	
numero = 1	
loop do	
Fiber.yield(numero) if numero.prime?	
numero += 1	...
require 'prime'	
gerador_de_primos = Fiber.new do	
numero = 1	
loop do	
Fiber.yield(numero) if numero.prime?	
numero += 1	...
require 'prime'	
gerador_de_primos = Fiber.new do	
numero = 1	
loop do	
Fiber.yield(numero) if numero.prime?	
numero += 1	...
require 'prime'	
gerador_de_primos = Fiber.new do	
numero = 1	
loop do	
Fiber.yield(numero) if numero.prime?	
numero += 1	...
Gordon Moore - Intel co-founder
Gordon Bell - DEC early employee
Vaticano 2005
Vaticano 2013
Vaticano 2005
Vaticano 2013
Richard Stallman
James Gosling
Richard Stallman
James Gosling
Richard Stallman
?
+Promíscuos
+Sádicos
+Críticos
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
www.codeminer42.com
Iniciando
Douglas Engelbart - 1925 a 2/Jul/2013
Douglas Engelbart - 1925 a 2/Jul/2013
Bons artistas Copiam
Grandes artistas Roubam
Pablo Picasso
Ciência da
Computação
OBRIGADO!
slideshare.net/akitaonrails
codeminer42.com
@akitaonrails
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Aprendendo a Aprender - Evento de Verão em Montes claros
Upcoming SlideShare
Loading in …5
×

Aprendendo a Aprender - Evento de Verão em Montes claros

2,170 views

Published on

Esta não deixa de ser uma apresentação um pouco sobre o que é ser um Railer. Mas também é uma discussão sobre a Ciência da Computação, onde estamos, onde estivemos e para onde podemos ir. Dedicado a alunos de cursos de Computação.

Published in: Technology

Aprendendo a Aprender - Evento de Verão em Montes claros

  1. 1. Aprendendo a Aprender Fabio Akita @akitaonrails
  2. 2. ?
  3. 3. +Fácil
  4. 4. +Elegante
  5. 5. Johannes Vermeer
  6. 6. Johannes Vermeer
  7. 7. Johannes Vermeer
  8. 8. Johannes Vermeer
  9. 9. Ciência da Computação
  10. 10. 11 3
  11. 11. 11 3 5 6
  12. 12. 11 3 5 6 2 12
  13. 13. 11 3 5 6 2 12 1 24
  14. 14. 11 3 5 6 2 12 1 24 3 + 6 + 24 = 33
  15. 15. 57 5
  16. 16. 57 5 28 10
  17. 17. 57 5 28 10 14 20
  18. 18. 57 5 28 10 14 20 7 40
  19. 19. 57 5 28 10 14 20 7 40 3 80
  20. 20. 57 5 28 10 14 20 7 40 3 80 1 160
  21. 21. 57 5 28 10 14 20 7 40 3 80 1 160 5+40+80+160= 285
  22. 22. Longinus
  23. 23. Charles Babbage (1791-1871)
  24. 24. John von Neumann (1903 – 1957)
  25. 25. Alan Mathison Turing (1912 – 1954)
  26. 26. “The Imitation Game" (2014 - Benedict Cumberbatch)
  27. 27. people = 20 count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count # => 190
  28. 28. people = 20 count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count # => 190
  29. 29. people = 20 count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count # => 190
  30. 30. people = 20 puts (people * (people - 1) / 2) # => 190
  31. 31. require 'benchmark' people = 10_000 Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) end end
  32. 32. require 'benchmark' people = 10_000 Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) end end
  33. 33. require 'benchmark' people = 10_000 Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) end end
  34. 34. require 'benchmark' people = 10_000 Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) end end
  35. 35. user 190 0.000000 190 0.000000 system total real 0.000000 0.000000 ( 0.000043) 0.000000 0.000000 ( 0.000008)
  36. 36. user 49995000 6.310000 49995000 0.000000 system total real 0.000000 6.310000 ( 6.354882) 0.000000 0.000000 ( 0.000011)
  37. 37. “The Social Network" (2010)
  38. 38. http://u.akita.ws/naousesqllike
  39. 39. “I made up the term ‘object-oriented’, and I can tell you I didn’t have C++ in mind” - Alan Kay
  40. 40. soma = 1 + 2
  41. 41. soma = 1 + 2 soma = 1.+(2)
  42. 42. soma = 1 + 2 soma = 1.+(2) soma = 1.send(:+, 2)
  43. 43. Ole-Johan Dahl e Kristen Nygaard
  44. 44. require 'prime' gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 end end
  45. 45. require 'prime' gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 end end gerador_de_primos.resume => 2
  46. 46. require 'prime' gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 end end gerador_de_primos.resume => 2 gerador_de_primos.resume => 3
  47. 47. require 'prime' gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 end end gerador_de_primos.resume => 2 gerador_de_primos.resume => 3 gerador_de_primos.resume => 5
  48. 48. Gordon Moore - Intel co-founder
  49. 49. Gordon Bell - DEC early employee
  50. 50. Vaticano 2005
  51. 51. Vaticano 2013
  52. 52. Vaticano 2005
  53. 53. Vaticano 2013
  54. 54. Richard Stallman
  55. 55. James Gosling Richard Stallman
  56. 56. James Gosling Richard Stallman
  57. 57. ?
  58. 58. +Promíscuos
  59. 59. +Sádicos
  60. 60. +Críticos
  61. 61. www.codeminer42.com
  62. 62. www.codeminer42.com
  63. 63. www.codeminer42.com
  64. 64. www.codeminer42.com
  65. 65. www.codeminer42.com
  66. 66. www.codeminer42.com
  67. 67. www.codeminer42.com
  68. 68. www.codeminer42.com
  69. 69. www.codeminer42.com
  70. 70. www.codeminer42.com
  71. 71. www.codeminer42.com
  72. 72. www.codeminer42.com
  73. 73. Iniciando
  74. 74. Douglas Engelbart - 1925 a 2/Jul/2013
  75. 75. Douglas Engelbart - 1925 a 2/Jul/2013
  76. 76. Bons artistas Copiam Grandes artistas Roubam
  77. 77. Pablo Picasso
  78. 78. Ciência da Computação
  79. 79. OBRIGADO! slideshare.net/akitaonrails codeminer42.com @akitaonrails

×