PHP não é coisa de moleque

845 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
845
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

PHP não é coisa de moleque

  1. 1. PHP NÃO é coisa Felipe Ribeiro http://feliperibeiro.com de moleque! felipernb@gmail.com
  2. 2. Felipe Ribeiro •Graduando (concluinte) em Ciência da Computação na UFCG •Zend Certified Engineer •Desenvolvedor Web há 7 anos, atualmente trabalhando para a startup Shoprizer.com •Experiência em grids computacionais e sistemas distribuídos •Membro fundador do grupo PHP-PB •Contribuidor do PHP no Google Summer of Code 2009
  3. 3. Text Enquanto .NET e Java brigam, fazendo muito barulho...
  4. 4. PHP se mantém como a tecnologia número 1 da Web.
  5. 5. Mesmo assim, alguns dizem que PHP é “coisa de moleque”
  6. 6. E por que o PHP carrega essa má fama?
  7. 7. Por causa dos profissionais desqualificados...
  8. 8. dos mitos...
  9. 9. E pela falta de propaganda...
  10. 10. Esse cenário pode mudar, só depende da comunidade
  11. 11. Qualificação de profissionais •PHP é fácil de aprender e sua flexibilidade permite que seja utilizado das mais diversas maneiras (boas ou ruins) •Programadores Java normalmente precisam de uma formação mais sólida (orientação a objeto, padrões de projeto, eficiência de algoritmos, estruturas de dados, e etc.) •BONS programadores PHP também precisam!!!
  12. 12. Marketing •PHP não é produto de nenhum big player do mercado enterprise •Mas já despertou o interesse de: •IBM •Oracle •Yahoo! •Microsoft •entre outros...
  13. 13. Marketing •PHP está presente em mais de 25 milhões de sites •Com tudo isso, pra que propaganda? A propaganda somos nós e tudo o que nós fazemos!
  14. 14. E que tal esclarecermos os mitos?
  15. 15. PHP é uma linguagem Mito #1 para Web, e por isso é muito limitada
  16. 16. Nunca subestime a Web!
  17. 17. Nunca subestime a Web! É a plataforma dominante da nossa geração
  18. 18. Cloud computing SaaS Web Services
  19. 19. Algoritmos de alta complexidade
  20. 20. Algoritmos de alta complexidade Indexação e busca Recomendação de produtos (Amazon) e músicas (Last.fm) Folksonomia e ranking (Delicious e Flickr) Teoria dos Grafos (redes sociais)
  21. 21. Além das infraestruturas sofisticadas
  22. 22. Além das infraestruturas sofisticadas Sistemas distribuídos Balanceamento de carga Escalar horizontalmente
  23. 23. Sistemas Web não são mais tão simples quanto eram há 10 anos
  24. 24. Mito #2 Códigos PHP são sujos
  25. 25. "PHP is not about purity in CS principles or architecture; it is about solving the ugly web problem with an admittedly ugly, but extremely functional and convenient solution. If you are looking for purity, you are in the wrong boat. Get out now before you get hit by a wet cat!" - Rasmus Lerdorf
  26. 26. interface Printer { void print(Message message); } class SystemOutPrinter implements Printer { class Message { public void print(Message message) { private String message; System.out.println(message); public Message(String message) { } this.message = message; } } public void print(Printer printer) { public class HelloWorld { printer.print(this); } public static void main(String[] args) { Message message = new Message("Hello, public String toString() { World!"); return message; AbstractPrinterFactory factory = } AbstractPrinterFactory.getFactory(); } m Printer printer = factory.getPrinter(); e message.print(printer); abstract class AbstractPrinterFactory { } ld public static AbstractPrinterFactory getFactory() { r } return new SystemOutPrinterFactory(); o ! } public abstract Printer getPrinter(); W A acia lo AV rocr } class SystemOutPrinterFactory extends e l J u H AbstractPrinterFactory { public Printer getPrinter() { ab } return new SystemOutPrinter(); e su }
  27. 27. Quem determina a qualidade do código é o programador!
  28. 28. Mito #3 PHP só serve para sistemas pequenos
  29. 29. T! E os .N a d ic rí st é c te oft so ra ros e ca ic Is ad os M b ilid ut ta rod a es p E P.S.: O orkut foi reescrito em Java, mas esse shot é dos velhos tempos de .NET
  30. 30. Então PHP escala?
  31. 31. Então PHP escala? Linguagens de programação não escalam Arquiteturas escalam
  32. 32. Ea arquitetura share-nothing do PHP simplifica a escalabilidade
  33. 33. Mito #4 PHP não implementa OO “de verdade” OOP
  34. 34. • PHP5 trouxe: • Níveis de visibilidade OOP • Exceptions • Interfaces • Type hinting • SPL - Standard PHP Library
  35. 35. • Frameworks MVC • Zend Framework OOP • Symfony • CakePHP • Code Igniter • Prado, etc...
  36. 36. Mito #5 Não existem pacotes reutilizáveis e de qualidade em PHP
  37. 37. PEAR
  38. 38. Mito #6 Existem poucas ferramentas para desenvolvimento em PHP
  39. 39. PHPSpec
  40. 40. Mito #7 PHP é inseguro
  41. 41. Free/Open/NetBSD são seguros? MS Windows® é seguro?
  42. 42. São todos escritos principalmente em C
  43. 43. A linguagem de programação não é o fator determinante na segurança de um sistema
  44. 44. Mito #8 PHP não está pronto para aplicações “enterprise”
  45. 45. XML
  46. 46. SOAP
  47. 47. REST
  48. 48. E o que podemos esperar para o futuro?
  49. 49. PHP 5.3 •Namespaces Definição Uso // diretamente namespace YahooNews; $foo = new YahooNewsDir; class Dir {     ... // importando o namespace } use YahooNews; $foo = new NewsDir; // renomeando a classe use YahooNewsDir as YND; $foo = new YND;
  50. 50. PHP 5.3 •Lambdas e closures $lambda = function () {  echo "Hello World!n"; }; $lambda();
  51. 51. PHP 5.3 •Lambdas e closures function getSomador($x) {     return function ($y) use ($x) {         return $x + $y;     }; } $somador = getSomador(10); echo $somador(5); //15 echo $somador(32); //42
  52. 52. PHP 5.3 •SPL Datastructures •LinkedList / DoubleLinkedList •Stack •Queue / Priority Queue •Heap
  53. 53. PHP 5.3 •PHAR - PHP Archive •Garbage collection •Late static binding •Outros refatoramentos e debugs
  54. 54. PHP 6 = PHP 5.3 + Unicode
  55. 55. Felipe Ribeiro felipernb@gmail.com http://feliperibeiro.com
  56. 56. Referências •PHP for Grown-ups Andrei Zmievski - http://gravitonic.com/talks •Myths Defused Derick Rethans - http://talks.php.net/show/myths- ffm2008 •Programming Collective Inteligence - Toby Segaran - O’Reilly http://www.flickr.com/photos/nullalux/2261949240
  57. 57. http://elephpantgettingsome.files.wordpress.com/2008/02/elephpant1web.jpg http://jjanaya.100webspace.net/wp-content/uploads/2008/08/king-kong-vs-godzilla.jpg http://www.flickr.com/photos/bobbyuggles/232446009 http://www.flickr.com/photos/emagic/56206868 http://www.flickr.com/photos/andycastro/835453399/ http://www.flickr.com/photos/enigmatic/2901093490/ http://www.flickr.com/photos/kky/704056791/ http://www.flickr.com/photos/mscolly/145052885 http://flickr.com/photos/ripizzo/2310929170/ http://flickr.com/photos/zach_manchester/2302683790/ http://www.flickr.com/photos/docman/6107473 http://www.flickr.com/photos/mamabarns/747588843 http://flickr.com/photos/willpate/63814657/ http://flickr.com/photos/estherase/128983854/ http://www.flickr.com/photos/j_m_c/3406217735/ http://www.flickr.com/photos/oberazzi/318947873 http://www.flickr.com/photos/jaredchapman/482538719 http://www.flickr.com/photos/skeet-skeet/222026728/ http://www.flickr.com/photos/practicalowl/392894653/

×