Como tornar o ASP clássico interessante se você está preso a ele? [fechadas]

14

Eu costumava trabalhar em uma empresa de terceirização muito pequena (4 programadores e o chefe); então, quando o estresse e os turnos longos e frequentes tornavam a situação insuportável, mudei para um trabalho melhor remunerado, com um cronograma mais descontraído que me permite um pouco mais tempo livre.

O problema, no entanto, é que, na maioria das vezes, tudo é codificado no ASP clássico que faz interface com um sistema de enfileiramento C ++ personalizado que armazena tudo nos sistemas AS400. Meu chefe costumava ser um dos desenvolvedores que fez os esforços iniciais para isso e, naturalmente, nunca aprovará a mudança para outros idiomas / tecnologias, apesar da crescente dificuldade que representa o desenvolvimento das necessidades de negócios atuais com as ferramentas de ontem.

Estou praticamente travando a codificação com o ASP clássico no futuro próximo e estou lutando para encontrar maneiras de torná-lo pelo menos interessante, pois costumava trabalhar com .NET e Java anteriormente e sinto que estou indo para trás ... Algum conselho?

Saul Delgado
fonte
13
... transformá-lo em um jogo de beber? Ele funciona para muitos filmes ruins e programas de TV ...
FrustratedWithFormsDesigner
4
Eu acho que ele seria morto por envenenamento por álcool em pouco tempo ...
Wayne Molina
4
Outra idéia: compartilhe suas descobertas no TheDailWTF.com para que outras pessoas possam oferecer suas simpatias.
FrustratedWithFormsDesigner
2
Eu questiono a premissa ... muito poucas pessoas que pensam que estão "presas no futuro próximo" realmente estão. A menos que seja um trabalho na prisão, há uma saída se você se esforçar para encontrá-lo. Se você ainda acha que está "preso", imagine isso ... a empresa encerra seus negócios amanhã. Você ainda estaria "preso"? Se não, então por que você está "preso" agora?
JoelFan
1
"tudo é codificado no ASP clássico que faz interface com um sistema de enfileiramento C ++ personalizado que armazena tudo nos sistemas AS400." Vou ter pesadelos com isso.
Tjaart #

Respostas:

27

Como outros já apontaram, você provavelmente deve tentar mudar a mente do seu chefe ou encontrar emprego onde não precise suportar uma mentalidade tão atrasada.

Entretanto , nesse meio tempo, você pode tornar seu trabalho um pouco mais interessante, tentando mover qualquer funcionalidade que possa ser do lado do cliente e usar chamadas assíncronas para acionar coisas que acontecem no servidor. Pense nisso como um front-end HTML / JavaScript com serviços da Web (implementados no ASP clássico) no back-end. Desenvolver uma API RESTful pode ser um desafio interessante, existem algumas ferramentas, como analisadores JSON para ASP clássico, para mover dados de uma maneira mais padrão e o modelo do lado do cliente permite formatar os dados obtidos dos serviços da Web para uma melhor apresentação. O LinkedIn fez algo semelhante para unificar diferentes tecnologias de back-end.

Depois de ter uma API RESTful, você pode tentar escrever alguns serviços da web gerenciados para emular a funcionalidade do material ASP clássico existente.

R0MANARMY
fonte
4
+1 Ótima resposta! Torne o ASP clássico mais moderno! Você pode acabar fazendo algo MUITO único e inteligente e aprenderá muito. Acho que nunca estou entediado quando estou aprendendo.
maple_shaft
@ maple_shaft: o truque é evitar o aprendizado por tempo suficiente para que algo útil seja feito =).
R0MANARMY
Sim, esse é exatamente o tipo de resposta que eu estava procurando. Enquanto isso, algo para fazer. Além disso, para os outros caras que sugerem procurar outro emprego, sei que eventualmente encontrarei outro emprego que atenda aos meus interesses, e não será uma escolha difícil quando bater à minha porta.
Saul Delgado
11

Antes de começar, não abordarei a questão de saber se o seu chefe está certo ou não em insistir no ASP clássico. Você não nos deu informações suficientes. Se você possui um corpo muito grande de código existente no Classic ASP que é 95% bom o suficiente e está executando pequenas tarefas de manutenção, provavelmente é uma boa ideia ficar com o Classic ASP ... o custo de portar tudo para um o novo idioma pode estar muito alto. No entanto, se seu chefe está lançando novos projetos no ASP clássico, bem, não há desculpa para isso. E há toda uma gama no meio. Portanto, não tenho informações suficientes para avaliar isso e não me incomodo.

