Ir para conteúdo
Fórum Script Brasil
  • 0

ASP, uma tecnologia mal interpretada


bareta

Pergunta

bom eu tava procurando umas coisas de classes e etc e tal, para JAVA e acabei lendo sobre asp e achei este artigo que axei muito interresante...

ta certo que algumas coisas nem sempre funcionan mais... é valido...

ASP, uma tecnologia mal interpretada

Olá, amigos do iMasters.

Após treze anos de desenvolvimento web, nos quais dos cinco últimos dediquei-me quase que inteiramente ao desenvolvimento na plataforma .NET, finalmente enxerguei no ASP Clássico o mais versátil ambiente de desenvolvimento web. O motivo principal dessa versatilidade é, pasmem, ele ser interpretado. Isso pode parecer brincadeira, principalmente depois de todo barulho em torno do code-behind e das vantagens de performance do código compilado mas, na minha humilde opinião, esta característica somada ao suporte de múltiplas linguagens é o que garante ao ASP uma posição de destaque na escolha de ambientes para programadores avançados.

Visando a compartilhar minha experiência e ponto de vista com toda a comunidade, decidi criar uma série de artigos onde irei abordar os tópicos-chave que levam a uma maior compreensão da força escondida do ASP. Eles estão ordenados em uma seqüência que me pareceu didática até mesmo para iniciantes. São eles:

ASP, uma tecnologia mal interpretada.

Programação orientada a eventos e lambda function em ASP/VBScript.

TDD (Test Driven Development) em ASP/VBScript.

Linguagens: Baseada em Objetos e Orientada a Objetos.

Orientação a Objetos em VBScript "Hackers way".

Scripting Components, os "Ás" na manga.

