PHP não é coisa de moleque - FISL Edition
-
Upload
felipe-ribeiro -
Category
Technology
-
view
7.821 -
download
2
description
Transcript of PHP não é coisa de moleque - FISL Edition
PHP NÃO é coisa de moleque!
Felipe Ribeirohttp://[email protected]
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 ofCode 2009
Text
Enquanto .NET e Java brigam, fazendo muito
barulho...
PHP se mantém como
a tecnologia número 1 da
Web.
Mesmo assim, alguns dizem que PHP é
“coisa de moleque”
E por que o PHP carrega
essa má fama?
Por causa dos profissionais
desqualificados...
dos mitos...
E pela falta de propaganda...
Esse cenário pode mudar, só depende da comunidade
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!!!
Marketing
•PHP não é produto de nenhum big player do mercado enterprise
•Mas já despertou o interesse de:
•IBM
•Oracle
•Yahoo!
•Microsoft
•entre outros...
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!
E que tal esclarecermos
os mitos?
Mito #1 PHP é uma linguagem
para Web, e por isso é muito limitada
Nunca subestime a
Web!
Nunca subestime a
Web!
É a plataforma dominante da nossa geração
Cloud computing SaaS
Web Services
Algoritmos de alta complexidade
Algoritmos de alta complexidade
Indexação e buscaRecomendação de produtos (Amazon) e músicas (Last.fm)Folksonomia e ranking (Delicious e Flickr)Teoria dos Grafos (redes sociais)
Além das infraestruturas sofisticadas
Além das infraestruturas sofisticadas
Sistemas distribuídos
Balanceamento de carga
Escalar horizontalmente
Sistemas Web não são mais tão simples quanto eram há 10 anos
Mito #2 CódigosPHP são sujos
"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
interface Printer { void print(Message message);}
class Message { private String message;
public Message(String message) { this.message = message; }
public void print(Printer printer) { printer.print(this); }
public String toString() { return message; }}
abstract class AbstractPrinterFactory { public static AbstractPrinterFactory getFactory() { return new SystemOutPrinterFactory(); }
public abstract Printer getPrinter();}
class SystemOutPrinterFactory extends AbstractPrinterFactory {
public Printer getPrinter() { return new SystemOutPrinter(); }
}
class SystemOutPrinter implements Printer { public void print(Message message) {
System.out.println(message);
}
}
public class HelloWorld {
public static void main(String[] args) { Message message = new Message("Hello, World!"); AbstractPrinterFactory factory = AbstractPrinterFactory.getFactory(); Printer printer = factory.getPrinter(); message.print(printer); }
}
Hello W
orld em
JAVA!
e sua burocracia
Quem determina a qualidade do código é o programador!
Mito #3 PHP só serve para sistemas
pequenos
Isso é .NET!
E a estabilidade caracterís
tica dos
produtos Microsoft
P.S.: O orkut foi reescrito em Java, mas esse shot é dos velhos tempos de .NET
Então PHP escala?
Então PHP escala?
Linguagens de programação não
escalam
Arquiteturas escalam
E a arquitetura
share-nothing do PHP
simplifica a escalabilidade
OOP
Mito #4 PHP não implementa OO
“de verdade”
OOP
• PHP5 trouxe:
• Níveis de visibilidade
• Exceptions
• Interfaces
• Type hinting
• SPL - Standard PHP Library
OOP
• Frameworks MVC
• Zend Framework
• Symfony
• CakePHP
• Code Igniter
• Prado, etc...
Mito #5 Não existem pacotes
reutilizáveis e de qualidade em PHP
PEAR
Mito #6 Existem poucas ferramentas para
desenvolvimento em PHP
PHPSpec
Mito #7 PHP é inseguro
Free/Open/NetBSD são seguros?
MS Windows® é seguro?
São todos escritos principalmente em
C
A linguagem de programação não é
o fator determinante na
segurança de um sistema
Mito #8 PHP não estápronto para aplicações
“enterprise”
XML
SOAP
REST
E o que podemos esperar para o futuro?
PHP 5.3
•Namespaces
namespace Yahoo\News; class Dir { ... }
Definição Uso// diretamente $foo = new Yahoo\News\Dir;
// importando o namespace use Yahoo\News; $foo = new News\Dir;
// renomeando a classeuse Yahoo\News\Dir as YND; $foo = new YND;
PHP 5.3
•Lambdas e closures
$lambda = function () { echo "Hello World!\n"; }; $lambda();
PHP 5.3
•Lambdas e closuresfunction getSomador($x) { return function ($y) use ($x) { return $x + $y; }; } $somador = getSomador(10);
echo $somador(5); //15echo $somador(32); //42
PHP 5.3
•SPL Datastructures
•LinkedList / DoubleLinkedList
•Stack
•Queue / Priority Queue
•Heap
PHP 5.3
•PHAR - PHP Archive
•Garbage collection
•Late static binding
•Outros refatoramentos e debugs
PHP 6 = PHP 5.3 + Unicode
Felipe [email protected]
http://feliperibeiro.com
Referências
•PHP for Grown-upsAndrei Zmievski - http://gravitonic.com/talks
•Myths DefusedDerick Rethans - http://talks.php.net/show/myths-ffm2008
•Programming Collective Inteligence - Toby Segaran - O’Reilly
http://www.flickr.com/photos/nullalux/2261949240
http://elephpantgettingsome.files.wordpress.com/2008/02/elephpant1web.jpghttp://jjanaya.100webspace.net/wp-content/uploads/2008/08/king-kong-vs-godzilla.jpghttp://www.flickr.com/photos/bobbyuggles/232446009http://www.flickr.com/photos/emagic/56206868http://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/145052885http://flickr.com/photos/ripizzo/2310929170/http://flickr.com/photos/zach_manchester/2302683790/http://www.flickr.com/photos/docman/6107473http://www.flickr.com/photos/mamabarns/747588843http://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/318947873http://www.flickr.com/photos/jaredchapman/482538719http://www.flickr.com/photos/skeet-skeet/222026728/http://www.flickr.com/photos/practicalowl/392894653/