Mas quero abordar sua pergunta precisa ... como fazer a codificação interessante .

É interessanteuma coisa boa na codificação? Lembre-se da maldição chinesa: "Você pode viver em tempos interessantes?" Bem, provavelmente não é chinês ... mas o problema é que eu questiono se todas as formas de programação devem ser interessantes. Às vezes, você só quer que seja fácil e direto. As maiores bagunças de código que eu já tive que limpar foram causadas por desenvolvedores que estão cansados ​​da maneira simples e direta de fazer algo e precisam encontrar um recurso de linguagem inteligente que ninguém jamais ouviu, apenas para manter sua mente estimulada. Lembro-me de encontrar 20 linhas de código C ++ cujo objetivo eu simplesmente não conseguia decifrar. Acontece que houve algum tipo de truque sutil de um desenvolvedor para garantir que determinadas variáveis ​​foram inicializadas como 1 se você esqueceu de inicializá-las. Era ridículo, e garoto, era interessante. Mas desperdiçou todo mundo

Há muita virtude em escrever a maior parte do seu código diário em uma linguagem "chata". Isso significa que você pode usar seu cérebro para pensar no domínio do aplicativo, em vez de tentar descobrir por que o recurso de idioma mais recente que você acabou de criar não está funcionando da maneira que você esperava. Geralmente, você pode trabalhar muito mais rápido se entender completamente seu idioma e suas bibliotecas. E isso significa que você pode usar seus ciclos cerebrais para algo como pensar em tornar seu aplicativo mais interessante, mais útil, mais rentável ou mais utilizável.

Para manter sua mente afiada, use seu tempo livre para aprender novos idiomas interessantes. Trabalhe em projetos de código aberto ou em seus próprios projetos.

Lembre-se de que não estou defendendo o uso do ASP clássico e não estou dizendo que é uma boa ideia usá-lo porque é "chato". Se você acha que é uma virtude usar um ambiente de desenvolvimento "interessante", mais poder para você ... mas você está se concentrando na coisa errada. Um bom escultor não quer um cinzel interessante ... que atrapalhe a criação de estátuas bonitas. Um bom pintor não está procurando pincéis "interessantes". Eles podem brincar com ferramentas interessantes, mas farão seu melhor trabalho com as ferramentas mais chatas possíveis - as ferramentas que são tão chatas que desaparecem e deixam o artista trabalhar na arte.

Joel Spolsky
fonte
3
Acredito que a pergunta não foi direcionada especificamente a recursos interessantes de um determinado idioma, mas mais ao longo das linhas de O que posso fazer para esperar ansiosamente voltar ao trabalho todos os dias? Nesse contexto, você pretende dar um passo atrás na codificação e perguntar: Como posso tornar esse aplicativo mais interessante, mais útil, mais rentável ou mais utilizável? está no local. Não se trata tanto de um artista usando um pincel interessante para pintar, mas de encontrar objetos interessantes para pintar.
R0MANARMY
Você disse "mais interessante, mais útil, mais lucrativo ou mais utilizável". Gostaria de saber quantas pessoas empregadas como programadores trabalham nesses aspectos do software? Eu pensaria que somente se você possuiu todo ou parte do projeto, ou se trabalhou em uma empresa iniciante, poderá tocar neles. Minha experiência tem sido na maioria dos ambientes em que essas decisões são deixadas para outras pessoas, principalmente gerência ou PMs.
aceinthehole
7

Você sente que está voltando para trás porque está . Não há outro conselho senão encontrar uma empresa que não esteja presa na idade das trevas. Não há absolutamente nenhuma razão para ficar com o ASP clássico hoje em dia; na verdade, vou dizer claramente que optar por seguir o ASP clássico vai prejudicá- lo no futuro, pois A) Suas habilidades em .NET e Java se atrofiarão e B) Para um futuro empregador em potencial, você está trabalhando no ASP clássico, uma tecnologia obsoleta há mais de 10 anos e, mesmo assim, era como arrancar dentes; em outras palavras, você não tem nenhuma experiência relevante. Você escolheu mal, parece.

Você só pode fazer muito com o ASP clássico, e tudo é muito doloroso.

