Aprender nova linguagem ou melhorar o desenvolvimento?

Olá;

Talvez eu tenha criado na área errada, mas acho que aqui se encaixava melhor.

Atualmente trabalho como analista/desenvolvedor Java.

Eu sou o unico desenvolvedor da empresa, ou seja, estou fazendo tudo xD

Eu estou iniciando o desenvolvimento da intranet, usada somente para novos relatorios e controles, não influenciando no sistema principal da empresa.

É um projeto Web, estou usando Maven, Artifactory, SpringMVC, Tomcat, plugins jQuery e tals…

A empresa usa sistema misto, ou seja, possui servidor Windows e Linux, BD SQL Server, PostgreSQL, MySQL, esse sistema vai integrar tudo o que a empresa usa.

Eu já fiz o sistema de autenticação (pelo AD do WS), controle de acesso, alguns relatorios e tals, então já está meio encaminhado.

Porém não estou gostando muito de como o projeto está indo…

Todo relatório que vou criar ter que criar uma controller, functions javascript para tratar os dados, DAO’s, Models e afins, ou seja, está ficando muito grande…

Depois da minha explicação, vai minha duvida.

É melhor eu aprender uma nova linguagem onde eu consiga deixar tudo mais dinamico e leve? Mudar o modo que estou programando (Frameworks e afins)? Ou continuar assim?

Eu estava vendo linguagens como Lua, Ruby on Rails, NodeJS, mas não sei se elas seriam uteis para o desenvolvimento web…

Espero que alguem com mais experiencia possa me ajudar nessa duvida xD

Obrigado (:

Talvez o que você tem que fazer é arquitetar melhor a sua solução, de modo a reduzir o trabalho necessário a toda hora que precisar fazer alterações no projeto.

Opa, obrigado por responder.

Eu não tenho certeza se eh pq cada relatorio que eu faço tenha muitos filtros/parametros ou se estou desenvolvendo errado…

O sistema roda no tomcat7 num linux, mas acessa as informações no Windows Server, como o AD e o SQL Server…

Não sei se há um modo melhor de trabalhar quando as informações e ambientes são variaveis assim…

Edit:

Também há o problema de deixar conexões abertas no servidor, mesmo usando try/catch/finally, ficar sempre passando o objeto e dando get/set para popular ou parametrizar uma consulta…

Será que com Ruby on Rails eu consigo deixar mais simples essa parte e sem tanto repetição e codigo?

O problema nao está na linguagem e sim na arquitetura.

Como conecta em varios bancos, deve ser algo plugável, e suas classes que acessam as bases devem ser dinâmicas pra atender qualquer tipo de select e nome de campos de busca, assim tb como os filtros

Teoricamente, só não da pra ser fixo o select, os campos,where e o layout do relatório. Isso deve ser seu front-end. Dai pra baixo da pra fazer de algum jeito que não precise criar toda estrutura toda vez que for fazer um relatório novo.

Hum… entendi

Quando eu crio um novo relatorio ou tela, eu crio a controller, model, dao, jsp, .js, .css… já deixei algumas coisas, como layout e funções javascript como padrão.
As validações eu faço todas na mão, mas mesmo assim fica de pegar todos os parametros, passar por ajax pra controller, setar as variaveis, passar pra DAO, recuperar o objeto, devolver pra tela, popular a tabela…

Eu lembro que tinha algo de form:form, que vc conseguia pegar os parametros e já setar o objeto com ele, mas acho que desse modo eu não conseguiria fazer algumas validações…

Mas acho que não tem muito o que fugir disso neh?