Qual a maturidade do FreeBASIC? [fechadas]

10

Um amigo meu está pensando em usar o FreeBASIC em um ambiente crítico de produção. Atualmente, eles usam o GWBasic e desejam fazer uma transição suave para idiomas mais modernos. Estou apenas preocupado que possa haver erros não detectados no software. Vejo que o número da versão é 0.22.0, o que indica que ainda não está maduro. Eu também li essa discussão, sem poder concluir. Também nas páginas do Sourceforge, não há indicação se é Alpha ou Beta (o que de qualquer forma não é um indicador muito bom). Alguém tem experiência própria sobre a maturidade, idéias sobre como julgar a maturidade, ou conhece empresas que usam o FreeBASIC em um ambiente crítico de produção?

David
fonte
23
Se eles estão usando GWBasic, qualquer coisa é uma melhoria.
Craig
11
Os fóruns do FreeBASIC parecem um lugar melhor para fazer esta pergunta.
Matt Ellen
2
@ David Eles têm um ambiente de teste? Pode valer a pena executar um e contratar como consultor um dos desenvolvedores do projeto, para que ele possa corrigir os erros encontrados na execução do teste.
Vitor Py
4
Suspeito que a transição do GWBasic para outro dialeto BASIC não seja tão "suave" quanto você pensa. A lei de Hofstadter se aplica especialmente a reescritas.
Rein Henrichs
11
Os números de versão são coisas muito específicas do projeto. Alguns projetos reservam o dígito principal para algo muito especial e continuam acelerando as versões menor e micro.
Lars Viklund 24/09/12

Respostas:

8

Espero que não seja tarde demais para desenterrar um tópico antigo.

Eu uso o FreeBASIC em um ambiente industrial há mais de 5 anos e achei que ele era sólido como uma rocha. Na verdade, ele funcionou muito bem em torno de 0,1, com crescente compatibilidade com o QuickBASIC, e cresceu lentamente para exceder essas raízes e se tornar mais "sério", mas pode ser dito para trabalhar em um modo quase 100% compatível com QB. Lançamentos razoavelmente grandes apenas veem o número da versão subir 0,01.

Sugiro que seu amigo leve o GWBASIC ao MS QuickBASIC, o que deve ser bem fácil (já fiz isso antes, não foi projetado para 100% de compatibilidade?). O FreeBASIC oferece a opção de 'século XXI' para executar nativamente como um aplicativo de 32 bits, caso alguém sinta necessidade. Caso contrário, com o Windows 7, etc, você está preso usando uma VM executando o DOS ou algo assim.

Antony
fonte
10

O PureBasic é provavelmente a sua melhor aposta em vez do FreeBASIC, mas se eu fosse você, provavelmente mudaria para uma linguagem mais moderna e robusta, como C # ou Python.

Gary Willoughby
fonte
3

O melhor BASIC a ser usado para atualizar a partir do GWBASIC é o PowerBasic (www.powerbasic.com). Muitos já fizeram isso antes, então há muita experiência na comunidade de usuários do Powerbasic, caso você precise de assistência lá.

O Powerbasic também é um produto de alta qualidade, quase sem problemas / bugs, e desenvolvido ativamente. Não é grátis (US $ 199), mas vale cada centavo.

FYI: Eu não sou afiliado a eles e uso o VB.NET (por razões profissionais; caso contrário, seria Powerbasic ...).


fonte
3

O Powerbasic é bastante maduro, e eu recomendaria sinceramente, especialmente se a confiabilidade e o grande suporte forem importantes para você. Pessoalmente, não o uso mais porque não é realmente projetado para programação de jogos - para o qual eu uso (e recomendo) o BlitzMax multiplataforma.

Dito isto, o Freebasic não deve ser muito difícil se você é do GWBasic e parece ser razoavelmente estável também. A documentação e o suporte do fórum também são melhores que a média.

Ainda assim, se eu fosse uma empresa (em oposição a um indivíduo) procurando uma solução que existisse e fosse suportada no futuro próximo, eu usaria algo como o Powerbasic. Aqui está um programa que pode converter QBasic em Powerbasic: http://www.powerbasic.com/support/downloads/files/QB2PBv2.zip

Espero que isto ajude! Russell

Russell
fonte
3

Estes são os seguintes dialetos básicos que são bons como compilador e script incorporável:

1) gambas

Estes são os seguintes dialetos básicos que são bons apenas como compilador, mas podem incorporar outros scripts:

2) jabaco

3) objetivo básico

4) freebasic

5) chipmunkbasic

Estes são os seguintes dialetos básicos incorporáveis ​​que são bons e podem ser incorporados em outros dialetos básicos, dependendo das estruturas:

6) scriptbasic

7) maven-sb4j

8) ajbasic