Wayne Molina
fonte
4
O OP indica que é isso que ele está impedido de fazer pelo menos no futuro próximo, então sugerir que ele saia não é útil. Apontar todas as maneiras pelas quais você acha que a situação dele é terrível é ainda menos útil. 10 anos atrás, seria 2001 cerca de um ano antes do lançamento do .Net framework 1.0, então o asp clássico não era obsoleto.
Gratzy
2
@ Gratzky não, mas era uma tecnologia horrível até então. Muito inferior às duas alternativas principais: PHP e JSP
Sean Patrick Floyd
6

Aprenda um idioma moderno de sua escolha e use-o para criar uma ferramenta que gera suas páginas e classes ASP para você, por exemplo, engenharia reversa a partir de um banco de dados de destino. Isso certamente tornará interessante.

Marcelo
fonte
T4 vem à mente, mas acho que qualquer mecanismo de modelo faria.
R0MANARMY
1
Eu fiz algo assim. Usei o Ruby para gerar procedimentos armazenados e classes de acesso a dados com base nas definições de tabela do banco de dados.
Larry Coleman
@Larry Coleman: Você quer dizer algo ao longo das linhas de Migrações
R0MANARMY
@ R0MANARMY: Sim, mas o Rails não estava por perto naquela época.
Larry Coleman
5

Por que você ficaria preso a uma tecnologia antiga? As empresas migram tecnologias o tempo todo. O truque é colocar uma lista de razões pelas quais uma mudança para uma tecnologia mais recente é benéfica para a empresa - tanto do ponto de vista técnico quanto de negócios. Mais vezes, o custo inicial da migração de pilhas de tecnologia supera em muito os custos futuros de desenvolvimento.

Mesmo que, por algum motivo obscuro, não tenha sido viável alternar pilhas de tecnologia, você sempre poderá usar as ferramentas e tecnologias atuais para tornar sua vida usando as tecnologias antigas mais suportáveis.

Se seu chefe é um dos desenvolvedores iniciais do projeto e se recusa a mudar de técnico apenas com base no fato de que ele é seu chefe e conhece melhor que você, é provável que eu procure um novo emprego - você não quer fique preso em um ambiente em que sua liderança é míope. Não estou dizendo que convencê-lo será fácil, pois tenho certeza de que eles têm anos de trabalho investidos no bebê e admitir que a mudança é necessária é um grande golpe para o ole ego. Você precisa ter certeza de que você tem razões claras , concisas e mensuráveis sobre o motivo de uma migração ser necessária, onde isso colocaria seu chefe em uma situação em que não migrar seria claramente uma má decisão.

Boa sorte.

Demian Brecht
fonte
Eu sei, não há razão para ficar com a tecnologia antiga, mesmo a estrutura personalizada que usamos aqui é uma tarefa difícil de usar e oferece nem a metade dos benefícios de qualquer estrutura de programação comercial. Lembro-me de ouvir em algum lugar por aqui que o fato de ter sido fabricado internamente adiciona uma camada de obscuridade que pode ser vista como uma medida de segurança, mas, para ser sincero, não estou comprando isso.
Saul Delgado
2
@ reno812, Segurança através da obscuridade NÃO é segurança. É como se a porta dos fundos da sua casa estivesse aberta e dizendo que sua casa está segura porque essa porta não está voltada para a rua.
maple_shaft
Eu sei que não é, apenas para lhe dar uma idéia da mentalidade por aqui.
Saul Delgado
3

Também trabalho com o ASP clássico e também consegui (até certo ponto) torná-lo interessante. Aqui estão os passos:

  • O ASP clássico pode ser codificado em VBScript ou JScript (Javascript), sem nenhuma modificação na arquitetura. Mude para Javascript.
  • Obtenha acesso a várias bibliotecas: json2.js, sublinhado, bigode ... Você pode consultar as bibliotecas do Node.JS ou as bibliotecas do lado do cliente, com várias modificações.
  • Crie uma estrutura MVC ou faça o download de uma. Você pode gerenciar modelos e visualizações carregando um arquivo do servidor e ler seu conteúdo e usar uma das inúmeras bibliotecas de modelos JS existentes no mercado. Para o controlador, você pode usar variáveis ​​na consulta para redirecionar solicitações da maneira como usaria a URL normalmente (menos limpa, mas funciona).
  • Você também pode criar uma API REST (simplificada)!
  • Crie um ORM (se você tiver acesso ao banco de dados) ou faça o download de um. Você pode até criar alguns LINQ-to-SQL com base no sublinhado.
  • Trabalhe em seus pontos de vista. Use bibliotecas JS avançadas como Angular ou Backbone. Troque de CSS para LESS, Stylus ou SASS.
  • Crie classes de proxy para código feio. Essas são classes criadas com o único objetivo de interagir com o antigo e feio código, para que você não precise tocá-lo.
