VISUAREA: com você desde 2014  
 

CATEGORIAS

 

A internet e as linguagens de programação

por João Taboada28/01/20150

Bom, para quem ainda não sabe (e nem tem obrigação de saber), todos os aplicativos de computador são feitos em linguagens de programação específicas como Visual Basic, Java, C, Delphi, etc. Eles são escritos na sintaxe particular da linguagem, em programas próprios para isto e, em seguida, compilados para o sistema operacional no qual vão rodar. Após esta compilação, já se tornam programas de fato, prontos para serem utilizados por nós usuários. Aplicativos para internet também são feitos desta forma, com a diferença que, estes, em geral, são também interpretadores de outras linguagens. Os softwares para internet podem estar na condição de servidores, de interpretadores de linguagens do lado do servidor, de softwares de e-mail, de comunicadores instantâneos ou de interpretadores de linguagem do lado do cliente (browsers ou navegadores), dentre outros, e são eles que regulam o fluxo e fazem a interpretação dos dados que chegam até nós, estejam em forma de texto, imagem ou som. Imagens estáticas, animações, som, vídeo e arquivos de diversos tipos nos chegam sempre em formato binário, ao passo que, informações referentes a linguagens interpretadas trafegam em formato de texto simples. Todos estes dados fazem parte do conteúdo dos sites que acessamos que sempre chega até nós sem nos darmos conta de como isso acontece.

Mas falando de linguagens para internet, especificamente, existem basicamente dois tipos: as linguagens server side (ou, do lado do servidor) e as linguagens client side (ou, do lado do cliente). Mas o quem vem a ser isto?
Linguagens server side são interpretadas nos servidores onde ficam hospedados os sites que acessamos todos os dias. Linguagens client side são interpretadas pelo browser ou programa de e-mail no nosso computador e nos mostram as informações formatadas visualmente, com imagens e textos posicionados da forma como foi concebido. Como exemplo de linguagens Server side temos ASP, PHP, Ruby, Cold Fusion, etc. Já para linguagens client side temos HTML, CSS e JavaScript. Algumas destas linguagens podem trabalhar em conjunto, fazendo interpretações no servidor e gerando resultados inteligíveis e normalmente visualizáveis para nós humanos. Esta "sinergia" entre elas é que torna a web tão rica como acessamos hoje.

Mas, nem sempre foi assim...

Por volta de 1999 comecei a aprender HTML e, nessa época, a internet era algo não muito conhecido e que não "enchia os olhos" de ninguém, afinal, não oferecia muito conteúdo e as conexões eram do tipo discadas (dial-up), caras e muito lentas. Os 45 Kbps prometidos normalmente conectavam a 33 e era muito comum, inclusive, a utilização de provedores gratuitos para se fazer a conexão (tipo UOL, Ubbi, POP, IG, Ibest e por aí vai), através dos seus famosos discadores. Geocities e HPG eram os servidores mais conhecidos que permitiam a hospedagem gratuita de sites e faziam isso com a contrapartida de se colocar algum tipo de propaganda obrigatória em suas páginas (eu, inclusive, tinha um no Geocities). Estes dois provedores foram posteriormente vendidos ao Yahoo! e ao IG, respectivamente, antes de serem encerrados.

Nesse tempo, pouco era oferecido em termos de linguagens de internet, sendo a mais conhecida, lógico, a HTML. Esta linguagem foi criada em 1990 por um membro do Conselho Europeu para a Pesquisa Nuclear em Genebra (Cern) chamado Tim Berners-Lee. Foi a HTML que permitiu a navegação entre páginas - através do protocolo HTTP - e, também, o surgimento da Web.

