Nada neste mundo toca mais o coração dos programadores do que ferramentas de programação. VC, DELPHI, JAVA...esses nomes deslumbrantes não apenas ocupam a vida dos programadores, mas também parecem ter se tornado uma espécie de crença. Contudo, com o advento do novo século, estas crenças encontraram novamente grandes desafios. A Microsoft, o leão que estava exausto e irritado com os juízes e hackers, prometeu manter a coroa na cabeça, deu o seu melhor e apresentou sua estratégia especial de habilidade .NET. Como a principal linguagem de desenvolvimento do .NET, o C# surgiu naturalmente. Os programadores têm que fazer uma escolha dolorosa: quem seguir? Para descobrir a resposta, temos que fazer algumas comparações e previsões.
Se você deixar de lado todos os fatores não técnicos, C# é sem dúvida a melhor linguagem de programação já criada neste planeta. Ela contém quase todos os resultados mais recentes em desenvolvimento de software e pesquisa em engenharia de software. Orientado a objetos, tipo, tecnologia de componentes, gerenciamento automático de memória, tratamento de exceções multiplataforma, controle de versão, gerenciamento de segurança de código... Você não consegue encontrar todos esses recursos em outra linguagem. Embora, como muitas pessoas notaram, quando listo os recursos acima, as pessoas sempre pensam em JAVA, mas o C# vai além. Mas a realidade é que fatores não técnicos muitas vezes determinam o futuro de um produto. Especialmente na história do software de computador, produtos tecnicamente excepcionais, como OS/2, Mac OS, UNIX, etc., foram todos derrotados pela beleza. do Windows. Mas desta vez, o papel da Microsoft parece ter mudado de um revolucionário de mãos vazias para um velho proprietário agressivo. Se as coisas realmente mudassem, esse garoto C# não nasceria no filho errado? Talvez a situação não seja tão ruim. Afinal, um camelo magro é maior que um cavalo, e o C# foi submetido a uma organização de padronização. Depois de se tornar um padrão internacional, não há como saber se algum herói coça (talvez a própria Microsoft). irá transplantá-lo para outras plataformas. Nesse caso, JAVA estaria em apuros. Como os usuários de JAVA são principalmente desenvolvedores de serviços de rede e desenvolvedores de software de dispositivo incorporado, o software de dispositivo incorporado não é o lugar onde o C# entra em ação. Em termos de serviços de rede, a compilação just-in-time do C# e as soluções de cache de código local são. mais poderoso que a máquina virtual JAVA Tem vantagens absolutas de desempenho. Além do mais, quando o C# se tornar um padrão público como o C++, os desenvolvedores de software poderão economizar na taxa de licença JAVA e não precisarão se preocupar em se tornarem escravos da Microsoft. Aqueles que são anti-Microsoft e aqueles que defendem a independência do fabricante podem não ter a licença. mesmo problema. Que opiniões. Isso pode ser exatamente o que a Microsoft está procurando.
Se a competição entre C# e JAVA na área de serviços de rede for comparada com a competição pela supremacia aérea no futuro, então a competição entre C# e as ferramentas tradicionais de desenvolvimento rápido de uso geral - VB, DELPHI, etc. batalha corpo a corpo. Talvez o programador mais infeliz seja o programador VB. Na Microsoft, o VB é como Clinton, que não apenas perdeu toda a sua glória, mas também está problemático. Pense nisso, os projetos escritos em VB6 devem ser convertidos em código baseado em .NET usando uma ferramenta de conversão antes de serem transferidos para VB7, o que é quase irreconhecível. Como o VB7 segue a Common Language Specification (CLS) estabelecida para atender ao .NET, quase todos os recursos que originalmente estavam disponíveis apenas em C++, JAVA e outras linguagens foram adicionados, mas a sintaxe é compatível com a original. Se esta é a primeira vez que você vê o código convertido do seu antigo projeto VB6 em VB7, tome cuidado com o coração! Então vá em frente e não me diga que vai se aposentar. A situação do DELPHI não é muito melhor. A habilidade especial original é fazer aplicativos rápido e bem, mas agora dê uma olhada no último VS.NET Beta 1, você se sentirá tão familiarizado, com inúmeras listas de propriedades, componentes... Quem faz você é pobre? Nem o designer-chefe pode apoiá-lo.
Na verdade, o verdadeiro senhor entre as linguagens de programação tem sido C++ há muitos anos. Todos os sistemas operacionais e a maioria dos softwares comerciais usam C++ como principal linguagem de desenvolvimento. A grande maioria dos programadores JAVA também são entusiastas de C++, e o sucesso do PHP também se deve à sintaxe semelhante à do C++. Nas áreas de sistemas operacionais, drivers de dispositivos, videogames, etc., o C++ ainda ocupará uma posição dominante por um longo tempo e, no desenvolvimento do maior número de softwares aplicativos, o C# provavelmente substituirá o C++. Em primeiro lugar, C#, como JAVA, simplesmente copia parte da sintaxe do C++. Portanto, é fácil para um grande número de programadores C++ aprender e começar. Em segundo lugar, o Windows é atualmente a plataforma monopolista e, ao desenvolver aplicações Windows, é claro que a voz da Microsoft não pode ser ignorada. O mais importante é que, em comparação com C++, usar C# para desenvolver software aplicativo pode reduzir bastante o ciclo de desenvolvimento e, ao mesmo tempo, você pode usar o código C++ original, exceto o código da interface do usuário.
No entanto, C# também tem pontos fracos. Em primeiro lugar, os programas C# ainda não podem ser executados em um grande número de plataformas Windows existentes, porque os programas C# requerem a biblioteca de tempo de execução .NET como base, e a biblioteca de tempo de execução .NET será lançada como parte da nova geração do Windows (Whistler ) ou como Service Pack fornecido aos usuários do Windows Me e do Windows 2000. Portanto, em um futuro próximo, o C# será usado principalmente no servidor. Em segundo lugar, existem apenas alguns componentes ou bibliotecas que podem ser usados pelo C#, como a biblioteca de tempo de execução .NET, e não há bibliotecas de software ricas de terceiros disponíveis. também muito importante. Terceiro, alguns dos fatores de sucesso do JAVA são elogiados pelo campo anti-Microsoft. Embora “escreva uma vez, execute em qualquer lugar” seja apenas um slogan, afinal já é uma tecnologia madura. Atualmente, o único defensor do C# é a Microsoft, que tem uma má reputação e só pode ser executado no Windows. Na verdade, essas duas linguagens não são insubstituíveis. Racionalmente falando, para desenvolvedores de software, aquilo com que eles estão mais familiarizados é a melhor ferramenta. Especialmente para usuários de C++, C# não traz nada de novo, porque a biblioteca de tempo de execução .NET também pode ser usada em C++, e não há razão absoluta para mudar.
Resumindo, eu pessoalmente acredito que nos últimos anos, o C# inevitavelmente crescerá e se tornará o protagonista na plataforma Windows, enquanto o JAVA se tornará o player dominante no UNIX, Linux e outras plataformas, e o C++ continuará a flexionar seus músculos no área de software de sistema. O que é muito interessante é que a sintaxe dessas linguagens é extremamente próxima, pois tanto JAVA quanto C# foram desenvolvidos a partir de C++. É claro que outras ferramentas de desenvolvimento continuarão a sua jornada por muito tempo, mas serão inevitavelmente afetadas em termos de quota de mercado.