Tudo isso também pode ser usado para criar aplicativos GUI que diferem entre si, ferramentas de conexão de banco de dados e na área de aplicativos incorporáveis ​​(páginas do servidor da web), scriptbasic e gambas-gbs3 já estão lá, enquanto que se você pode obter fb-curl e fb-simplewebserver e integre-os ao framework freebasic, e também ao freebasic-server-pages (se não estiverem lá, talvez seja necessário fazer o download e copiar e colar os arquivos da biblioteca e do cabeçalho na lib e incluir o diretório freebasic, respectivamente). Até o jabaco pode incorporar o maven-sb4j, ou o objectbasic e o chipmunkbasic podem incorporar o madscript e o scriptbasic, respectivamente. Portanto, é provável que eles tenham solução para a maioria dos requisitos.

Se você é muito especial com a compatibilidade do gwbasic, escolha bwbasic (gwbasic aprimorado para freebsd e linux), mas não acho que exista muita diferença com alguns outros.

No entanto, para gráficos com bwbasic, você precisa lidar com as opções baseadas em x11 ou aguardar até que ele adicione suporte para tk, fox e outros kits de ferramentas conhecidos.

Se você estiver disposto a procurar:

Ambiente de desenvolvimento robusto semelhante a vb + páginas básicas do servidor, depois escolha gambas ou jabaco com o maven-sb4j.

Intérprete robusto suportado com um ide fino, mas bom: freebasic, e se você pode obter o fb-curl e o fb-simplewebserver e integrá-los ao framework freebasic, então também freebasic-server-pages.

Mecanismo da web robusto para páginas básicas do servidor, depois scriptbasic e thinbasic.

Portanto, todos eles são robustos e podem se tornar utilizáveis ​​pelo menos após a adição de alguns módulos.

Emprestou alguns recursos menores do python / perl / ruby: scriptbasic (e também yabasic3)

Sintaxe fácil e muito padrão: seria obásico (openbasic) no futuro, atualmente freebasic e scriptbasic são dois sabores variados ou básico tradicional, enquanto gambas e jabaco são um dialeto vb6 variado.

kaushikkg
fonte
2

Qual é exatamente o seu caso de uso? Ou melhor, o caso de uso do seu amigo. Eu os direcionaria para o Python (ou qualquer outra linguagem amplamente usada, mas também simples), mas talvez haja alguma razão específica para que eles precisem usar um dialeto BASIC.

Sou a favor de brincar com vários idiomas em projetos pessoais, mas, para fins críticos de produção, geralmente me ater a idiomas amplamente conhecidos, amplamente suportados e muito testados em batalha.

jhocking
fonte
3
Esta não é uma resposta, mas é mais adequada como um comentário. O caso de uso é que ele é usado para o cálculo crítico dos negócios de custos de material, mão-de-obra, geração de modelo 3D etc. O atual programa GWbasic possui cerca de 30.000 linhas de código (criadas por um único desenvolvedor), razão pela qual um menor é preferível reescrever em comparação com o Python, o que exigiria uma reescrita completa.
David
5
Eu não estou pessoalmente familiarizado com o FreeBASIC ou o GWBasic, mas suspeito que não seja uma reescrita pequena. A maioria dos dialetos do BASIC que encontrei são realmente bem diferentes um do outro. Puro Básico, Real Básico, Blitz Básico, GL Básico, etc. Eles são conceitualmente muito semelhantes (por exemplo, não orientados a objetos), mas a sintaxe é completamente diferente.
jhocking
Tentou diminuir o voto de quem prefere código "bonito" ao invés de código funcional. Parece que eles têm um grande corpo de GWBASIC testado e comprovado, estão satisfeitos com sua funcionalidade, gostariam de mudar para uma linguagem mais moderna sem precisar reescrever ou reprojetar tudo, o que é perfeitamente sensato. Reescrever um grande sistema legado é uma das tarefas mais difíceis que você pode realizar!
James Anderson
Mudar para uma linguagem mais moderna sem reescrever tudo é um primeiro instinto sensato, mas não é realmente prático nessa situação. Se o único motivo para reescrever tudo é obter um código "bonito", sim, isso é uma enorme perda de tempo, mas esse é um motivo para não mudar de idioma. Se, no entanto, você tem uma necessidade real de alternar idiomas (esse é um tópico antigo, então não me lembro se ele fez), a alternância de idiomas força você a reescrever tudo.
Jhocking 26/09/12
0

Depois, há o suporte a java-api ou japi para scriptbasic, yabasic2 e jabaco, que é multiplataforma.

Mas é claro que hoje em dia muitos dialetos básicos também têm outros kits de ferramentas de plataforma cruzada, que podem abrir caminho para aplicativos de qualidade no futuro.

kaushikkg
fonte