A HTML não é uma linguagem de programação, mas, uma linguagem de marcação, ou seja, ela não tem os recursos poderosos de uma verdadeira linguagem de programação, mas permite que sejam definidos os elementos que serão exibidos na página e os que farão interação com navegadores (browsers) e servidores (webservers). Duas das características mais poderosas da HTML são o hipertexto (linkagem de página para página) e a transmissão de dados por formulários. Estas duas coisas, basicamente, são as que permitem com que a gente navegue pelos sites, faça login em redes sociais, poste comentários, envie e-mails pelas páginas de contato, etc. Isto, é claro, ajudado por linguagens mais complexas, como PHP, ASP, JSP, Ruby e Cold Fusion, dentre outras, sendo estas sim, verdadeiras linguagens de programação. São elas que executam as operações mais complicadas entre páginas e servidores, realizando processamentos, cálculos e acesso a bancos de dados, retornando seus resultados para os navegadores, que, por sua vez, exibem estes valores já processados em HTML, ajudados pelas CSS - as famosas Folhas de Estilo em Cascata. São as CSS que permitem mostrar os resultados HTML já formatados, com cores e tamanhos de fontes definidos, e elementos como tabelas e camadas posicionados em seus lugares corretos, dentre inúmeras outras possibilidades estéticas e até funcionais que a linguagem proporciona.

Voltando à época da internet discada, além dos provedores de acesso, existiam muito provedores de diversos tipos de conteúdo gratuito para quem tinha poucos recursos financeiros. Estes, ofereciam guestbooks, formulários de contato, chats, enquetes e sisteminhas de votação, dentre tantos outros, sendo a maior parte escritos em Perl. Estes recursos poderiam ser inseridos nos sites através de iframes (que são divisões internas na janela do browser), o que quer dizer que, o processamento dos dados destes scripts, na verdade, era feito nos provedores e não nos próprios sites, sendo assim, era possível criar um site apenas em HTML e inserir estes recursos nele sem entender nada de programação.

Pois bem, linguagens de programação para internet (também conhecidas como linguagens de script) já tinham surgido há um certo tempo (PHP e ColdFusion em 1995, ASP em 1996, além de Perl em 1987) e em alguns anos se tornaram populares, permitindo que os desenvolvedores web escrevessem seus próprios sistemas e "acoplassem" estes em seus sites pessoais, diretamente em suas páginas. Assim aconteceu com PHP que, em pouco tempo, se tornou a linguagem de programação web mais utilizada e que, particularmente, me permitiu construir sites dinâmicos quando ainda era difícil conseguir gente com este conhecimento para se fazer parcerias. Sites de repositório de scripts como HotScripts e ScriptSearch são o termômetro desta popularidade do PHP. A ascensão das linguagens dinâmicas coincidiu com a extinção (ou, pelo menos, redução) dos provedores de hospedagem gratuitos e o barateamento e crescimento dos provedores pagos. A partir deste período, uma web mais profissional e menos "aventureira" começava a surgir. Digo isto pelo fato de que, com o declínio dos provedores gratuitos, menos pessoas sem conhecimento de Design ou programação se aventuravam a fazer sites. É claro que, ainda existiam estas pessoas, que ajudadas pelo Adobe Flash criavam pequenos sites animados que se tornaram verdadeira febre na web. Não que fazer sites em Flash fosse algo amador, pelo contrário, existiam muitos sites de perfil profissional - e de grandes empresas - feitos neste aplicativo. Mas, aparentemente, era um caminho fácil para não-designers ganharem dinheiro se intitulando "webdesingers", aproveitando a onda do momento e criando sites com aquelas antipáticas introduções animadas que enchiam os olhos de seus clientes e resultavam apenas em perda de tempo para o usuário. Após o surgimento do Flash (em 1996), chegou-se a cogitar que a HTML iria acabar, o que, mais tarde, não se comprovou. Steve Jobs, em 2010, determinou que seus aplicativos não iriam mais suportar Flash (que é uma linguagem proprietária) em favor de uma linguagem aberta, no caso, a HTML5 (2008), o que impulsionou o declínio do recurso da Adobe. Um dos papas da web, Jacob Nielsen, sempre questionou a pertinência do Flash fazendo severas críticas a este recurso de animação, que inclusive, tinha a característica de funcionar como um "escudo" entre o usuário e o site, pois não permitia acesso ao código-fonte por humanos e máquinas e, consequentemente, negava acessibilidade a seu conteúdo por parte das pessoas com deficiência.

