87
Aprendendo a Aprender Fabio Akita @akitaonrails

Aprendendo a Aprender - Alagoas Dev Day

Embed Size (px)

DESCRIPTION

"Escrever código não é a mesma coisa que programar, do mesmo jeito que jogar ingredientes numa panela não é culinária". Hoje em dia parece que temos uma montanha de opções, guerras religiosas, opiniões de gurus, astrologia e horóscopo para definir tecnologias. Está errado. É hora de voltarmos às raízes: a "Ciência" da Computação.

Citation preview

Page 1: Aprendendo a Aprender - Alagoas Dev Day

Aprendendo a Aprender

Fabio Akita @akitaonrails

Page 2: Aprendendo a Aprender - Alagoas Dev Day
Page 3: Aprendendo a Aprender - Alagoas Dev Day

http://u.akita.ws/montesclaros

Page 4: Aprendendo a Aprender - Alagoas Dev Day
Page 5: Aprendendo a Aprender - Alagoas Dev Day

?

Page 6: Aprendendo a Aprender - Alagoas Dev Day

+Fácil

Page 7: Aprendendo a Aprender - Alagoas Dev Day

+Elegante

Page 8: Aprendendo a Aprender - Alagoas Dev Day
Page 9: Aprendendo a Aprender - Alagoas Dev Day
Page 10: Aprendendo a Aprender - Alagoas Dev Day
Page 11: Aprendendo a Aprender - Alagoas Dev Day
Page 12: Aprendendo a Aprender - Alagoas Dev Day

Ciência da Computação

Page 13: Aprendendo a Aprender - Alagoas Dev Day
Page 14: Aprendendo a Aprender - Alagoas Dev Day
Page 15: Aprendendo a Aprender - Alagoas Dev Day
Page 16: Aprendendo a Aprender - Alagoas Dev Day

Charles Babbage (1791-1871)

Page 17: Aprendendo a Aprender - Alagoas Dev Day
Page 18: Aprendendo a Aprender - Alagoas Dev Day

John von Neumann (1903 – 1957)

Page 19: Aprendendo a Aprender - Alagoas Dev Day

Alan Mathison Turing (1912 – 1954)

Page 20: Aprendendo a Aprender - Alagoas Dev Day
Page 21: Aprendendo a Aprender - Alagoas Dev Day

“The Imitation Game" (2014 - Benedict Cumberbatch)

Page 22: Aprendendo a Aprender - Alagoas Dev Day
Page 23: Aprendendo a Aprender - Alagoas Dev Day

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 24: Aprendendo a Aprender - Alagoas Dev Day

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 25: Aprendendo a Aprender - Alagoas Dev Day

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 26: Aprendendo a Aprender - Alagoas Dev Day

people = 20puts (people * (people - 1) / 2) # => 190

Page 27: Aprendendo a Aprender - Alagoas Dev Day

require 'benchmark'people = 10_000Benchmark.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) endend

Page 28: Aprendendo a Aprender - Alagoas Dev Day

require 'benchmark'people = 10_000Benchmark.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) endend

Page 29: Aprendendo a Aprender - Alagoas Dev Day

require 'benchmark'people = 10_000Benchmark.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) endend

Page 30: Aprendendo a Aprender - Alagoas Dev Day

require 'benchmark'people = 10_000Benchmark.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) endend

Page 31: Aprendendo a Aprender - Alagoas Dev Day

user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)

Page 32: Aprendendo a Aprender - Alagoas Dev Day

user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)

Page 33: Aprendendo a Aprender - Alagoas Dev Day

user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)

Page 34: Aprendendo a Aprender - Alagoas Dev Day

user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)

Page 35: Aprendendo a Aprender - Alagoas Dev Day

user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)

Page 36: Aprendendo a Aprender - Alagoas Dev Day

user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)

Page 37: Aprendendo a Aprender - Alagoas Dev Day

“The Social Network" (2010)

