<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>JornalJava</title>
	
	<link>http://www.jornaljava.com</link>
	<description>Sobre Java, o Universo e Tudo Mais</description>
	<lastBuildDate>Mon, 08 Aug 2011 18:24:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JornalJava-FeedCompleto" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="jornaljava-feedcompleto" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Stanford dá Curso Online de Inteligência Artificial de Grátis</title>
		<link>http://www.jornaljava.com/2011/08/stanford-da-curso-online-de-inteligencia-artificial-de-gratis/</link>
		<comments>http://www.jornaljava.com/2011/08/stanford-da-curso-online-de-inteligencia-artificial-de-gratis/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 18:24:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[grátis]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[stanford]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=718</guid>
		<description><![CDATA[Já ouviu falar de Stanford? é uma faculdadezinha gringa onde surgiu umas empresinhas como Yahoo, Sun, HP, Cisco, Netscape e uma caixinha de busca chamada Google. Pois bem, eles estão lançando um curso online oficial de Introdução à Inteligência Artificial com ênfase na skynet pelo Professor Sebastian Thrun juntamente com o diretor de Pesquisa e<a href="http://www.jornaljava.com/2011/08/stanford-da-curso-online-de-inteligencia-artificial-de-gratis/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="aligncenter size-full wp-image-719" title="terminator_1984" src="http://www.jornaljava.com/wp-content/uploads/2011/08/terminator_1984.jpg" alt="" width="462" height="768" /></p>
<p>Já ouviu falar de Stanford? é uma faculdadezinha gringa onde surgiu umas empresinhas como Yahoo, Sun, HP, Cisco, Netscape e uma caixinha de busca chamada Google.</p>
<p>Pois bem, eles estão lançando um curso online oficial de Introdução à Inteligência Artificial <del>com ênfase na skynet</del> pelo Professor Sebastian Thrun juntamente com o diretor de Pesquisa e Desenvovilmento do Google. Quer mais? É completamente de grátis.</p>
<p>&#8220;Tá, mas e o que eu ganho com isso?&#8221; vc pergunta. Bom, além de ter contato direto com alguns dos maiores pesquisadores de vanguarda no assunto (o que já vale muito), vc recebe um certificado de conclusão da disciplina num formato de carta acadêmica dos instrutores do curso, tendo nela uma breve avaliação da sua participação na disciplina. Com essa cartinha, eu agarantcho que sua vida para ingressar na carreira acadêmica (de pós ou mestrado) ficará muito mais fácil do que apresentar somente a cartinha de recomendação do seu professor querido. Tirando isso, somente o privilégio de ter acesso ao conteúdo que é lecionado numa faculdade top de linha, já é vale a participação por si só.</p>
<p>Conforme pode-se consultar no <a href="http://www.ai-class.com/" target="_blank">site do projeto</a>, eles pretendem lecionar o maior curso online já feito na história. E pelo gabarito dessa faculdade, eu não duvido.</p>
<p>Apesar de ser à distância e free, não quer dizer q o curso será meia boca. Os trabalhos e cobranças seguirão o mesmo padrão de exigência do ensino tradicional de Standford, sem reposição e com muita pesquisa sobre o assunto estudado.</p>
<p>Todas as aulas e conteúdo serão em inglês, onde serão abordados assuntos de representação do conhecimento, inferência, aprendizagem em máquinas, planejamento e game-playing, recuperação da informação, visão computadorizada e robótica. Ou seja fundamentos de IA conexionista e simbólica.</p>
<p>Tem coragem? Então agora é a hora. Visite o <a href="http://www.ai-class.com/" target="_blank">site do projeto</a> e assista o vídeo de introdução do curso, apresentado pelo próprio Professor Thrun.</p>
<p><iframe class="youtube-player" type="text/html" width="500" height="300" src="http://www.youtube.com/embed/LDIRwYHo0KM" frameborder="0"><br />
</iframe></p>
<p>Anotaí a data de início-fim: 10/out até 16/12.</p>
<p>E não se subestime: não é porque vc está aqui no Brasil, às vezes muito distante da realidade tecnológica dos gringos, que você não vai mandar bem e ter idéias bacanas que podem (inclusive) chamar atenção de algum gringo.</p>
<p>Se você for fazer a inscrição, avise a gente nos comentários! Vamos ter orgulho de saber que tem um <del>xicano</del> tupiniquim presente (virtualmente) numa disciplina no maior berço da tecnologia moderna.</p>
<p>site do curso: <a href="http://www.ai-class.com/">http://www.ai-class.com/</a></p>
<p>fonte: <a href="http://meiobit.com/89094" target="_blank">http://meiobit.com/89094</a></p>
<div class="shr-publisher-718"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=jibofgtfLLQ:V6ldO-Jwm7A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=jibofgtfLLQ:V6ldO-Jwm7A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=jibofgtfLLQ:V6ldO-Jwm7A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=jibofgtfLLQ:V6ldO-Jwm7A:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=jibofgtfLLQ:V6ldO-Jwm7A:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/08/stanford-da-curso-online-de-inteligencia-artificial-de-gratis/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Importância do ASA (Application Server Admin)</title>
		<link>http://www.jornaljava.com/2011/07/importancia-do-asa-application-server-admin/</link>
		<comments>http://www.jornaljava.com/2011/07/importancia-do-asa-application-server-admin/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 18:49:06 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=712</guid>
		<description><![CDATA[Todo mundo que estuda um pouquinho do funcionamento de um Application Server repara logo que existe a necessidade de pessoas para zelarem pelo seu funcionamento e responderem pela sua administração. O Servidor de Aplicação está para o ASA (App. Server Admin), assim como o Banco de Dados está para o DBA. A diferença é que<a href="http://www.jornaljava.com/2011/07/importancia-do-asa-application-server-admin/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/07/angel-wing2.jpg"><img class="aligncenter size-full wp-image-713" title="angel-wing2" src="http://www.jornaljava.com/wp-content/uploads/2011/07/angel-wing2.jpg" alt="" width="450" height="450" /></a></p>
<p>Todo mundo que estuda um pouquinho do funcionamento de um Application  Server repara logo que existe a necessidade de pessoas para zelarem  pelo seu funcionamento e responderem pela sua administração. O Servidor  de Aplicação está para o ASA (App. Server Admin), assim como o Banco de  Dados está para o DBA. A diferença é que no modelo de desenvolvimento  Cliente-Servidor ainda não existia a necessidade do ASA, já que não  havia a existência do Servidor de Aplicação.</p>
<p>Acho um assunto muito interessante, e pesquisando sobre isto,  verifiquei que já existiam artigos tão bons e que tratam o tema de  maneira tão completa que dispensa a criação de outro artigo sobre o  mesmo assunto.</p>
<p>Repasso para que vocês possam ler a matéria completa.</p>
<p>“<em>O ‘Deployer’ ou Administrador é a pessoa (ou empresa) responsável  por configurar e realizar o deploy de aplicações Java EE, administrar a  infraestrutura de computação e rede onde aplicações Java são  executados, e monitora o ambiente de execução. Entre suas atribuições,  está o ajuste dos controles transicionais e atributos de segurança, além  de especificar conexões de Banco de Dados.</em>“</p>
<p>Esta é a definição oficial da <a href="http://java.sun.com/" target="_blank">Sun</a> para o perfil “<strong>Application Deployer and Administrator</strong>“, segundo o <a href="http://java.sun.com/javaee/5/docs/tutorial/doc/JavaEETutorial.pdf" target="_blank">Tutorial Java EE</a>.</p>
<p>Desde quando comecei a trabalhar com o <a href="http://java.sun.com/javaee/" target="_blank">Java EE</a> na sua versão 1.3, toda a equipe ganhou “de brinde” uma nova  atribuição: Administrar o servidor de aplicações! Claro que no ínicio  tudo não passava de alguns deploys e restarts. Com o amadurecimento foi  inevitável o crescimento da quantidade de componentes, bibliotecas,  datasources, filas JMS e também do “parque” de servidores de aplicação;  esta nova atribuição já tomava um tempo considerável da equipe. Foi  assim que resolvemos seguir a “sugestão” da Sun e contratar um perfil  específico para esta função.</p>
<p>&nbsp;</p>
<p>É comum as pessoas que tem seu primeiro contato com o <a href="http://java.sun.com/javaee/" target="_blank">Java EE</a>, enxergarem o Servidor de Aplicações como uma espécie de Web Server estando ele para o Java, como o <a href="http://www.php.net/manual/pt_BR/install.unix.apache2.php" target="_blank">mod_php/Apache</a> está para o <a href="http://www.php.net/" target="_blank">PHP</a> ou como o <a href="http://en.wikipedia.org/wiki/Internet_Information_Services" target="_blank">IIS</a> está para o <a href="http://www.asp.net/" target="_blank">ASP</a>. Na verdade, como diz <a href="http://www.javaman.com.br/" target="_blank">Bruno Souza (o Javaman)</a>, o Java EE é uma especificação! É um documento que pode ser obtido na página da <a href="http://www.jcp.org/en/jsr/detail?id=244" target="_blank">JSR 244</a>! O Servidor de aplicação nada mais é que a implementação do que foi especificado. Não vou entrar no mérito da <a href="http://jcp.org/en/resources/tdk" target="_blank">compatibilidade do Servidor com sua especificação</a> mas sim deixar claro que <strong>o Servidor de Aplicações é muito mais que um Web Container Java</strong> e entre os serviços providos pelo Servidor de Aplicação estão: e-Mail (<strong>Java Mail</strong>), Transação (<strong>JTA</strong>), Filas (<strong>JMS</strong>), Conectores (<strong>JCA</strong>), Segurança (<strong>JAAS</strong>), Monitoramento (<strong>JMX</strong>), Pool (Conexão e EJBs),  Registro de nomes (<strong>JNDI</strong>), além dos conteiners de <strong>EJB</strong>s (Entity Beans, Session Beans e Message Driven Beans); <strong>WEB</strong> (JSP, Servlets, JSTL e JSF) entre outros.</p>
<p>&nbsp;</p>
<p><a rel="attachment wp-att-1016" href="http://www.jornaljava.com/?attachment_id=1016" target="_blank"><img title="overview-j2eeArchitecture" src="../wp-content/uploads/2010/12/overview-j2eeArchitecture.gif" alt="" width="616" height="315" /></a></p>
<p><img src="http://java.sun.com/javaee/5/docs/tutorial/doc/figures/overview-j2eeArchitecture.gif" border="0" alt="" hspace="0" vspace="0" /></p>
<p>&nbsp;</p>
<p>Cada um destes serviços possuem suas próprias configurações como  números de Threads, número máximo e mínimo dos Pools, sem contar o  próprio tunning da JVM (Não deixem de ver a palestra do <a href="http://www.claudius.com.br/blog/claudio/" target="_blank">Cláudio Miranda</a> – <a href="http://www.slideshare.net/claudius/performance-em-java" target="_blank">Performance em Aplicações Java</a>).   Fora estas atribuições, o ASA (Application Server Admin) também é  responsável por: Realizar o deploy da aplicação Java EE, Configurar a  aplicação Java (modificando os descritores) para se adequar ao ambiente  operacional, Verificar o conteúdo da aplicação e garantir que o arquivo  está de acordo com a especificação Java EE e também que as dependências  de bibliotecas de terceiros está correta (e não quebra a compatibilidade  com a API de outras aplicações no servidor).</p>
<p>&nbsp;</p>
<p>Como é possível ver, para praticamente todas as atividades citadas, é  necessário um conhecimento específico da plataforma JAVA. Entretanto o  que muito se vê nas corporações é a administração do Servidor de  Aplicações sendo realizada pela “<strong><em>equipe da rede</em></strong>” onde  muitas vezes a instalação do Servidor é feita através do apt-get,  descompactação do ZIP ou “Next, Next, Finish”. O resultado é que muitas  vezes o servidor é executado com uma configuração padrão para a JVM (o  que é insuficiente na maioria dos casos), nível de Logging e segurança:  Basta ver a quantidade de servidores JBoss na internet que possuem o <a href="http://www.google.com.br/search?hl=pt-BR&amp;client=firefox-a&amp;rls=com.ubuntu%3Apt-BR%3Aofficial&amp;hs=H7n&amp;q=%22JBoss+JMX+Management+Console%22+jmx-console&amp;btnG=Pesquisar&amp;meta=" target="_blank">JMX console aberto</a> (permitindo total controle da instância).</p>
<p>&nbsp;</p>
<p>Não é nenhum exagero dizer que hoje, assim como todos os Bancos de Dados sérios e críticos precisam de um excelente <a href="http://en.wikipedia.org/wiki/Database_administrator" target="_blank">DBA,</a> também todos os Servidores de Aplicações sérios e críticos precisam de um <a href="http://www.acs.ilstu.edu/docs/oracle9ias/core.902/a92171/toc.htm" target="_blank">ASA</a>. <strong>É  perceptível o nível de profissionalismo que uma empresa atinge quando o  profissional implanta servidores de aplicações com alta  disponibilidade; sistemas de monitoramento que notificam o Administrador  quando o Servidor está indisponível ou próximo do limite de Threads e  Pools e ainda é capaz de rastrear data, hora e versão da aplicação  disponibilizada em produção.</strong></p>
<p>&nbsp;</p>
<p>Não deixem de considerar este perfil se quiserem aumentar o profissionalismo das aplicações/ambiente Java EE!</p>
<p>fonte: <a href="http://www.jroller.com/rafaelbenevides/entry/a_import%C3%A2ncia_do_asa_app" target="_blank">http://www.jroller.com/rafaelbenevides/entry/a_import%C3%A2ncia_do_asa_app</a></p>
<div class="shr-publisher-712"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=9P6oThxeSlY:0ooUHYXUzD8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=9P6oThxeSlY:0ooUHYXUzD8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=9P6oThxeSlY:0ooUHYXUzD8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=9P6oThxeSlY:0ooUHYXUzD8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=9P6oThxeSlY:0ooUHYXUzD8:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/07/importancia-do-asa-application-server-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Força do JavaScript</title>
		<link>http://www.jornaljava.com/2011/06/a-forca-do-javascript/</link>
		<comments>http://www.jornaljava.com/2011/06/a-forca-do-javascript/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 10:33:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=698</guid>
		<description><![CDATA[&#8220;Pelos poderes de Grayscow, EU ODEIO JAVASCRIPTT!!!&#8221; Que javascript está se tornando a linguagem de programação de cliente de facto isso ninguém pode negar, mas isso não me faz gostar dessa linguagem tãão mequetrefe. Principalmente pq parece que function é a salvação da lavoura, tem tipagem fraca, e também pela péssima impressão que é passado<a href="http://www.jornaljava.com/2011/06/a-forca-do-javascript/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img src="http://www.jornaljava.com/wp-content/uploads/2011/06/Heman.jpg" alt="" title="Heman" width="393" height="616" class="aligncenter size-full wp-image-706" /></p>
<p>&#8220;Pelos poderes de Grayscow, EU ODEIO JAVASCRIPTT!!!&#8221;</p>
<p>Que javascript está se tornando a linguagem de programação de cliente de <em>facto</em> isso ninguém pode negar, mas isso não me faz gostar dessa linguagem tãão mequetrefe. Principalmente pq parece que <code>function</code> é a salvação da lavoura, tem tipagem fraca, e também pela péssima impressão que é passado pelos códigos que vemos nas interwebs afora. </p>
<p>Mas não é por isso que não tem nego que consegue quase fazer chover com essa linguagem. Confira na apresentação abaixo:</p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/3221611" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
<p>Só pra você ter uma idéia de como a coisa está caminhando, parece que a Adobe não está dormindo no ponto e já se prepara para o renascimento (ou pelo menos sobrevivência) de uma das tecnologias mais amadas por Estevão Trabalho (Steve Jobs): o Flash. </p>
<p>Conforme algumas demos que pode ser encontradas no blog da adobe, podemos ver uma galeria de exemplos de animações complexas feitas em flash que são compiladas para o próximo triunvirato da web: javascript + html5 + css3. E são demos bem expressivas. Não pude deixar de fazer uma correlação com o outra tecnologia também compiladora para js, o GWT (mas isso é assunto para outro post). </p>
<p>Só sei que podemos aguardar mais e mais belos exemplos de trabalhos visuais e efeitos em javascript. Infelizmente é uma pena que essa linguagem não sofreu a evolução necessária pra virar a queridinha dos programadores web. :(</p>
<p><a href="http://blogs.adobe.com/conversations/2011/03/flash-to-html5-conversion-tool-on-adobe-labs.html">http://blogs.adobe.com/conversations/2011/03/flash-to-html5-conversion-tool-on-adobe-labs.html</a></p>
<div class="shr-publisher-698"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=WuG6Z5hiDXw:g5Zy3senlZo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=WuG6Z5hiDXw:g5Zy3senlZo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=WuG6Z5hiDXw:g5Zy3senlZo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=WuG6Z5hiDXw:g5Zy3senlZo:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=WuG6Z5hiDXw:g5Zy3senlZo:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/06/a-forca-do-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Escolhendo um Framework Web</title>
		<link>http://www.jornaljava.com/2011/06/escolhendo-um-framework-web/</link>
		<comments>http://www.jornaljava.com/2011/06/escolhendo-um-framework-web/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 12:01:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=691</guid>
		<description><![CDATA[Quem nunca se sentiu perdido na hora de escolher qual framework para desenvolver? Quem já não escolheu um framework/lib e depois pensou &#8220;hum&#8230; não estou conseguindo ser produtivo nessa parte&#8221; ou &#8220;pq diabos eu tenho q preencher esse xml maluco e colocar essas tags sem sentido no código&#8221;. Ou pior ainda &#8220;MEU DEUS, onde está<a href="http://www.jornaljava.com/2011/06/escolhendo-um-framework-web/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img src="http://www.jornaljava.com/wp-content/uploads/2011/06/homem-cueca-450x402.jpg" alt="" title="homem-cueca" width="450" height="402" class="aligncenter size-medium wp-image-695" /></p>
<p>Quem nunca se sentiu perdido na hora de escolher qual framework para desenvolver? Quem já não escolheu um framework/lib e depois pensou &#8220;hum&#8230; não estou conseguindo ser produtivo nessa parte&#8221; ou &#8220;pq diabos eu tenho q preencher esse xml maluco e colocar essas tags sem sentido no código&#8221;. Ou pior ainda &#8220;MEU DEUS, onde está o maldito erro??!!!&#8221;.</p>
<p>Para ajudar vc, caro leitor, embedamos uma pequena palestra comparando os mais famosos frameworks web da atualiadade, tentando abordar seus pontos altos e baixos, fazendo uma análise crítica sobre nossos queridos ajudantes de infraestrutura. </p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/727772" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
<p>Mas e vc? qual framework vc usa? E pq? E seja sincero, o que vc não gosta nele que poderia ser mudado?</p>
<div class="shr-publisher-691"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=iDIjmb8dZ4U:zYs2trQSlJs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=iDIjmb8dZ4U:zYs2trQSlJs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=iDIjmb8dZ4U:zYs2trQSlJs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=iDIjmb8dZ4U:zYs2trQSlJs:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=iDIjmb8dZ4U:zYs2trQSlJs:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/06/escolhendo-um-framework-web/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Piadas Que Somente Nerd Entendem</title>
		<link>http://www.jornaljava.com/2011/06/piadas-que-somente-nerd-entendem/</link>
		<comments>http://www.jornaljava.com/2011/06/piadas-que-somente-nerd-entendem/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 13:30:43 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=687</guid>
		<description><![CDATA[Mais um conjunto de piadinhas que somente quem for nerd vai entender. Vc deu uma risadinha? Vc é nerd! hehehe “Algumas coisas que o homem nunca sabe. Para todo resto, existe o Google.” “Falhar não é uma opção – ele vem com o Windows.” “Jogos de computador não afetam crianças, quero dizer, se o Pac-Man<a href="http://www.jornaljava.com/2011/06/piadas-que-somente-nerd-entendem/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/binary.png"><img class="aligncenter size-full wp-image-688" title="binary" src="http://www.jornaljava.com/wp-content/uploads/2011/05/binary.png" alt="" width="409" height="371" /></a></p>
<p>Mais um conjunto de piadinhas que somente quem for nerd vai entender. Vc deu uma risadinha? Vc é nerd! hehehe</p>
<ol>
<li> “Algumas coisas que o homem nunca sabe. Para todo resto, existe o Google.”</li>
<li> “Falhar não é uma opção – ele vem com o Windows.”</li>
<li> “Jogos de computador não afetam crianças, quero dizer, se o Pac-Man  tivesse nos afetado quando crianças, estaríamos todos correndo em salas  escuras, mastigando pílulas mágicas e escutando músicas eletrônicas  repetitivas.”</li>
<li> “Inteligência Artificial geralmente bate estupidez natural.”</li>
<li> “Errar é humano … para realmente estragar requer a senha do root.”</li>
<li> “Se na primeira você não tiver sucesso, chamem-lhe a versão 1.0″</li>
<li> “Se Python é pseudocodigo executável, então o Perl é ruído na linha executável.”</li>
<li> “Programadores são ferramentas para a conversão de cafeína em código”.</li>
<li> “Porque queremos terminais inteligentes, quando há tantos usuários estúpido?”</li>
<li> “Eu não consigo desinstalá-lo, parece haver algum tipo de”<br />
Uninstall Shield”.”</li>
<li> “Ei! Compila! DEMANDA CONCLUÍDA!”</li>
<li> “Supercomputador:. Era o que parecia antes que você o compre”</li>
<li> “Windows Vista: É como a atualização de Bill Clinton para George W. Bush.”</li>
<li> “A vida seria muito mais fácil se tivéssemos o código-fonte”.</li>
<li> “Meu software nunca tem bugs. Isso são features aleatórias.”</li>
<li> “Relaxe, são apenas e zeros!”</li>
<li> “Rm-rf / bin / laden”</li>
<li> “A melhor coisa sobre código Object Oriented é que ele pode fazer  simples e pequenos problemas parecem grandes, mais complexas.”</li>
<li> “Se a força bruta não resolve seus problemas, então você não está usando o suficiente.”</li>
<li> “Programação é como sexo, um erro e você tem que conviver com isso para o resto de sua vida.”</li>
<li> “Unix é amigável. Ele apenas é muito seletivo sobre quem são seus amigos.”</li>
<li> Microsoft: “Você tem perguntas? Nós temos clipes dançando..”</li>
<li> “Eu não sou anti-social, eu não sou apenas user friendly”</li>
<li> “O mundo está chegando ao fim … SALVEM SEUS BUFFERS!”</li>
<li> “É melhor ser um nerd do que um idiota.”</li>
<li> “A Internet: onde os homens são homens, as mulheres são os homens, e as crianças são agentes do FBI”.</li>
<li> “Existem 10 tipos de pessoas no mundo: aqueles que entendem binário, e aqueles que não.”</li>
<li> “A diferença entre um vírus e o Windows? Vírus raramente falham.”</li>
<li> “Hacking é como sexo. Você entra, sai, e espera que não deixou algo que pode ser rastreado até você.”</li>
<li> “1f u c4n th1s r34d u r34lly n33d t0 G37 l41d”</li>
<li> “Helpdesk: Há um ícone no seu computador chamado”<br />
Meu Computador “Dê um duplo clique sobre ele..<br />
Usuário: O que o seu computador está fazendo dentro do meu”?”</li>
<li> “Se a depuração é o processo de remoção de bugs, então programação deve ser o processo de colocá-los”</li>
<li> “Namoro por computador é bom, se você é um computador.”</li>
<li> “Qualquer tolo pode usar um computador. Muitos fazem.”</li>
<li> “Hardware: as partes de um sistema de computador que pode ser chutada.”</li>
<li> “Aqueles que não pode escrever programas, escreva arquivos de ajuda.”</li>
<li> “Você sabe que você é um geek quando … Você tenta espantar uma mosca no monitor com o cursor.”</li>
<li> “Design de linguagem de computador é como um passeio no parque. Jurassic Park, digo”.</li>
</ol>
<p>fonte: <a href="http://www.junauza.com/2010/02/top-50-funny-computer-quotes.html" target="_blank">http://www.junauza.com/2010/02/top-50-funny-computer-quotes.html</a></p>
<div class="shr-publisher-687"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=NmzPXjhM3So:V6hA5ZepyNs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=NmzPXjhM3So:V6hA5ZepyNs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=NmzPXjhM3So:V6hA5ZepyNs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=NmzPXjhM3So:V6hA5ZepyNs:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=NmzPXjhM3So:V6hA5ZepyNs:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/06/piadas-que-somente-nerd-entendem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ebook Gratuito GlassFish 3 e JEE 6</title>
		<link>http://www.jornaljava.com/2011/06/ebook-gratuito-glassfish-3-e-jee-6/</link>
		<comments>http://www.jornaljava.com/2011/06/ebook-gratuito-glassfish-3-e-jee-6/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 13:29:25 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=684</guid>
		<description><![CDATA[Este post é para aqueles que desejam aprender um pouco mais sobre a interação do GlassFish 3 com o JEE6. Recomendo baixar gratuitamente o livro Java EE 6 com GlassFish 3, aonde a maioria das APIs do JEE6 são descritas com detalhes. Ainda não tive a oportunidade de ler, mas já testei os links e<a href="http://www.jornaljava.com/2011/06/ebook-gratuito-glassfish-3-e-jee-6/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/ebook-300x199.jpg"><img class="aligncenter size-full wp-image-685" title="ebook-300x199" src="http://www.jornaljava.com/wp-content/uploads/2011/05/ebook-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Este post é para aqueles que desejam aprender um pouco mais sobre a  interação do GlassFish 3 com o JEE6. Recomendo baixar gratuitamente o  livro <a href="http://www.wowebook.com/java/java-ee-6-with-glassfish-3-application-server.html" target="_blank">Java EE 6 com GlassFish 3</a>, aonde a maioria das APIs do JEE6 são descritas com detalhes.</p>
<p>Ainda não tive a oportunidade de ler, mas já testei os links e dei  uma passada de olho pelos capítulos, e realmente são bem completos e  detalhados. Consegui baixar mais facilmente pelo link “Normal”.</p>
<p>O livro conta com 10 capítulos e 448 páginas.</p>
<p>Dentro os capítulos podemos ver os seguintes tópicos:</p>
<ul>
<li>Overview do JEE 6 e GlassFish</li>
<li>Instalando o GlassFish</li>
<li>Publicando aplicações JEE6</li>
<li>Desenvolvendo, configurando e empacotando servlets</li>
<li>Utilizando JSP</li>
<li>Aprendendo Todas as Tags JSTL</li>
<li>Introdução em JPA 2</li>
<li>Rest entre outros vários tópicos.</li>
</ul>
<p>Fonte:<br />
<a href="http://www.wowebook.com/java/java-ee-6-with-glassfish-3-application-server.html" target="_blank">http://www.wowebook.com/java/java-ee-6-with-glassfish-3-application-server.html</a></p>
<div class="shr-publisher-684"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=PDJ3oBZxoOc:ntOgAJRPfdQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=PDJ3oBZxoOc:ntOgAJRPfdQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=PDJ3oBZxoOc:ntOgAJRPfdQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=PDJ3oBZxoOc:ntOgAJRPfdQ:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=PDJ3oBZxoOc:ntOgAJRPfdQ:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/06/ebook-gratuito-glassfish-3-e-jee-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stored Procedures ou EJBs ?</title>
		<link>http://www.jornaljava.com/2011/06/stored-procedures-ou-ejbs/</link>
		<comments>http://www.jornaljava.com/2011/06/stored-procedures-ou-ejbs/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 13:27:04 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=680</guid>
		<description><![CDATA[Por muito tempo as stored procedures foram consideradas ótimas soluções para desenvolver as regras de negócio de uma aplicação, porém atualmente com a grande diversidade de tecnologias existe a grande dúvida se as stored procedures continuam sendo a melhor escolha. Recentemente passei por uma situação destas, aonde os sistemas Java precisariam interagir com regras de<a href="http://www.jornaljava.com/2011/06/stored-procedures-ou-ejbs/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/duvida.jpg"><img class="aligncenter size-full wp-image-681" title="duvida" src="http://www.jornaljava.com/wp-content/uploads/2011/05/duvida.jpg" alt="" width="235" height="214" /></a></p>
<p>Por muito tempo as stored procedures foram consideradas ótimas  soluções para desenvolver as regras de negócio de uma aplicação, porém  atualmente com a grande diversidade de tecnologias existe a grande  dúvida se as stored procedures continuam sendo a melhor escolha.  Recentemente passei por uma situação destas, aonde os sistemas Java  precisariam interagir com regras de negócios que estavam dentro de  stored procedures, e aí, será que vale a pena reescrever o código para  Classes Java (EJB’s)?</p>
<p>Vou compartilhar um pouco da experiência que adquiri tentando  compreender um pouco mais as vantagens e desvantagens de cada uma destas  opções.</p>
<p>Na maioria das vezes quando uma aplicação está lenta a solução mais  “fácil” é o upgrade do servidor. Porém, “não adianta colocar uma ferrari  se o motorista é o Rubinho” (Longhi, Fulvio). Algumas vezes a solução  pode ser rever as soluções tecnológicas que estamos usando. Até porque  Ferrari é um excelente carro, todos sabem, mas será que você conseguiria  dirigir uma da mesma forma que dirige seu carro?</p>
<p>Fica mais fácil quando entendemos que não é porque uma tecnologia é  mais nova que ela será melhor do que uma tecnologia já existente. Já vi  muitos programas utilizando Java 1.3 que eram ótimos, mas quando foram  migrados para Java 1.5 tiveram que ser refatorados depois pois não  atendiam tanto quanto a versão antiga.</p>
<p>Vantagens em utilizar EJB:</p>
<ol>
<li>Portabilidade: EJB’s são independentes do banco de dados que estiver  sendo utilizado. A forma de recuperar o initial context pode ser  diferente para cada banco de dados, porém o código SQL no XML é para ser  rodado em várias bases de dados;</li>
<li>Temos Atomicidade, pela utilização de session beans (ou tudo é  executado com sucesso ou seu estado original é retomado – rollback);</li>
<li>Temos aplicações mais escaláveis</li>
<li>Pode ser tudo desenvolvido na própria IDE em que está sendo desenvolvida a sua aplicação</li>
</ol>
<p>Vantagens em utilizar Stored Procedures:</p>
<ol>
<li>Melhor performance devido a menor quantidade de transito entre redes (menos camadas até o banco de dados);</li>
<li>Podemos alterar tabelas no banco de dados sem necessidade de recompilar as classes Java e restartar o servidor;</li>
<li>Pode ser compartilhado entre várias aplicações utilizando a mesma base de dados;</li>
<li>Portabilidade parcial (mudar de SO por exemplo, de Windows para Linux);</li>
</ol>
<p>Assim sendo, a decisão irá depender de algumas questões como:</p>
<ol>
<li>Qual a importância da aplicação?</li>
<li>A aplicação será reconstruída, ou sofrerá constantes manutenções?</li>
<li>A aplicação terá diversas bases de dados?</li>
<li>Existe a possibilidade do banco de dados ser alterado?</li>
<li>Qual a expertise da equipe desenvolvedora?</li>
</ol>
<p>Já ouvi argumentos de pessoas dizendo que Stored Procedures facilitam  a duplicação de código, porém não vejo isto como uma exclusividade das  Storeds, na minha opinião o mesmo problema pode acontecer com os EJB’s  se o desenvolvedor não for cauteloso.</p>
<p>Podemos ver que algumas decisões acabam não sendo técnicas, e sim  estratégicas, aonde as vantagens técnicas não são o mais importante.</p>
<p>Não existe também nenhum impedimento em utilizar um repositório  misto, tendo regras de negócio em stored procedures e em EJB’s, desde  que exista uma organização deste repositório, ou um responsável para  prover uma organização.</p>
<p>Referências:<br />
<a href="http://www.codinginstinct.com/2009/05/never-ending-store-procedure-debate.html" target="_blank">http://www.codinginstinct.com/2009/05/never-ending-store-procedure-debate.html</a><br />
<a href="http://www.theserverside.com/discussions/thread.tss?thread_id=2613" target="_blank">http://www.theserverside.com/discussions/thread.tss?thread_id=2613</a><br />
<a href="http://extreme-java.blogspot.com/2011/01/debate-over-ejb-and-stored-procedures.html" target="_blank">http://extreme-java.blogspot.com/2011/01/debate-over-ejb-and-stored-procedures.html</a></p>
<div class="shr-publisher-680"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=hrqf5swxku0:235-bFtNgSw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=hrqf5swxku0:235-bFtNgSw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=hrqf5swxku0:235-bFtNgSw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=hrqf5swxku0:235-bFtNgSw:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=hrqf5swxku0:235-bFtNgSw:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/06/stored-procedures-ou-ejbs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java não é OO !</title>
		<link>http://www.jornaljava.com/2011/05/java-nao-e-oo/</link>
		<comments>http://www.jornaljava.com/2011/05/java-nao-e-oo/#comments</comments>
		<pubDate>Tue, 31 May 2011 13:25:06 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=677</guid>
		<description><![CDATA[Me recordo que antes de aprender Java, quando desenvolvia em Visual Basic (Sim, eu já fui do lado negro da força), um dos argumentos de quem desenvolvia em Java era de que Java seria orientado a objetos. Durante anos esse foi o grande diferencial do java até que surgiu o .net com alguns conceitos de<a href="http://www.jornaljava.com/2011/05/java-nao-e-oo/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/semsaida-300x297.jpg"><img class="aligncenter size-full wp-image-678" title="semsaida-300x297" src="http://www.jornaljava.com/wp-content/uploads/2011/05/semsaida-300x297.jpg" alt="" width="300" height="297" /></a></p>
<p>Me recordo que antes de aprender Java, quando desenvolvia em Visual  Basic (Sim, eu já fui do lado negro da força), um dos argumentos de quem  desenvolvia em Java era de que Java seria orientado a objetos. Durante  anos esse foi o grande diferencial do java até que surgiu o .net com  alguns conceitos de OO também.</p>
<p>Como este artigo servirá para municiar muitos desenvolvedores .net a  formularem argumentos contra o java, vale a pena fazer vocês refletirem  sobre o assunto.</p>
<ul>
<li><strong>Tipos Primitivos:</strong></li>
<p>Este primeiro argumento acredito não ser discutível mesmo. Todos  sabem que tipos primitivos não são e nem pretendem ser objetos. Alguns  acreditam que por razões históricas, desempenho, facilidade de  utilização, os desenvolvedores acabavam utilizando tipos primitivos. Com  o atualização do Java 5, e a funcionalidade de <a href="http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html" target="_blank">autoboxing</a>, esta situação acaba sendo contornada, porém por uma perspectiva puramente OO é uma razão válida.</p>
<li><strong>Construtores</strong></li>
<p>Construtores somente podem retornar uma instância de si mesmos, a  classe específica. Por esta razão foram criados padrões de projetos (<a href="http://en.wikipedia.org/wiki/Factory_method_pattern" target="_blank">Factory</a>) e Frameworks de DI (<a href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank">Dependecy Injection</a>). Em linguagens puramente OO como no Ruby, podemos retornar tipos de instâncias diferentes do construtor.</p>
<li><strong>Objetos de primeira classe</strong></li>
<p>Isso significa que a linguagem suporta a passagem de funções como  argumentos para outras funções, devolvendo como valores de outras  funções e armazená-los em estruturas de dados.<br />
Java não possui objetos de primeira classe. Normalmente são  representados por uma interface com um único método (usualmente  Callable), com a implementação através de uma inner class.</p>
<li><strong>Static</strong></li>
<p>Objetos estáticos são iguais funções, que equivalem a não orientação a  objetos. Frameworks DI afirmam que objetos estáticos não são testáveis,  porém existem vários frameworks que simulam testes em classes e métodos  estáticos, porém, acaba sendo mais um “contorno” para a situação.</p>
<li><strong>Sem Herança Múltipla</strong></li>
<p>Todo mundo que trabalha com Java já ouviu este argumento no mínimo  umas 10x. Apesar de não ser recomendada a herança múltipla, partindo do  princípio que quem tem vários pais não tem nenhum! No Java esta situação  é simulada utilizando a implementação de várias interfaces.</p>
<li><strong>Strings</strong></li>
<p>A classe String é imutável por natureza (até estou pensando em fazer  um post sobre a imutabilidade das Strings), ou seja, seu estado não pode  ser alterado. O principal objetivo de se utilizar a imutabilidade é de  melhorar a eficiência em tempo de execução no instanciamento de objetos,  economiade espaço físico de memória e velocidade no instanciamento.  Para versões mutáveis de String em Java,<br />
utiliza-se o StringBuffer e StringBuilder (recentemente criado no<br />
JavaSE 5.0).</p>
<li><strong>Sobrecarga de Operador Limitada</strong></li>
<p>Mesmo com a quantidade de vezes que foi utilizada de forma errada no  C++, algumas pessoas acham que esta funcionalidade faz falta no Java, já  que qualquer funcionalidade pode ser usada de forma correta por bons  programadores. Para quem quiser ver os motivos de ainda não ter no Java,  acesse o seguinte <a href="http://wiki.answers.com/Q/Why_operator_overloading_is_not_there_in_java" target="_blank">link</a>.</p>
<li><strong>JNI</strong></li>
<p>Este existe no Java para tirar vantagens das soluções que já existem,  e fornecer algum nível de extensibilidade. Sua utilização é feita de  forma procedural, além de ser muito feio também!</p>
<li><strong>Acesso a nível de Pacote</strong></li>
<p>Este não pode ser considerado Orientado a Objetos pelo fato de  quebrar o encapsulamento de nível de classe, permitindo que todas as  classes em que estejam neste pacote possam ter acesso.</p>
<p>O grande número de ferramentas existentes permite que o Java seja  efetivamente desenvolvido, testado e utilizado de forma segura. Vejo  estas situações como forma de tentar minimizar a possibilidade do  desenvolvedor ter soluções “desagradáveis”, já que quanto mais coisas  que possam dar problemas possam ser feitas, tenha certeza que os  problemas ocorrerão.</p>
<p>A única conclusão que chegamos é uma que todos nós já sabíamos: Java  não é TOTALMENTE orientado a objetos como outras linguagens.</p>
<p>Referência:<br />
<a href="http://www.beilers.com/2011/02/interview-question-name-five-reasons-java-is-not-object-oriented/" target="_blank">http://www.beilers.com/2011/02/interview-question-name-five-reasons-java-is-not-object-oriented/</a></ul>
<div class="shr-publisher-677"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=Xg11Kra7MEE:sSFAAh3kTms:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=Xg11Kra7MEE:sSFAAh3kTms:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=Xg11Kra7MEE:sSFAAh3kTms:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=Xg11Kra7MEE:sSFAAh3kTms:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=Xg11Kra7MEE:sSFAAh3kTms:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/05/java-nao-e-oo/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Linguagens de Programação, quem não tem uma preferida?</title>
		<link>http://www.jornaljava.com/2011/05/linguagens-de-programacao-quem-nao-tem-uma-preferida/</link>
		<comments>http://www.jornaljava.com/2011/05/linguagens-de-programacao-quem-nao-tem-uma-preferida/#comments</comments>
		<pubDate>Mon, 30 May 2011 14:20:47 +0000</pubDate>
		<dc:creator>Geraldo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=673</guid>
		<description><![CDATA[C#, Java, Ruby, PHP, Perl, C e C++, entre outras, possuem defensores e detratores e invocam constantes guerras santas em fóruns e listas de e-mail. Antes de entrar nessas discussões, lembre da origem de sua linguagem preferida e perceba que nessa área, “ninguém é santo”. Java, por exemplo, foi criada para “set-top boxes”, ou seja,<a href="http://www.jornaljava.com/2011/05/linguagens-de-programacao-quem-nao-tem-uma-preferida/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/computer-code-300x300.jpg"><img class="aligncenter size-full wp-image-674" title="computer-code-300x300" src="http://www.jornaljava.com/wp-content/uploads/2011/05/computer-code-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>C#, Java, Ruby, PHP, Perl, C e C++, entre outras, possuem defensores e  detratores e invocam constantes guerras santas em fóruns e listas de  e-mail. Antes de entrar nessas discussões, lembre da origem de sua  linguagem preferida e perceba que nessa área, “ninguém é santo”.</p>
<p>Java, por exemplo, foi criada para “set-top boxes”, ou seja, caixas  que ficam em cima da TV. Agora fazem a web funcionar, talvez de forma  escalável e ineficiente.</p>
<p>C# foi criada pela Microsoft apenas para competir com a Sun, copiando tudo de Java e inserindo algumas melhorias.</p>
<p>C foi um hack criado em cima de assembly para permitir implementar o Unix de maneira portável.</p>
<p>C++ e Objective-C eram basicamente hacks para trazer OO para o programador C.</p>
<p>Pascal foi criada para a sala de aula. Basic também.</p>
<p>PHP, Perl e Ruby, bem, eu acho que essas só foram criadas para satisfazer o ego de seus criadores.</p>
<p>Na década de noventa estudei a origem e evolução das linguagens OO.  Querem saber a verdade? Ninguém, até hoje, conseguiu fazer algo mais  elegante que Smalltalk-80. E Smalltalk-80 era uma mistura de sintaxe  inovadora, o ambiente de Lisp que já existia na Xerox e o conceito OO  lançado por Simula-67 (outra verdadeira inovação feita como um hack em  cima de Algol).</p>
<p>Ruby, uma das mais elegantes das “trending languages” é basicamente  um Smalltalk-80 renovado com algumas invenções posteriores e a sintaxe  “vencedora” de Pascal/C. Para mim é impossível programar em Smalltalk-80  hoje em dia, mas também é uma lição de como as coisas podem ser boas se  não forem mexidas. Smalltalk ainda é puro porque não evoluiu.</p>
<p>Na minha opinião a verdadeira divisão de linguagens está entre as  “linguagens de autor” e as “linguagens de comitê”. As primeiras  normalmente se iniciam com um objetivo único, alta consistência e pouca  funcionalidade extra.</p>
<p>As segundas se iniciam como uma grande massa de funcionalidade e  propriedades. O problema é que, a longo prazo, todas as linguagens de  sucesso acabam virando “linguagem de comitê”: inchadas, difíceis de  aprender e, em um tendência mais atual, cheia de bibliotecas, módulos e  arquiteturas associadas. Além disso, dependendo do autor, as linguagens  são cheias de idiossincrasias, como Perl e PHP, por exemplo, dependendo  do comitê, misturando alhos com bugalhos para atender mercados  incompatíveis.</p>
<p>Normalmente, na academia, você encontrará linguagens mais puras, como  Smalltalk-80 que introduziu uma sintaxe que mantinha a consistência  entre operadores, funções e palavras da linguagem (if, por exemplo). Ou  Prolog, onde tudo são regras.</p>
<p>Na academia as linguagens geralmente “dão filhotes”. Nesse  raciocínio, Aspect J é um filhote de Java, mas não é mais Java.  Normalmente os filhotes não se “somam” e a pureza é mantida.</p>
<p>No mercado, ao contrário, as linguagens tem que atender não só o  público em geral, mas também cada nicho específico que acha que precisa  de uma funcionalidade. Elas vão evoluindo ou, melhor<br />
analisando, “inchando”.</p>
<p>Qual a chance de um código atualizado em Java compilar em um  compilador original? Se você usa as regras certas de programação, zero!  Porém o inverso, as chances de um código Java original rodar em uma  compilador atual tem que ser muito alta. Para isso, “inchamos” a  linguagem, colocando muito e tirando quase nada.</p>
<p>Cômite ou autor? Eu escolho as linguagens pelo que me fornecem e o  apoio para desenvolver os projetos que participo. Hoje eu trabalho em um  “universo Java”. Em volta de mim, na Universidade e na Engenharia,  cresce o “universo Python”. Usar essas linguagens me traz algumas  vantagens. Em algum momento da vida eu parei de usar as linguagens da  Microsoft e não pretendo voltar. Mas não posso me esquecer de como foi  legal programar nos tempos de Turbo Pascal e Delphi. Consistência!</p>
<p>Hoje as demandas são outras. Precisamos de arquiteturas escaláveis.  Precisamos de camadas e mais camadas. Temos que nos curvar a necessidade  de WebServices ou Beans. Temos uma independência de<br />
linguagem em certos momentos, mas que não se realiza dentro das empresas, que não podem investir em mais de uma ou duas.</p>
<p>Que linguagem escolher não é apenas uma questão de qualidade da linguagem, mas sim de todo ambiente que vem em torno dela.</p>
<p>Quer saber que linguagem usar? Olhe a sua volta. Se você é  engenheiro, aprenda Python, Matlab ou Mathematica. Se vai programar para  viver, se especialize em Java, C# ou outra linguagem e mantenha o olho  nas novatas, como Ruby, fazendo tutoriais e projetos caseiros. Se não  vai viver de programação, use uma planilha eletrônica ou software  especializado no que você faz.</p>
<p>Meu conselho ágil: procure o caminho mais fácil que funcione.</p>
<div class="shr-publisher-673"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=CTs1fWQCqbk:IR3fnogaiG8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=CTs1fWQCqbk:IR3fnogaiG8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=CTs1fWQCqbk:IR3fnogaiG8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=CTs1fWQCqbk:IR3fnogaiG8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=CTs1fWQCqbk:IR3fnogaiG8:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/05/linguagens-de-programacao-quem-nao-tem-uma-preferida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Livro Gratuito Jquery: Novice to Ninja</title>
		<link>http://www.jornaljava.com/2011/05/livro-gratuito-jquery-novice-to-ninja/</link>
		<comments>http://www.jornaljava.com/2011/05/livro-gratuito-jquery-novice-to-ninja/#comments</comments>
		<pubDate>Thu, 26 May 2011 18:11:14 +0000</pubDate>
		<dc:creator>LucioCamilo</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://www.jornaljava.com/?p=670</guid>
		<description><![CDATA[Quem estiver a fim de aprender um pouco mais sobre Jquery, vale a pena dar uma lida no livro Jquery – Novice to Ninja. Trata-se de um livro de perguntas e respostas que aborda soluções para vários problemas conhecidos, como também uma compilação das boas práticas de desenvolvimento com Jquery. Todo o código utilizado no<a href="http://www.jornaljava.com/2011/05/livro-gratuito-jquery-novice-to-ninja/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.jornaljava.com/wp-content/uploads/2011/05/jquery.jpg"><img class="aligncenter size-full wp-image-671" title="jquery" src="http://www.jornaljava.com/wp-content/uploads/2011/05/jquery.jpg" alt="" width="289" height="174" /></a></p>
<p>Quem estiver a fim de aprender um pouco mais sobre Jquery, vale a pena dar uma lida no livro <a href="http://www.wowebook.com/javascript/jquery-novice-to-ninja.html" target="_blank">Jquery – Novice to Ninja</a>.</p>
<p>Trata-se de um livro de perguntas e respostas que aborda soluções  para vários problemas conhecidos, como também uma compilação das boas  práticas de desenvolvimento com Jquery.</p>
<p>Todo o código utilizado no livro também está disponível para download.</p>
<p>O livro aborda dentre alguns assuntos:</p>
<ul>
<li>Slideshows;</li>
<li>Menus, Tabs e Panels;</li>
<li>Buttons, Fields e Controls;</li>
<li>Interatividade com Ajax</li>
<li>Utilizando a interface Themeroller</li>
<li>Escrevendos seus próprios plugins Jquery;</li>
</ul>
<p>O livro pode ser baixado neste <a href="http://www.wowebook.com/javascript/jquery-novice-to-ninja.html" target="_blank">link</a>.</p>
<p>Fonte:<br />
<a href="http://www.wowebook.com/javascript/jquery-novice-to-ninja.html" target="_blank">http://www.wowebook.com/javascript/jquery-novice-to-ninja.html</a></p>
<div class="shr-publisher-670"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=M9-rQLF8BUc:H1L82jWDwFo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=M9-rQLF8BUc:H1L82jWDwFo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=M9-rQLF8BUc:H1L82jWDwFo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?a=M9-rQLF8BUc:H1L82jWDwFo:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/JornalJava-FeedCompleto?i=M9-rQLF8BUc:H1L82jWDwFo:-BTjWOF_DHI" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.jornaljava.com/2011/05/livro-gratuito-jquery-novice-to-ninja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.369 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-25 12:58:50 -->