Antes do declínio do Flash, porém, a partir de 2004, surgiu uma coisa intitulada "web 2.0". Para muitos, um novo momento, onde as novas características da web permitiam que a exposição de ideias pelas pessoas a tornassem mais colaborativa. Para mim e para outros tantos, apenas uma consequência do que já era feito e dos recursos que já tinham sido inventados, maquiada por um termo "espertinho", ridículo e determinista. A chamada web 2.0 se caracterizou pela "democratização" das informações na internet, onde as pessoas passaram a ter mais liberdade e espaços para expor suas opiniões graças à popularização dos blogs (a partir de 2003) e à invenção das redes sociais (orkut e Facebook, em 2004). Na verdade, os recursos e as linguagens como HTML, CSS, PHP, ASP, JavaScript, Ajax e MySQL, dentre tantos outros, já existiam antes dessa época, só que, evoluíram e passaram a ser aplicados de outras formas. Na minha opinião, uma postura bastante ingênua querer definir a web por níveis. Se isto fosse correto, hoje, poderíamos estar vivendo a web 3.0, onde uma parte das pessoas deixou de lado o computador desktop e passou a acessar sites e aplicativos e a se comunicar por dispositivos móveis enquanto caminha, trabalha, dirige, toma cerveja, etc, enfim, algo não imaginado em 2004.

A WML, aliás, linguagem criada em 1997 para ser utilizada dentro do protocolo WAP pelos aparelhos de celular estagnou e se viu suplantada, depois, pela velha e conhecida HTML, graças à evolução destes dispositivos e a uma nova técnica chamada "Design responsivo". Esta técnica, criada em 2010 por Ethan Marcotte, consiste em elaborar sites que se adaptam às dimensões e orientação dos monitores, sejam eles de notebooks, desktops, celulares, tablets ou smartphones, com a utilização de HTML, CSS (com suas midia queries) e JavaScript. Esta última linguagem, aliás, que tinha passado anos como mera coadjuvante da HTML, ganhou fama e adquiriu um lugar de destaque na web a partir de bibliotecas como JQuery e Scriptaculous, Ajax (que não é o detergente), e sua notação de armazenamento de dados, o Json (que não é o Jason de "Sexta-Feira 13"). Os recursos de interação e animação proporcionados pelo JavaScript foram determinantes para remodelar as concepções de leiaute de página. Galerias de imagens popup, slideshows, layers de conteúdo que aparecem e se distendem, permitiram que se desse um pouco mais de ênfase à estética sem reduzir o acesso à informação.

As linguagens de programação também possibilitaram a criação do site mais visitado até hoje no planeta: o Google (difícil imaginar nossa vida sem ele). Aliás, outros sites que adquiriram grande importância como Facebook, Youtube, Wikipedia, Twitter, Instagram, redes sociais de forma geral e todos os sites que têm grande quantidade de dados armazenados são feitos em linguagens de programação. Até sites pessoais, hoje em dia, são atualizáveis, portanto, nunca poderiam ser feitos apenas em linguagens estáticas como a HTML.

Vale ressaltar que a versatilidade no acesso e o consequente sucesso das aplicações web só foram possíveis graças à evolução das linguagens, dos interpretadores destas linguagens, dos servidores e dos navegadores, estes últimos, a grande dor de cabeça dos desenvolvedores de sites durante muitos anos e cujos maiores representantes são Internet Explorer, Chrome, Firefox, Safari e Opera. Para nossa sorte, os browsers já compartilham da maior parte dos padrões estabelecidos pelo W3C (que é o órgão que regula os padrões web), incluindo os de dispositivos móveis, aliviando os webdesigners do sofrimento de ter que testar o mesmo site em várias versões de navegador diferentes.

Enfim, ninguém é capaz de prever até onde a internet vai chegar, mas, com certeza, o que temos hoje em termos de comunicação digital devemos às brilhantes criações, é claro, do computador e, também, dos servidores, dos compiladores, dos sites, das linguagens, das padronizações e tudo o mais que envolve o mundo dos três "W", a grande teia mundial. Este artigo, que tem um leve cheiro de naftalina, é apenas uma "pixelada" do que já aconteceu. Muito mais ainda está por evoluir e, com certeza, virão novas linguagens e grandes recursos "internetianos" que modificarão nossas vidas para sempre.

Abaixo, uma explicação resumida do que são e o que fazem as principais linguagens de internet.


