From: | "Adriano Pereira" <apereira2001@hotmail.com> |
To: | QGlinux@yahoogroups.com, linuxdevelms@mileniumnet.com.br, linux@grupos.com.br, linux-especialistas@br.egroups.com, fug_sp_br@yahoogroups.com |
CC: | info@theclub.com.br |
Subject: | Por que o Kylix vai dar certo!!! |
Date: | Thu, 05 Apr 2001 15:09:03 -0400 |
Por que o Kylix não vai dar certo |
Muito barulho está sendo feito para o lançamento do Kylix, o
Delphi para Linux da Borland. Mas, realmente será tudo o que está sendo dito ? Será essa a solução dos problemas que os desenvolvedores realmente precisam ? Vamos tentar entender alguns pontos principais e, quem sabe, ao final do artigo poderei ajudá-lo a saber se o Kylix realmente é necessário para você ou não. |
Antes de você sair correndo e comprar a sua cópia do Kylix, é importante pensarmos em todos os aspectos que envolvem tal medida drástica. Sim, drástica porque apesar da Borland estar prometendo compatibilidade com o Delphi isso é técnicamente impossível, uma vez que o Kylix e o Delphi não usam runtime, o que torna o código específico para cada plataforma. O que estou querendo dizer com isso ? Como o programa gerado pelo Kylix e pelo Delphi são códigos nativos compilados eles não podem rodar no Windows e no Linux, isso é óbvio. Mas, você pode estar pensando que para rodar sua aplicação no Linux basta você pegar seu código fonte escrito em Delphi, copiar para o Kylix compilar e pronto, uma mágica está feita e você já tem seu programa pronto para rodar em Linux. Ledo engano. Nada poderia estar mais longe da verdade. É provável e possível que em pequenos programas bem simples isso pode até ser viável. Mas grandes aplicações complexas isto está longe de ser realidade. |
Para começar estamos mudando de sistema operacional. A mudança
do ambiente Windows para Linux não é tão simples quanto se imagina. No Windows temos as APIs para que nossa aplicação comunique-se diretamente com o ambiente. Você pode até não ter usado isso nunca, mas, dependendo dos recursos que você usa do Delphi ele faz isso automaticamente para você. Consequência ? Esse seu programa não funcionará no Linux, mesmo que o código pudesse – hipoteticamente falando – ser compilado em Kylix. No Linux não temos APIs. Temos um conjunto de instruções destinado ao sistema operacional, mas isso não é tudo. Para cada interface gráfica você terá um conjunto adicional de instruções para o seu programa funcionar corretamente (é claro que isso depende da complexidade de sua aplicação). As interfaces gráficas KDE e Gnome por exemplo são muito diferentes, do ponto de vista do programador. Para quem quer e precisa desenvolver aplicações que envolvam pouca ou muita complexidade os problemas se multiplicarão. |
Agora, o mais importante de tudo isso é: você está disposto a
aprender operar um sistema operacional novamente ? E mais importante ainda: O SEU CLIENTE está disposto a isso ? Bem, todos estão argumentando que vale a pena, pois o sistema operacional é gratuito e como o investimento é zero, pode-se gastar um pouco com o aprendizado. Muito bem, isso parece ser verdade, mas, será que é mesmo ? O Linux é um sistema operacional baseado em Unix, que já possui dezenas de variantes, onde os próprios fabricantes não se entendem e fazem versões próprias com suas modificações, onde geram divergências entre a interoperabilidade dos sistemas desenvolvidos. O Linux novamente não foge à regra. Existem diversas versões, algumas nacionais inclusive. Não se pode negar o relativo sucesso que algumas dessas versões estão conseguindo. Mas e o seu cliente, qual dessas versões usará ? Com certeza, na maioria das vezes ele optará por uma versão em português, creio eu que será o da Conectiva, que vem tendo grande sucesso na distribuição e um aprimoramento de seus recursos. Mas a Borland não desenvolveu o Kylix pensando no Linux da Conectiva. É muito provável que tenha desenvolvido trabalhando com o Linux da Red Hat, que é o maior distribuidor de Linux no mundo, ou, sabe-se lá, pode até mesmo ter desenvolvido algumas modificações e produzido o seu próprio Linux. |
Alguns pequenos problemas me parecem inevitáveis. Mas vamos
voltar ao ponto de vista do programador, você. Todo o conhecimento que você tem do Windows será jogado no lixo (que convenhamos, já não é muito devido à complexidade do sistema operacional e das "artimanhas" que ficam escondidas, entrincheiradas pela Microsoft). Você está disposto a passar por uma reciclagem completa de seus conhecimentos ? Apesar do Linux já ter algumas interfaces gráficas, pelo menos duas delas com relativo sucesso, a maioria absoluta de suas configurações exigem conhecimento técnico profundo do sistema operacional, de TCP/IP e de hardware, coisa que a Microsoft nos poupa já faz muito tempo, afinal o Windows já automatiza muitas tarefas desde o Windows 95. Novamente, você "não" tem gasto com o sistema operacional, apesar de ter de desembolsar perto de R$ 100,00 para conseguir uma cópia do software com seus manuais. Aí vem os cursos, que por experiência própria, para se ter um conhecimento aceitável do Linux não fica por menos de R$ 1.000,00, em cursos de nível médio. Caso opte-se por empresas renomadas, o custo pode ir para mais de R$ 3.000,00 !!! |
Bem, vamos dizer que você resolveu aceitar o desafio. Você não
pode jogar o seu Windows no lixo, uma vez que você tem clientes que utilizam seus sistemas desenvolvidos em Delphi e que utilizam o Windows, portanto, para que você comece o desenvolvimento e consequentemente os testes em Kylix, terá de adquirir um outro computador. Lá se vão pelo ?menos mais R$ 1.500,00. Você também gastará mais um pouco comprando uns dois ou três bons livros, pelo menos mais uns R$ 150,00. Assim, você pode fechar a sua conta em prováveis R$ 3.000,00 ou R$ 5.000,00 dependendo do caminho escolhido. Mas você ainda não terminou, o seu investimento vai continuar. Ao contrário dos distribuídores Linux e a maioria esmagadora de empresas que desenvolvem software para essa plataforma, a Borland (ou Inprise, já nem sei mais como chamar) vai cobrar - espanto !!! – o mesmo valor do Kylix do Delphi, ou seja, se você já gastou próximo de R$ 5.000,00 pela versão Enterprise do Delphi, gastará a mesma quantia para o Kylix e mais uma vez, as diferenças continuam |
– outro espanto !!! – o código do Kylix não será aberto, contrariando a comunidade que gira em torno do Linux. Não que o código fonte do Kylix fosse de grande valor para todos nós, afinal de contas, pelo menos eu não tenho a mínima intenção de entender o que o pessoal da Borland (ou será Inprise ?) fez no Kylix, e muito menos tentaria uma alteração no seu código fonte. Já tenho experiência suficiente com os problemas que o Delphi apresenta sozinho, e claro, o Kylix também terá seus problemas, então porque eu acrescentaria alguns problemas gerados por mim ? Não faz sentido. Como também não me interesso em aprender profundamente outra linguagem de programação como o C ou Assembler somente com o intuito de ficar "fuçando" no código fonte do Linux ou do Kylix. |
Novamente, vou imaginar que você resolveu topar toda essa parada
e está fazendo esse investimento, pensando que com isso você no final das contas estará fazendo um bem maior para o seu cliente, afinal de contas é ele quem interessa, pois é ele quem paga pelos seus serviços. Mas aí todos nós entramos em uma nova armadilha. Veja o porque, vou explicar. |
Não existe um só brasileiro que trabalhe com informática que não
conheça o Windows e por consequência não conheça o Office e o Internet Explorer. Não me interessa que algumas pessoas venham argumentar que isso acontece porque a Microsoft é um monopólio ou qualquer coisa nesse sentido. Que os softwares são pesados e que as pessoas não usam outros produtos como o WordPerfect por exemplo, ou o Netscape porque a Microsoft "afogou" esse pessoal. Vou ser bem claro: isso não é problema meu. E perdoe-me, acredito que também não é problema seu, e muito menos do seu cliente. O cliente quer facilidade, quer economizar tempo e dinheiro, e com isso, leia-se, a economia de tempo e dinheiro está em continuar com o sistema atual, o Windows e seus apetrechos, de terceiros ou não. Será que o seu cliente está disposto a aprender um novo sistema operacional, a largar o já quase "incipiente" conhecimento dele para tentar aprender novamente algo que ele já esqueceu, ou pelo menos tenta esquecer que são os comandos DOS. Isso mesmo, o Linux no meu ponto de vista não passa de um Windows 3.1 com MS-DOS 6.2. A alusão não pode ser descartada. Vejamos, a maioria esmagadora dos recursos do Linux e suas configurações estão em modo texto. Apesar da interface gráfica (seja ela qual for) ser uma cópia barata do Windows 9x, não apresenta lá grandes recursos. Mesmo a parte de configuração é assim. |
Se não acredita em mim, instale um Linux, pode ser com a
interface KDE ou Gnome e tente configurar o modem, que é um utensílio indispensável hoje. Tenho certeza que qualquer um se decepcionará. Volto a afirmar, o Linux hoje está para que o DOS e o Windows 3.1 estavam para todos nós por volta de 1992 a 1994. Realmente não quero voltar cerca de 7 a 8 anos no passado, e acredito que o seu cliente também não deseja isso. Ele já está acostumado com as facilidades do Windows existentes hoje, e as outras facilidades que já estão por vir, como por exemplo o Windows XP, que definitivamente eliminou o código 16 bits e passou a ser muito mais confiável. Uma pessoa mais fanática que estiver lendo esse artigo poderá pensar: "Este é um problema que o Linux não tem, ele não trava". Mentira. Desafio qualquer ser humano existente no planeta Terra a me provar isso. No primeiro dia do curso que fui fazer do Linux (estava animado por sinal), o instrutor começou com essa balela, que o Linux não trava e blablabla... bem, você pode travar uma máquina Linux com um dos erros mais idiotas que já vi, que era um defeito grave que tínhamos no DOS e o Linux também tem (será mera coincidência ?): com um simples comando em ASCII para imprimir a tela, caso você não tenha impressora conectada ao micro, pronto, a sua task de trabalho já está travada. |
Isso sem contar as experiências que fiz com a senha master do
Linux (pelo menos as versões que a Conectiva distribui tem) que sobrepõe até mesmo a senha do administrador, possibilitando coisas bizarras como por exemplo você alterar a senha de um usuário com ele já logado em uma determinada máquina, o que em certas ocasiões provocou o travamento da máquina toda, e não só da task que o usuário estava trabalhando. Algumas pessoas poderão argumentar que você pode contornar isso fazendo uma boa política de segurança, mudando diversos parâmetros. Mas, será que o seu cliente quer perder tempo com isso ? Ou melhor, será que você vai ter tempo de fazer isso para o seu cliente ? |
Vamos supôr que você e o seu cliente resolveram adotar o Linux
para plataforma de suas aplicações. Estão dispostos a arcar com os custos de aprendizagem e da mudança de ambiente. Aí você esbarrará em outro problema: drivers de dispositivo. O hardware para o perfeito funcionamento do Linux, não que seja específico, mas é bem restrito. Veja, o Windows não faz questão que você tenha modem ou placa de rede da 3Com, IBM, Compaq, Intel ou outro grande fabricante. Caso você tenha um hardware com especificações padrões, já é o suficiente para o Windows detectá-lo e passar a utilizá-lo. Se o seu cliente optar por comprar uma máquina mais nova por exemplo, dessas em que os dispositivos são onboard, você já terá problemas. Não existem drivers de utilização para o Linux por exemplo, para o modem. Como o seu cliente irá acessar a Internet ? Se ele ainda não faz isso hoje (o que eu duvido) vai fazê-lo amanhã. Me ocorre algo agora que é interessante. Se você ainda não conhece o Linux, pergunte a alguém como você pode ler um cd no Linux. Você vai ficar de queixo caído no que é necessário fazer. Se você ficou curioso, pergunte como você pode ler outro cd em seguida. Vai ser melhor ainda, eu garanto !!! Nem no DOS 3.0 era necessário isso, aliás, não me lembro de ter feito isso em nenhuma versão do DOS. |
Importante salientar que não estou aqui para
defender os interesses da Microsoft ou de outra companhia qualquer. Mas me sinto no dever de alertar todos aqueles que estão esperando algo revolucionário do Kylix e não irão encontrar revolução alguma. Na minha modesta opinião essa é mais uma barca furada na qual a Borland irá se enfiar. Como no caso da mudança de nome para Inprise e que agora volta para Borland, e também para um fato que não foi muito divulgado, o desenvolvedor chave do Delphi o Anders Hejlsberg que agora não trabalha mais na Borland já desde o final do Delphi 4 e agora trabalha para a Microsoft no desenvolvimento do Visual Studio .NET. Não tenho tido muitas notícias do Delphi 6, que é o que mais me interessa. |
É importante você avaliar e entender que o brasileiro ao contrário
do americano não tem um computador em seu comércio e um em sua casa. E mesmo, que alguns tenham, eles não ficam pesquisando e aprendendo profundamente a utilizar o sistema operacional ou qualquer outra coisa. O nosso cliente na sua grande maioria quer saber de utilizar o programa dele, e ocasionalmente utiliza o Word, o Excel e o Internet Explorer. Ele não se interessa e não se interessará em aprender Linux e outras ferramentas que substituam o Office por exemplo, como o StarOffice, que aliás, ao contrário do que promete, não consegue importar corretamente os arquivos do Office. Pelo menos comigo não funcionou com nenhum arquivo. Você deve pensar bem antes de propor tal mudança a seu cliente, pois, por uma imposição ou influência de sua parte, ele pode resolver trocar a plataforma de Windows para Linux, e mais para frente ele poderá não estar contente com a produtividade obtida e você irreparavelmente será o culpado. Portanto, aconselho você se quiser realmente mudar para Linux sabe-se Deus lá por que, que aconselhe o seu cliente a ter uma máquina separada, com o Linux instalado para que ele vá fazendo testes e veja se consegue se adptar ao novo sistema. Se você pensar: "Mas aí é improvável que ele mude, pois ainda estará fazendo as coisas com o Windows, e assim ele não irá mudar para o Linux", então esse é mais um motivo para que você e seu cliente realmente não mudem. Se ele acha mais fácil realizar as tarefas no Windows, esse já é um indício fortíssimo que uma mudança para o Linux pode dar errado, e talvez você possa perder o cliente juntamente com isso. |
Se você está realmente interessado em estudar algo novo, pense
em dar uma olhada na nova suite de aplicativos da Microsoft, o Visual Studio.NET. Composto de três linguagens de programação, o C#, Visual Basic.NET e o ASP+, promete ser a nova geração de linguagem de programação para computadores. Nós todos aqui do THE CLUB já fizemos cursos e estamos utilizando intensamente essa ferramenta, que já no beta 1 mostra-se bem estável. Para você que desenvolve em Delphi notará uma agradável surpresa: os aplicativos de plataforma de desenvolvimento são parecidíssimos com o Delphi, bem como a linguagem em si também. Aliás, será mais fácil para um programador Delphi passar a utilizar o novo Visual Studio do que um programador Visual Basic, mesmo que com grande experiência. O Visual Basic hoje é a linguagem de programação mais utilizada no mundo, e com certeza o novo Visual Studio continuará com essa tradição. O THE CLUB acompanhará essa evolução, e já a partir de Abril estaremos com planos de suporte técnico para o novo Visual Studio, mesmo na versão beta, coisa que nem mesmo a Microsoft faz. Assim o THE CLUB mais uma vez sai na frente e mostra aos seus integrantes que estamos pesquisando e inovando, e que você desenvolvedor pode ficar tranqüilo, pois o THE CLUB está preocupado e interessado no rumo que a informática está tendo e como influenciará você e o mercado para o qual você trabalha. |
Por tudo isso, vou encerrando reforçando a minha idéia de que,
pelo menos aqui no Brasil o Kylix não deve decolar. Ninguém é especializado em Linux e em linguagens como C ou Assembler, e duvido muito que as pessoas queiram perder tempo e dinheiro se reciclando para uma plataforma tão diferente e abandonando todo o seu conhecimento para trás, aliás, como já disse anteriormente, principalmente o nosso cliente, que com certeza não está nem um pouco interessado em gastos adicionais. Por isso tudo, não fique animado com Linux, Kylix e outros "ix" ou "ux" que você ver ou ouvir falar por aí. Sempre fique com os dois pés a trás e avalie detalhadamente todo o processo, desde os custos para você passar a utilizar e desenvolver em cima da nova plataforma, até os custos de instalação e aprendizagem por parte do seu cliente. |