Archive by Author

Programador é Programador, Hype é Hype e Tradição é Tradição.

Qual é o ultimo grito da moda? o que aconteceu no "SPFashionWeekDeTecnologia" da semana passada que deixamos escapar? com qual tecnologia/produto novo fomos bombardeados e não percebemos? qual o último telefone lançado? o último tablet? a última linguagem que surgiu? Quantas perguntas, quantas respostas?

Talvez o número de respostas para estas perguntas seja tão grande que não caiba neste post, e talvez amanhã precisemos de um post novo para respondê-las novamente. É isso que chamamos de "hype", o último grito da moda, segundo o google, e tecnologia é isso, moda, disputa pelo novo, o grande engolindo o pequeno, a todo momento surge uma nova comunidade de relacionamento, um novo tipo de tecnologia que vai mudar o planeta e salvar as baleias, e ser conservador neste mercado é praticamente um crime digno de pena de morte, queima de processador e esvaziamento de pilha!

Ser conservador o suficiente para poder olhar para traz e prever o futuro.
No final de 54 surgiu uma linguagem chamada FORTRAN e, a partir daí, uma infinidade de novas linguagens foram surgindo: ALGOL(1958), COBOL(1959), BASIC(1964), Simula(1964), PASCAL(1970), SmallTalk(1971), C(1971), PostScript(1982), Perl(1987), Python(1991), Ruby(1993), PHP(1995), Java(1995), JavaScript(1995), entre dezenas de outras que não citei aqui.

E o que isto nos diz?

Uma das leituras que podemos fazer de nossa história é que a FORTRAN não trouxe grandes inovações, mas deixou o mundo mais simples de ser compreendido do que na época do ASSEMBLY. Depois, na década de 60, as linguagens mudaram, inovaram e trouxeram um novo conceito, o de linguagem estruturada, aos moldes de C, Pascal e Basic, e o mundo continuou a evoluir. Em 1967, foi apresentada a Simula67, primeira linguagem a implementar o novo conceito de orientação a objetos (OOP). Em 1980, foi lançada a versão SmallTalk80, inovando o conceito de OOP e dando força para esse novo paradigma. Já na década de 90, surgem as linguagens com suporte WEB. O mundo dá uma regredida, PHP/ASP nascem procedurais mas logo evoluem para o conceito OOP, assim como JAVA e outras. Hoje em dia, é altamente desaconselhável aprendermos uma linguagem que não seja OOP, a não ser por questões muito específicas, em casos muito raros.

Eu vi surgirem varios Hypes, puxados por pessoas atrás de fama; linguagens mortas renascerem para morrerem sem o menor sentido de ser, e creio que um programador ou um futuro programador deva fazer algumas reflexões sobre em qual tecnologia investir:

Qual é a história da linguagem que eu quero aprender?

Com qual frequência ela é atualizada?

Ela é OOP?

Qual a produtividade?

Existem Frameworks para ela?

Existe uma comunidade ou há uma empresa  mantendo essa linguagem?

Como é a documentação dela?

Como o mercado remunera os programadores?

Quais softwares foram desenvolvidos usando essa linguagem?

O que estou falando aqui neste artigo tem mais a ver com mercado e investimento do seu valioso tempo. Apenas algumas dicas para avaliar e definir qual caminho você quer que sua carreira percorra. Cuidado com as armadilhas do mercado! Os hypes que surgem simplesmente desaparecem em pouco tempo ou, quando vingam, demoram anos para ganhar força no mercado. 

Um exemplo simples e específico de uma linguagem que está em transformação hoje é o HTML5. Ele não é um milagre, mas vai melhorar muito a maneira como programamos hoje. No entanto, não teremos suporte a ele da forma como gostaríamos até o final do ano e talvez nem no próximo, porque dependemos das novas versões de navegadores e também dos usuários, que precisam atualizar seus navegadores.  Quem quer entrar no mercado agora, tem que dominar XHTML, sem tirar os olhos do HTML5, claro! Mas vejam o I6, quase imortal. A inovação é lenta e isso não é ser conservador; é ser realista e antenado ao futuro próximo.

Não existe milagre, não vai surgir uma nova linguagem, um framework, uma tecnologia mágica que fará o mercado gastar bilhões migrando os seus sistemas em um curto espaço de tempo. Olhe para o passado para prever o futuro e duvide dos milagres.

Web 2.0, 3.0, 4.0 enfim internet!

Salve,

