[quote=Leozin]Muito bom o teu post vini, parabéns.
Eu já trabalhei muito no .NET e agora voltei (pra fazer uma migração de um sistema Java pra vb.NET). No que eu fui lidar com ele, precisei de umas bibliotecas por fora e para a minha surpresa: muitas APIs são pagas.
Em 2006 quando eu precisei de algo pra SMTP, o que funcionava era pago. O free não funcionava. Esse mês fui procurar uma ferramenta pra testes de cobertura, e é BEM caro (200 dolares) e assim vai indo.
Mas a linguagem é legal, eu só não curto o visual studio como editor de código. Para WYSIWYG eu acho que atende bem, mas se tu tiver que botar a mão no código:
- Refactoring é muito pobre
- Navegação entre métodos é ruim também
- Quando rola exception, as linhas não aparecem no stacktrace
- a forma de organização de packages
- entre outros que não lembro mais
A minha única crítica é a ferramenta e APIs pagas, porque a linguagém em sí é muito boa :P[/quote]
Concordo. Todos os dias que uso o Visual, sinto muita falta do Eclipse. E olha que já estou trabalhando a praticamente 1 ano, tempo suficiente para descobrir macetes e recursos. Sinto falta exatamente do que você falou.
Outra coisa que sinto falta é a MS não ter sugerido uma code convention oficial para o C#. O pessoal até copia o estilo da API, mas não há nenhum documento oficial, como a Sun tem para o Java.
Ah sim, outra coisa legal do .net, que nunca entendi pq a Sun não incorporou esse recurso nos seus .jar também, é a possibilidade do arquivo de manifesto descrever coisas como:
- Nome da biblioteca;
- Descrição;
- Versão.
A última informação, claro, é a mais importante. No .net você pode checar em runtime se a dll que você está usando está ou não na versão correta, ou na versão mínima. O que é muito útil se você depende de pacotes externos. Você também pode obter essa informação via reflexão, o que te permite fazer uma página, por exemplo, que liste todas as versões dos assemblies instalados para sua aplicação no servidor. Informação valiosa para diagnostico de erros e debug.
De maneira geral, ainda sou mais satisfeito com o Java, principalmente por causa da API da Sun. A do C# é ótima também, mas tem muita coisa que sinto como se estivesse faltando, ou como se a implementação não tivesse sido tão bem pensada. Muitas vezes notei que a API do .Net é pouco extensível, coisa que sabemos que a do Java não é.