ASP (Active Server Pages), PHP (Hipertext Pre-Processor), JSP (Java Server Pages), CFML (ColdFusion Markup Language), Perl e Ruby - São linguagens de programação que agem do lado do servidor. Páginas com estas extensões (ex.: index.php) recebem a solicitação de acesso feita pelo usuário, fazem o processamento dos dados no servidor e retornam o resultado em forma de HTML (em conjunto com as outras linguagens que foram definidas durante a construção da página). O usuário não tem acesso de fato à linguagem da página que faz o processamento, mas apenas a seus resultados em HTML.


HTML (HiperText Markup Language), XHTML (eXtensible HiperText Markup Language), WML (Wireless Markup Language) - São linguagens de marcação e agem do lado do cliente. Elas descrevem na página o que vai ser mostrado em termos de conteúdo ao usuário - sendo a HTML a linguagem base da web - e, sendo linguagens de browser, o usuário pode ter acesso a seu código.


CSS (Cascanding Style Sheets) - Linguagem client side de estilização visual, ou seja, ela determina como os elementos da HTML (textos, títulos, imagens, tabelas, colunas, linhas, etc.) vão ser apresentados ao usuário pelo navegador. O mesmo padrão de apresentação pode ser estendido a várias páginas, bastando para isto, uma chamada em HTML ao arquivo correspondente ao bloco de códigos CSS externo.


JavaScript - Linguagem de programação client-side, ou seja, funciona no browser. Através de JS podemos inserir efeitos de animação visualizados no navegador, fazer validação de formulários, exibir cronômetros, emitir alertas, abrir popups, etc.


Ajax (Asynchronous JavaScript And XML) - Recurso de acesso a banco de dados baseado em JavaScript. Através de um link em Ajax fazemos uma solicitação ao servidor que nos retorna os valores em uma parte específica da página, sem que seja necessário o carregamento da página toda.


XML (eXtensible Markup Language) e JSON (JavaScript Object Notation) - Linguagens de intercâmbio de dados. Arquivos com estas extensões devem ser acessados por outras linguagens para recuperação dos dados armazenados neles.


AS (Action Script) - Linguagem nativa do Adobe Flash, que permite, inclusive, acesso a outras páginas, mídias e banco de dados.


JQuery, Scriptaculous, Prototype - Bibliotecas de código JavaScript. O Acesso a determinados blocos de código feito nestas bibliotecas permite a inserção de recursos poderosos de animação e validação de dados nas páginas web.


MySQL - Banco de armazenamento de dados relacional. Pode ser utilizado por diversas linguagens de programação para inserção e recuperação de dados, sejam estes dados binários ou texto simples.


Nota 1: as linguagens de programação de internet também são conhecidas como linguagens de script, pois, ao invés de precisarem ser compiladas - como um programa comum de computador - elas precisam ser interpretadas por um outro programa específico, que é quem realiza as operações. Elas são escritas em texto simples, sendo possível, portanto, se utilizar o Bloco de Notas como editor.


Nota 2: sites estáticos são aqueles feitos em HTML apenas, sem acesso a bancos de dados. Sites dinâmicos são os que permitem acesso a bancos de dados e consequente interação com usuários, que podem fazer comentários, "curtir" postagens e, também, postar suas ideias para que outros vejam. Sites animados, obviamente, são os que possuem animações, mas não são considerados dinâmicos por causa disso.

Artigo técnico-reflexivo a respeito daquelas que, sem a gente ver nem saber, já participam de nossa vida há vários anos

http://www.visuarea.com.br/artigos/a-internet-e-as-linguagens-de-programacao
Curtiu? Apoie-nos compartilhando nas redes sociais.

Palavras chave: internet e linguagens de programacao, linguagens programacao internet



VEJA TAMBÉM
13/10/2014

Softwares não são designers

Design não se resume a computador, vem antes dele e vai além dele. Softwares não podem determinar o valor de um profissional mas alguns acham que sim.




COMENTÁRIOS - Clique aqui e faça o seu
Novo comentário
Nome

E-mail (não será mostrado, mas será necessário para você confirmar seu comentário)

Comentário (de 1000 caracteres)
Nota: antes de enviar, certifique-se de que seu comentário não possui ofensas, erros de ortografia ou digitação, pois estará sujeito a avaliação e, também, não poderá ser corrigido.

SEJA O PRIMEIRO A COMENTAR ESTE POST.