Sou programador, atualmente de Java EE, e gosto muito de desenvolver em java. Tanto Web quanto Swing.
Já programei Visual Basic, já me aventurei, de leve, no C/C++, Ruby (on Rails), Python, e até mesmo a antiga PL1 e Cobol….
Cada linguagem me levou a um estilo de programar diferente. Cada linguagem com suas caratrísticas, prós e contras…
Por exemplo:
VB: Programação visual, de janelas, orientado a eventos e somente Windows, cheio de DLLs para cá, ActiveX para lá, milhares de OCX.. etc…
PL1/Cobol: Programação estrutural, onde o programa começa e termina e deu. Você controla tudo o que deve ser feito, e da maneira como deve ser feito… deve ser bem escrito e formatado para que possa ser compilado.
C/C++: Nao preciso falar muito neh, bela linguagem de alto nivel, mas que pode nos levar à imensidão dos 0/1 da nossa maquina …
Ruby/Python: Linguagens mais novas, e de mais alto nivel, com muitos facilitadores para tudo, python ainda tem escopo definido por identação de código (Pode?). Pode ser feito muita coisa boa com elas também… São Orientadas a Objeto.
Java: Linguagem que nos dá segurança, está fortemente ativa no mercado de Web e é fraca para programação visual, tem muitos frameworks prontos, e acho ela bem flexivel, é Orientada a Objetos.
Mas diferenças entra linguagens não é o foco do post, mas sim como escolher com o que programar para resolver o meu problema.
Acho que cada um sabe do seu problema melhor do que ninguém. Por exemplo, no foco da web ( que é onde estou neste momento ): devo utilizar uma linguagem/framework que me dê mais agilidade mas que me deixe muito fixo em uma linha de programação, ou uma linguagem/framework que me deixe livre para criar da maneira que quero, mas porém isto vai custar um tempo…
Bom, o que eu gosto de fazer, é seguir alguns padrões de desenvolvimento, que sempre é muito bom, pois facilita o entendimento da infraestrutura do aplicativo, e depois do ponta-pé inicial, torna-se mais fácil a manutenção do software, justamente popr seguir um padrão. Gosto de utilizar frameworks, pois também seguem algum tipo de padrão, assim , procuro definir com que frameworks meu software será desenvolvido, antes mesmo de iniciar a produzí-lo, e traçar uma linha de raciocínio, desenvolvendo-a até criar uma gama de processos mais maduros.
Mas qual framework utilizar ?
Escolha o fm que lhe dê as features necessárias, sem degringolar demais seu aplicativo. Ou seja, um fm que não tenha milhões de coisas a mais do que você precisa, honerando assim o poder de processamente, nem um fm que tenha somente a metade das coisas ou que gere muito trabalho a mais para conseguir montar o processo que você necessita. Ou seja, você deve avaliar os vários fm que tem para cada tipo de software e para cada tipo de atividade, e ver qual mais se encaixa ajustadamente eu seu propósito. Lembre-se: A melhor ferramenta é aquela que faz o que você precisa !
Aqui cito alguns frameworks que conheço, tanto de ter trabalhado já ou só de ouvir falar pela internet, e aqui, estou falando somente os poucos que conheço para desenvolvimento web, mas existem milhares de fm para todos os fins.
PS: Caso queiram citar mais alguns, de qq linguagem, por favor, comemtem abaixo que completo o post…
Java:
Spring Framework – Framework Completo para uma aplicação Web e não Web. Todo modular.
Struts – Framwork MVC para web somente.
Ruby:
Ruby on Rails – Conhecidíssimo pela sua agilidade para desenvolver, e média curva de aprendizado.
Python
Django – Não sei se é somente um framework, acho que na realidade é mais do que isto, é todo um ambiente de desenvolvimento de execução que também gera muita agilidade.
Mas qual padrão seguir ?
Padrões de tracegp.com.br”target=”_blank”rel=”external”title=”Sistema executivo de governança e gestão de projetos” >projeto e de desenvolvimento são somente definições que nos ajudam a organizar melhor nosso projeto e nosso software ( neste caso ), sendo assim, se você for trabalhar com uma equipe média ou grande, e for desenvolver um software que vai ser necessário uma manutenção posterior, ou um contínuo desenvolvimento, é sempre bom seguir os padrões de dedsenvolvimento do mercado, onde temos muitos que são já bastante extressados e assim possuem uma maturidade importante em seus processos e definições. Agora, se você vai fazer um software pequeno, curto, com poucos pessoas ( você mais 2 ou 3 ) e que não tem tanta complexididade, talvez seja mais demorado aplicar todo um padrão de desenvolvimento de mercado emcima deste software, do que apenas definí-lo de uma forma clara, e desenvolve-lo assim que possivel, gerando assim mais produtividade.
Todas estas são opiniões pessoais.







