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 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.
Últimos Comentários
(2 weeks ago)
(2 weeks ago)
(2 weeks ago)
(2 weeks ago)
(3 weeks ago)
(3 weeks ago)
(7 weeks ago)
(10 weeks ago)
(10 weeks ago)
(11 weeks ago)