Caching, conceito de DRY (Don't Repeat Yourself) aplicado ao ASP.

Em todos os artigos posteriores indicarei a etapa atual em negrito. Não pretendo parar de contribuir após o término dos sete temas. Provavelmente atacarei problemas pontuais e temas mais específicos que ilustrem o porquê da vantagem do ASP. Bom, um passo de cada vez..

ASP não se codifica apenas em VBScript

Geralmente, de tanto dizermos programar em ASP, muitas pessoas acham que ASP é uma linguagem de programação. Isto acontece também com o .NET, apesar de todo o marketing e esforço da comunidade para esclarecer o assunto, existem muitas pessoas que não compreendem claramente a diferença entre um framework e uma linguagem de programação. Estas pessoas são programadores e não programadores. Claro que aceitamos que não programadores desconheçam esta diferença, mas é inaceitável que programadores não saibam distinguir uma coisa da outra. A Microsoft fez um bom trabalho na propaganda do .NET de modo que os programadores estão satisfatoriamente bem informados do assunto (É bem comum você ver as pessoas se corrigindo nos fóruns). Entretanto, quanto ao ASP Clássico, é muito comum, por exemplo, encontrarmos análises como "PHP vs ASP" e ninguém reclamar. O c*mulo do absurdo é quando estas pessoas comparam a syntax do PHP com a do ASP/VBScript e julgam PHP superior ao ASP apenas porque o PHP é membro das linguagens da família do C/C++ que tem uma ampla base de programadores que, supostamente, aprenderiam mais rapidamente a linguagem pela similaridade da syntax. Isto se deve ao fato de os autores serem obrigados a escolherem uma linguagem para conseguir falar alguma coisa sobre o ASP. Eu mesmo de certa forma contribuo para esta confusão, uma vez que escrevi a especificação da "linguagem ASP" do GTKSourceView-2.0 utilizando somente as informações do ASP/VBScript. Isso mesmo, todo novo geek que abrir um programa baseado no GTKSourceView-2.0 no linux e escolher a opção ASP, estará utilizando uma especificação ASP/VBScript. Portanto aceito a convenção de que, sob o contexto de linguagem, o ASP seja implicitamente compreendido como ASP/VBScript.

O fato é que o ASP é o precursor do CLI (Common Language Infrastructure), uma especificação aberta criada pela Microsoft que define o código executável e o ambiente de execução que formam o núcleo de vários produtos da empresa (incluindo .NET Framework, Mono e Portable.NET). Portanto, suporta muitas linguagens de programação, por exemplo: VBScript, JScript (oficiais), Perl, Python, TCL (obrigado equipe da ActiveState) e até, pasmem de novo, PHP (obrigado Wez Furlong). Enfim, qualquer linguagem com uma interface ao ActiveScripting do Windows serve para programar em ASP. Como exemplo, segue o código abaixo que é válido no meu servidor:

<% @language="VBScript" %>
<code><pre>
<%

Response.write("Running ASP(Active Server Pages) with VBScript" & vbNewline)
Response.write(js() & vbNewline)
Response.write(perl() & vbNewline)
Response.write(python() & vbNewline)
Response.write(php() & vbNewline)

%>
</pre></code>
<script runat="server" language="Javascript">
function js() {
    Response.write("Running ASP(Active Server Pages) with JavaScript");
}
</script>
<script runat="server" language="PerlScript">
sub perl {
    $Response->write("Running ASP(Active Server Pages) with Perl.");
}
</script>
<script runat="server" language="Python">
def python():
    Response.write("Running ASP(Active Server Pages) with Python.") </script>
<script runat="server" language="PHPScript">
function php() {
    $Response->write("Running ASP(Active Server Pages) with PHP.");
}
</script>

Este tipo de comportamento é o que aumenta exponencialmente o poder do ASP. Um interpretador poliglota como este tem o poder de compreender expressões que não poderiam ser geradas rapidamente utilizando-se apenas uma linguagem, ou que ainda nem poderiam existir em algumas linguagens.

ASP é uma tecnologia que deu certo

Este é um outro grande mal entendido que existe quanto ao ASP. Muitos acham que a Microsoft criou o .NET pelo fato de o ASP não ter dado certo. Dizem que código compilado e hard typed é melhor e por aí vai. Eu acho que a Microsoft criou o .NET exatamente devido ao fato de o ASP dar certo! Pelo menos para web, ele ia muito bem, obrigado. Lembro-me de ter pensado muitas vezes no meu início do .NET "Essa biblioteca não serve exatamente para acessar o banco de dados, o que ela quer é que eu pegue o data-source e jogue no grid, que não tem as features de que preciso! Maldita linguagem, parece que fizeram primeiro os objetos e só depois fizeram as bibliotecas para cobrirem apenas as necessidades dos objetos que eles criaram." - Um ano depois, saía a versão 2.0 do .NET que quebrava compatibilidade e melhorava um pouco a situação do ASP.NET. O que ocorreu na verdade é que eu, como muitos outros profissionais de ASP da área, fui bombardeado com o poderoso marketing da Microsoft e achei que o futuro seria .NET, quando tudo aquilo que o .NET oferecia como diferencial já estava presente no ASP. Só que na forma de Java... ou vocês acham que foi coincidência a Microsoft "clonar" o Java (J#) e fazer uma versão proprietária dele um pouquinho modificada (C#) para ser a linguagem carro chefe do .NET?

Para aqueles que ainda duvidam, dêem uma olhada no ASP Conventions escrito em 17 de Março de 1998 na MSDN. Tópico ASP Application Directory Structure. Reparem nos diretórios /Classes e /DLL, que a própria Microsoft diz serem úteis para respectivamente: "Guardar classes Java utilizadas pela aplicação" e "Guardar componentes COM Server e Visual Basic 5.0 run-time DLLs". Alguém ainda não entendeu que o ASP Clássico já era estruturado para trabalhar com códigos compilados desde 1998? Só pelo fato do ASP executar nativamente, sem registro necessário no servidor as classes Java já dava para ter desconfiado...

ASP não parou no tempo

Como vocês devem ter notado, apesar de as linguagens de oficiais (VBScript e JScript) do ASP não possuírem uma vasta biblioteca, outras linguagens como Python, Perl e PHP trazem toda sua library prontinha para ser utilizada no ASP. E mais, os novos componentes de ADO, XML e outros criados para o .NET estão também disponíveis para o ASP clássico, é por isso que hoje em dia somos capazes de chamar um MSXML2.DOMDocument60, por exemplo.

segue o link

http://imasters.uol.com.br/artigo/11266/as...l_interpretada/

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...