[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-pt: Linguagem de programação



Olá a todos.

Sobre a questão de linguagem de programação, existem algumas opções a serem analizadas:

Primeiro, quanto a linguagem de programação:

1. Pascal: Existe o Freepascal com port para várias plataformas, incluindo DOS, Windows e Linux e o Delphi/Kylix com port apenas para Windows e Linux.

2. C e C++: Existente em praticamente todas as plataformas disponíveis. Se fizer o uso das bibliotecas padrões e do C Ansi, consegue-se aplicativos Cross-Plataform com certa facilidade (existe uma questão quanto a variáveis, mas foge ao escopo).  Porém, quando se precisa usar extensões ou bibliotecas disponibilizadas para uma plataforma, perde-se a compatibilidade.

3. Java: Permite realmente fazer um programa que executa em diversas plataformas. Tem suas qualidades e desvantagens

Existem algumas outras linguagens de programação, como Python e Tcl/Tk, mas não tenho conhecimento suficiente para mencionar algo a seu respeito.
Na verdade a linguagem de programação deve ser escolhida principalmente pelas qualidades que ela possui e pela facilidade do programador de entendê-la. Eu diria que para produtos complexos, seria o ideal utilizar C ou Pascal, independente do compilador a ser utilizado. Hoje, eu desenvolvo muito em FreePascal e em Kylix/Delphi. Depende muito do que vai ser programado.

Quanto ao método de programação

Existem ferramentas que disponibilizam métodos de programação visuais (como o Delphi e o Visual Basic). Eles aceleram bastante o desenvolvimento de interfaces (telas). Também existe o método de programação convencional, em que temos que definir tudo, linha a linha, e compilar para ver o resultado. Tudo é uma questão de quanto controle você deseja ter do seu aplicativo e do que ele vai realizar. Na prática, eu diria o seguinte: Quando a velocidade e estabilidade do programa não forem absolutamente crítica, faça uso de ferramentas visuais, pois elas aceleram muito o desenvolvimento. Nos casos em que for crítico o controle e estabilidade, ou em casos em que o aspecto visual fugir aos "padrões" impostos pela ferramenta disponível na linguagem de programação, use o método de compor a interface "discretamente".

Quanto a API a ser utilizada.

Hoje, para 80% dos usos, pode-se fazer uso da API do Windows (através da Wine-Lib) e fazer um único executável que roda tanto em Windows e Linux. Eu não vejo muita vantagem nisto, mas pode ser avaliado com cuidado.

Tanto a QT (KDE) quanto a GTK (Gnome e Gimp) possuem port para Windows, possibilitando o seu uso para desenho de interfaces (eu tenho o Gimp rodando no Windows sem nenhum problema). Na prática, prefiro o uso da GTK pela sua flexibilidade e personalização. Isto é mais uma questão de gosto pelo Gnome do que uma decisão técnica. Não cheguei a fazer nenhuma comparação mais profunda entre GTK e QT. Se alguém se dispuser a fazê-lo, ótimo.

Existem ainda outras APIs com ports para diversas plataformas. Vale a pena dar uma vasculhada na NET e ver o que se encontra, testar e decidir pelo uso de uma em especial.

Quanto ao Sistema Operacional.

O Linux possui muitas diferenças em termos de programação que devem ser levadas em consideração, principalmente em relação ao sistema de arquivos e a filosofia de permissões. Estude com cuidado isto, pois existe muita diferença entre Windows 9x e NT/2000 e o Linux. Existem outros quesitos que merecem atenção, quanto a localização dos executáveis e dos arquivos. Se pretende usar o Linux, faça da maneira correta: leia um pouco da documentação disponível antes de começar a programar.


Quanto ao Banco de Dados

Estive analisando os diversos bancos de dados disponívels e tenho a relatar o que segue: Observe atentamente a licença de cada Banco de Dados e veja se ela se adequa ao padrão adotado pelo seu programa. MySQL tem restrições que devem ser levadas em consideração. Atualmente eu faço uso do Postgre, tanto para desenvolvimento em Windows quanto em Linux. Analise com cuidado este ítem para não ter surpresas.


Avalie com cuidado estas e outras questões que possam surgir e comente suas experiências.

Um abraço

Emerson



>Acho que o mais cross-plataform que voce encontra eh a dupla Kylix - Delphi,
>sendo que o Kylix hoje pode compilar para as duas plataformas e aceita
>linguagens como Pascal e C++
>
>
>
>

>


Bem lembrado. Não sei que tipo de software nosso amigo deseja, mas só
recordando, o Kylix possui tres versões, uma delas é gratuita, mas só
permite fazer software open-source. Se ele pretende fazer software
comercial, terá que adquirir licenças para uma das outras duas versões.


Existe uma série de outras possibilidades, algumas gratuitas, outras
não, como Qt e wxWindows, p/ citar algumas. Não posso fornecer mais
detalhes por que não tenho trabalhado com software no ambiente windows
desde alguns anos, portanto não tenho experiência atual nesta área.


Eu diria que a linguagem de programação em si não é o fator mais
importante (embora esteja associada a vários fatores como o tempo de
desenvolvimento & debug, etc), depende mais do conjunto das necessidades
(prazo de desenvolvimento, regime de atualizações futuras, capital
disponível p/ investimento, número de profissionais envolvidos, etc.) e
das ferramentas associadas a esta ou aquela linguagem em particular
(disponibilidade de documentação, debugger, bibliotecas/componentes
disponíveis, etc.).

O que posso dizer é que vale a pena pesquisar um pouco antes de entrar
no barco :-)

Um abraço,

Alex