DistantEcho
fonte
2

Você pode criar suas próprias classes e otimizar o maior número possível de processos. Aqui está um site com alguns exemplos: http://www.u229.no/stuff/

Você pode até divulgar suas aulas para outras pessoas que ainda usam o ASP clássico. Como Demian disse, existem muitas empresas com tecnologias mais antigas ... nem todo mundo se interessa por novidades.

Michael Riley - também conhecido por Gunny
fonte
A última vez que tive que trabalhar no asp clássico, que foi há algum tempo, uma das surpresas agradáveis ​​foi que o VBScript começou a dar suporte às aulas.
Gratzy
1

Em primeiro lugar, se não for o custo de atualizar sua tecnologia, mas o fato de o CEO ser tão pequeno que se recusa a atualizar a Tech com base na idéia de que ele conhece melhor e gosta de asp clássico, eu teria algumas sérias dúvidas sobre a longa saúde da empresa e com a habilidade de fazer asp clássico, quanto mais você esperar, mais difícil será conseguir outro emprego.

Dito isto, comece a migrar tudo para usar a "opção estrita", isso pode tornar a manutenção da sua base de códigos menos dolorosa

Bob The Janitor
fonte
1

Como os dados já estão no AS400 / IBMi, você sabe que pode executar interfaces Java, PHP, MySQL e outras coisas nesse SO? Meu palpite é que ele é do tipo 400, não do ASP. Tente abraçar isso, eu adoraria ter a oportunidade de cultivar um ecossistema de 400 desse tipo.

Jé Queue
fonte
0

Todas as respostas aqui são realmente muito boas. Eu só queria sugerir outra alternativa.

Comece a mover as preocupações de infraestrutura (banco de dados, sistema de arquivos, código COM etc.) para arquivos separados. Por exemplo, você pode ter um procedimento que retorna um conjunto de registros como uma matriz (eu fiz isso há 8 anos, mas sem amostra de código - desculpe).

Tente erradicar o "código" que aparece no seu HTML movendo-o para o topo da página ou mesmo em uma classe comum / utilitária. É até possível ter as funções de cabeçalho / navegação / rodapé em uma única página asp com páginas de conteúdo que possuem relativamente pouco código (com algumas referências a variáveis ​​e outras).

Com o conteúdo, a apresentação / formatação, a lógica de negócios e as preocupações com a infraestrutura separadas, você agora pode mudar para o ASP.NET MVC assim que superar a curva de aprendizado com essa tecnologia. Não será tão fácil quanto acionar um switch, mas parecerá muito semelhante a qualquer pessoa que tenha trabalhado com sua solução ASP clássica modularizada (o que significa que seu chefe pode realmente gostar).

maionese
fonte
-1

Como tornar o ASP clássico interessante se você está preso a ele?

Primeiro, orgulhe-se do seu trabalho (mesmo que seja o ASP clássico). Razão: Uma página ASP clássica mal desenvolvida (ou com patch) será um albatroz ainda maior em volta do pescoço. Seu chefe naturalmente espera que você corrija os bugs que surgirem, e isso parecerá ruim. Coloque uma boa música, coloque os fones de ouvido e entre e saia o mais rápido possível (supondo que exista realmente luz no fim do túnel e que em breve você estará trabalhando em algo mais interessante).

Segundo, na medida do possível, faça o possível para que as páginas tenham uma boa aparência. Trabalhe sua mágica com CSS. Use o Bootstrap, se puder. E use o AJAX e outras técnicas para reduzir o tempo de carregamento e as atualizações em tela cheia.

Terceiro, tente o seu melhor para usar jQuery, jQuery UI e outras bibliotecas do lado do cliente para tornar as páginas rápidas e fluidas. Às vezes, você pode eliminar páginas ASP inteiras com modais, assistentes ou mesmo SPAs ! Isso reduzirá a quantidade de ASP clássico que você precisará escrever e tornará o trabalho muito mais interessante.

Jim G.
fonte