Amigos, sem muitas apresentações, meu nome é Mateus Martins, e trabalho com internet a muito, muito tempo, e nesse muito tempo vi muita coisa acontecer, vi muita coisa mudar, muita coisa nascer, vi muitas delas morrerem ou nascerem mortas, vi muitas renderem milhões, quando aconteceu o estouro da chamada "bolha da internet" eu estava la dando meus primeiros passos, e depois disto muita coisa mudou "fazer site" virou profissão, as pessoas se profissionalizaram, as empresas se profissionalizaram, tivemos uma faze muito obscura, momento onte todo mundo se armou com seu “Personal FrontPage” e foi pra guerra “fazer sites”, mais a guerra fria acabou, a adivinhem, a guerra dos browsers acabou, tudo começou a ficar mais “fácil” e pronto, uma onda cobriu o cenário novamente, nasceu a web 2.0 e todo mundo se apavorou e veio a web 3.0, 4.0, 100000.0 e “ai meu deus”, isso é tudo internet.

Muito cuidado novamente, com certeza estamos em uma fase de transição impar na história da internet, e esta faze só é possível graças a maturidade do conceito de desenvolvimento que evoluiu muito nos últimos anos, O consorcio W3C foi fundamental para isso a partir do momento que começou a discutir e documentar o que chamamos de padrões de desenvolvimento.

Nada de muito novo ai, basicamente começamos a “usar as coisas da maneira como elas devem ser usadas”. Mas o que isso quer dizer?

Usar as coisas da maneira como elas devem ser usadas.

Vamos pensar um pouco no que eu preciso para fazer uma pagina para internet. O produto final de uma pagina na internet possui normalmente uma programação HTML, eu digo produto final, pois podemos usar linguagens dinâmicas como PHP ou ASP entre varias outras, que por fim, gerarão um código HTML para ser exibido em um navegador. Uma apresentação em flash, uma animação, um banner, uma imagem, só aparecem no seu navegador graças ao HTML.

Portanto o HTML é o bem mais precioso que temos na internet, e ele precisa apenas de um navegador para ser exibido, mesmo que este navegador esteja instalado em um celular, ou qualquer outro dispositivo eletrônico.

Nossa, que maravilhoso então, o HTML salvou o mundo? Não, o HTML é apenas uma linguagem de marcação de texto, isto significa que quando usamos as coisas da maneira como elas devem ser usadas, o HTML é basicamente texto e marcação, caso você queira dar uma aparência a seu texto, aplicar um belo layout é necessário trabalhar com folhas de estilo em cascata, conhecidas como Cascading Style Sheets (CSS). O CSS possui sua sintaxe a parte, suas regras e normas, e elas podem ser colocadas no meio de um HTML, porem recomenda-se separar um arquivo HTML de um arquivo CSS, existem vários motivos para fazermos esta separação, dentre eles cito, um HTML pode ter vários CSS, um para o monitor, um para Impressão e um para o Celular, um navegador de texto ou um robô como o robô do Google, não precisa ler o seu CSS, ele lê apenas o HTML que é quem possui conteúdo relevante para buscas.

Ótimo, então só para sintetizar o que foi dito aqui, temos dois arquivos para uma mesma página, um arquivo com conteúdo HTML e outro com a formatação em CSS, desta forma começamos a separar nossa aplicação em camadas, e temos duas camadas até o momento. Agora podemos avançar um pouco mais no nosso conceito, e dar mais poder a nossa aplicação, esse poder seria apenas o controle de comportamento e interações com o usuário, e o responsável por isso seria o Javascript.

O Javascript foi uma linguagem que ganhou força com o fim da guerra dos browsers, a partir do momento que todos os navegadores mais usados começaram a interpretá-lo de forma muito semelhante, a comunidade de desenvolvimento começou a ficar mais a vontade para utilizá-lo, porem, ainda é preciso cautela, vários navegadores não dão suporte a ele, ou dão um suporte muitíssimo limitado e por esse motivo é vital que separemos em nossa aplicação o Javascript de nosso HTML, chamamos isso de Javascript não obstrutivo e desta forma completamos o triangulo de nossa pagina HTML + CSS + Javascript

Separar uma aplicação em camadas é vital para a escalabilidade de um projeto, para seu bom funcionamento em vários dispositivos diferentes, e também para facilitar a manutenção do mesmo. Mesmo que a curva de aprendizado seja um pouco mais longa, principalmente para quem esta acostumado a trabalhar com tabelas, porem são muitos os frutos que se colhe após adotar este modelo.

Nos próximos capítulos vamos ver este conceito funcionando na prática, então até la pessoal!