On Mon, 27 Jan 2003 16:23:39 -0200, Carlos Augusto Barbosa wrote: > Companheiros, > > Talvez esta questão seja off-topic, mas gostaria de saber como esta > posicionada a linguagem java na comunidade Linux. > > Java é bem aceita pelos programadores ? Qual é a preferência por > linguagens ? > > Grato. > > > Olá --
Algumas pessoas confundem a linguagem Java com a implementação de Java. São duas coisas separadas. Java é bem aceita pela comunidade como bem o prova o GNU Classpath. Alguns críticos não se dão ao trabalho de ler a licensa da Sun, sequer. Por aquela licensa, fica claro que, contanto que você não modifique as classes da API (o que significaria modificar a própria especificação - bem, não exatamente, porque API não é especificação num sentido estrito), você pode perfeitamente usar a plataforma para um projeto GPL. Nada impede você de criar suas próprias classes (óbvio...). Ainda assim, o ideal seia não depender em nada da Sun, ou da IBM. Bem entendido, a questão é que em Java, e em outras linguagens que tem tratamento mais sério - C, C++, Smalltalk, Common Lisp, C# - as especificações são distintas da implementação. É por isso que você tem 3 ou 4 implementações de Java, 3 ou mais de Smalltalk, 7 ou mais de Common Lisp, vários compiladores para C/C++, e é por isso que o Miguel de Icaza está empurrando o projeto Mono, que implementa a plataforma .NET no mundo do Free Software. Ele está se baseando numa especificação, a CLS, que a Microsoft lançou. Compare isso com linguagens taca-na-parede-para-ver-se-gruda, onde um ou outro louco estão sempre tentando reinventar a roda e mudando especificações conforme a dose de vitamina D que estão produzindo. Muito sol na cabeça, e pode mudar e quebrar muita coisa. Um exemplo: quando é que escopo léxico entrou na Perl? Resposta: Perl 5 (!). Outra: quando é que geradores entraram em Python? Python 2.2. (Ah, quando é que OOP entrou em Perl? Entrou? Hehehe). E por aí vai... Não confunda as coisas, portanto. A julgar por umas opiniões apressadas que se ouve por aí, o Miguel de Icaza seria um imbecil vendido, porque já está usando C# para muitas coisas. Agora, quanto a preferência de linguagens, muitos vão de dizer que "depende do gosto", o que é uma desculpa para falta de leitura e auseência de critérios objetivos na avaliação de uma linguagem. Java tem suas limitações, mas tem suas vantagens. Muitos acham que Java é "tipo C++", mas isso é apenas quanto à sintaxe. Semânticamente, ela se assemelha mais a Smalltalk. É verborrágica, é limitada, é irritante, mas pelo menos você já pasou da idade da pedra da programação, já entrou na era do Garbage Collection. Atualemente, os compiladores Just-in-Time até deixaram java bem rapidinha! Ah, e uma última coisa. Você pode compilar Java para nativo (e não bytecode) com...o GCC! Grande GCC! Então, a mesagem é: pense com sua própria cabeça. [ ]s synthespian