Bogosort [CfC]

1,617 views
1,436 views

Published on

Primeiro draft do meu talk sobre Bogosort que vai rolar no FISL11

Published in: Entertainment & Humor
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
1,617
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
6
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Bogosort [CfC]

  1. 1. Bogosort , Klingon Code, XGH, ... Henr“ikke” Pereira @ikkebr
  2. 2. @ikkebr • Bacharel em SI – UNIFRA • Mestrando em Computação – UFSM • Python • PHP • JAVA • Haskell
  3. 3. Essa Palestra • Não é: – Para ser levada a sério • Só algumas partes – Para os fracos de coração – Para quem se ofende facilmente – Para crianças menores de 18 anos
  4. 4. Roteiro • BogoSort • Klingon Code • eXtreme Go Horse
  5. 5. NinjaSort
  6. 6. MonkeySort
  7. 7. EstouComSort
  8. 8. Fluxograma
  9. 9. “Stop the bullshit and show me the code.” Anônimo
  10. 10. Bogosort em Java
  11. 11. Bogosort em Scheme
  12. 12. "Qualquer idiota é capaz de escrever código que um computador possa entender. Bons programadores escrevem código que seres humanos podem entender." Martin Fowler
  13. 13. Bogosort em Ruby
  14. 14. Bogosort em Python
  15. 15. Quando usar? • Quando um código roda rápido demais. • Quando se deseja mostrar a um cliente como ficaria o programa se ele fosse feito em <insira outra linguagem aqui>. • Em apresentações como essa.
  16. 16. Desempenho Matador!
  17. 17. Análise (número de Shuffles) 4000 3500 3000 2500 Mínimo 2000 Média 1500 Máximo 1000 500 0 3 elementos 4 elementos 5 elementos 6 elementos
  18. 18. + Análise (número de Shuffles) 35000 30000 25000 20000 Mínimo 15000 Média Máximo 10000 5000 0 3 4 5 6 7
  19. 19. + Análise (número de Shuffles) 1400000 1200000 1000000 800000 Mínimo 600000 Média Máximo 400000 200000 0 3 4 5 6 7 8 9
  20. 20. 10 elementos! 7000000 6000000 5000000 4000000 Mínimo 3000000 Média Máximo 2000000 1000000 0 3 4 5 6 7 8 9 10
  21. 21. Extrapolando um pouco
  22. 22. “A maioria do software hoje é como uma pirâmide egípcia com milhões de blocos empilhados um em cima do outro, sem integridade estrutural, apenas feitos por força bruta e centenas de escravos.“ Alan Kay
  23. 23. 5 Verdades sobre os Klingons Um verdadeiro guerreiro Klingon nunca comenta seu código.
  24. 24. 5 Verdades sobre os Klingons Programas Klingons não possuem parâmetros, apenas argumentos. E eles devem ganhar todas as batalhas.
  25. 25. 5 Verdades sobre os Klingons Específicações são para os fracos e para os tímidos.
  26. 26. 5 Verdades sobre os Klingons Klingons não fazem “releases”. Eles deixam que o código crie vida própria e escape para aterrorizar os usuários.
  27. 27. 5 Verdades sobre os Klingons Um programador Klingon se sente extremamente magoado se você reportar um bug no software. Ele só conseguirá largar essa mágoa quando matar toda a sua família.
  28. 28. 5 Verdades sobre os Klingons Programadores Klingon não sabem contar e também não acreditam no Bugfoot.
  29. 29. “Os melhores programadores escrevem apenas programas fáceis. " Michael A. Jackson
  30. 30. Michael Anthony Jackson - Principles of Program Design - System Development - Software Requirements & Specifications - Business Process Implementation http://mcs.open.ac.uk/mj665/
  31. 31. “O problema com programadores é que você nunca pode dizer o que um programador está fazendo até que seja tarde demais.“ Seymour Cray
  32. 32. eXtreme Go Horse (extreme) http://gohorseprocess.wordpress.com/
  33. 33. Pensou, não é XGHx.
  34. 34. Não existe refactoring. Apenas rework.
  35. 35. Se tiver funcionando, não rela a mão.
  36. 36. Testes são pros fracos.
  37. 37. Fear Driven Development
  38. 38. “Os primeiros 90% do código representam os primeiros 90% do tempo de desenvolvimento. Os 10% restantes representam os outros 90% do tempo de desenvolvimento.” Tom Cargill
  39. 39. É o fim! http://twitter.com/ikkebr ikke@acidhacker.com

×