Page 38: Aprendendo a Aprender - Alagoas Dev Day
Page 39: Aprendendo a Aprender - Alagoas Dev Day
Page 40: Aprendendo a Aprender - Alagoas Dev Day
Page 41: Aprendendo a Aprender - Alagoas Dev Day
Page 42: Aprendendo a Aprender - Alagoas Dev Day
Page 43: Aprendendo a Aprender - Alagoas Dev Day
Page 44: Aprendendo a Aprender - Alagoas Dev Day
Page 45: Aprendendo a Aprender - Alagoas Dev Day
Page 46: Aprendendo a Aprender - Alagoas Dev Day
Page 47: Aprendendo a Aprender - Alagoas Dev Day
Page 48: Aprendendo a Aprender - Alagoas Dev Day
Page 49: Aprendendo a Aprender - Alagoas Dev Day
Page 50: Aprendendo a Aprender - Alagoas Dev Day

http://u.akita.ws/naousesqllike

Page 51: Aprendendo a Aprender - Alagoas Dev Day
Page 52: Aprendendo a Aprender - Alagoas Dev Day
Page 53: Aprendendo a Aprender - Alagoas Dev Day
Page 54: Aprendendo a Aprender - Alagoas Dev Day
Page 55: Aprendendo a Aprender - Alagoas Dev Day
Page 56: Aprendendo a Aprender - Alagoas Dev Day
Page 57: Aprendendo a Aprender - Alagoas Dev Day
Page 58: Aprendendo a Aprender - Alagoas Dev Day

“I made up the term ‘object-oriented’, and I can tell you

I didn’t have C++ in mind”

- Alan Kay

Page 59: Aprendendo a Aprender - Alagoas Dev Day

soma = 1 + 2

Page 60: Aprendendo a Aprender - Alagoas Dev Day

soma = 1 + 2

soma = 1.+(2)

Page 61: Aprendendo a Aprender - Alagoas Dev Day

soma = 1 + 2

soma = 1.+(2)

soma = 1.send(:+, 2)

Page 62: Aprendendo a Aprender - Alagoas Dev Day
Page 63: Aprendendo a Aprender - Alagoas Dev Day

Ole-Johan Dahl e Kristen Nygaard

Page 64: Aprendendo a Aprender - Alagoas Dev Day

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

Page 65: Aprendendo a Aprender - Alagoas Dev Day

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2

Page 66: Aprendendo a Aprender - Alagoas Dev Day

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2gerador_de_primos.resume=> 3

Page 67: Aprendendo a Aprender - Alagoas Dev Day

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2gerador_de_primos.resume=> 3gerador_de_primos.resume=> 5

Page 68: Aprendendo a Aprender - Alagoas Dev Day

Gordon Moore - Intel co-founder

Page 69: Aprendendo a Aprender - Alagoas Dev Day
Page 70: Aprendendo a Aprender - Alagoas Dev Day
Page 71: Aprendendo a Aprender - Alagoas Dev Day

Gordon Bell - DEC early employee

Page 72: Aprendendo a Aprender - Alagoas Dev Day
Page 73: Aprendendo a Aprender - Alagoas Dev Day
Page 74: Aprendendo a Aprender - Alagoas Dev Day
Page 75: Aprendendo a Aprender - Alagoas Dev Day
Page 76: Aprendendo a Aprender - Alagoas Dev Day
Page 77: Aprendendo a Aprender - Alagoas Dev Day

Vaticano 2005

Page 78: Aprendendo a Aprender - Alagoas Dev Day

Vaticano 2013

Page 79: Aprendendo a Aprender - Alagoas Dev Day

Vaticano 2005

Page 80: Aprendendo a Aprender - Alagoas Dev Day

Vaticano 2013

Page 81: Aprendendo a Aprender - Alagoas Dev Day
Page 82: Aprendendo a Aprender - Alagoas Dev Day
Page 83: Aprendendo a Aprender - Alagoas Dev Day

Douglas Engelbart - 1925 a 2/Jul/2013

Page 84: Aprendendo a Aprender - Alagoas Dev Day

Douglas Engelbart - 1925 a 2/Jul/2013

Page 85: Aprendendo a Aprender - Alagoas Dev Day

Pablo Picasso

Bons artistas Copiam Grandes artistas Roubam

Page 86: Aprendendo a Aprender - Alagoas Dev Day

Ciência da Computação

Page 87: Aprendendo a Aprender - Alagoas Dev Day

OBRIGADO!slideshare.net/akitaonrails

codeminer42.com

@akitaonrails