Upload
fabio-akita
View
1.640
Download
0
Tags:
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
Aprendendo a Aprender
Fabio Akita @akitaonrails
http://u.akita.ws/montesclaros
?
+Fácil
+Elegante
Ciência da Computação
Charles Babbage (1791-1871)
John von Neumann (1903 – 1957)
Alan Mathison Turing (1912 – 1954)
“The Imitation Game" (2014 - Benedict Cumberbatch)
people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190
people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190
people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190
people = 20puts (people * (people - 1) / 2) # => 190
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
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
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
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
user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)
user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)
user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)
user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)
user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)
user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)
“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 endend
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
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
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
Gordon Moore - Intel co-founder
Gordon Bell - DEC early employee
Vaticano 2005
Vaticano 2013
Vaticano 2005
Vaticano 2013
Douglas Engelbart - 1925 a 2/Jul/2013
Douglas Engelbart - 1925 a 2/Jul/2013
Pablo Picasso
Bons artistas Copiam Grandes artistas Roubam
Ciência da Computação
OBRIGADO!slideshare.net/akitaonrails
codeminer42.com
@akitaonrails