FreeBASIC有多成熟?[关闭]


10

我的一个朋友正在考虑在关键的生产环境中使用FreeBASIC。他们目前使用GWBasic,并且希望向更现代的语言过渡。我只是担心该软件中可能存在未检测到的错误。我看到他们的版本号是0.22.0,这表明它还不太成熟。我也阅读了讨论,但无法得出结论。同样,在它们的Sourceforge页面上,也没有迹象表明它是Alpha还是Beta(无论如何这都不是一个很好的指标)。是否有人对成熟度有自己的经验,如何判断成熟度的想法,或者是否知道在关键的生产环境中使用FreeBASIC的公司?


23
如果他们使用的是GWBasic,那么一切都会有所改善。
Craig

1
FreeBASIC论坛似乎是问这个问题的好地方。
Matt Ellen

2
@David他们有测试环境吗?可能值得一运行并聘请一名项目开发人员作为顾问,以便他/她可以修复测试运行中发现的错误。
Vitor Py

4
我怀疑从GWBasic过渡到另一种BASIC方言不会像您想的那样“软”。霍夫施塔特定律尤其适用于改写。
Rein Henrichs

1
版本号是非常特定于项目的。一些项目保留主要数字用于某些非常特殊的内容,而只是不断修订次要和微型版本。
Lars Viklund 2012年

Answers:


8

我希望挖掘一个旧线程还为时不晚。

我在工业环境中使用FreeBASIC已有5年以上,并且发现它坚如磐石。随着QuickBASIC兼容性的增强,它实际上可以很好地回到0.1左右,并且慢慢地增长到超过了这些根源,变得更加“严肃”,但是可以说它以接近100%QB兼容的模式工作。相当大的发行版只会看到版本号增加0.01。

我建议您的朋友将GWBASIC转换为MS QuickBASIC,这应该非常容易(我之前做过,不是为100%兼容而设计的吗?)。然后,FreeBASIC为您提供了“ 21世纪”选项,可以在任何人需要时作为32位应用程序本机运行。否则,在Windows 7等操作系统下,您将无法使用运行DOS或类似操作系统的VM。


10

PureBasic可能是您最好的选择,而不是FreeBASIC,但是如果我是您,我可能会改为使用更现代和更强大的语言,例如C#或Python。


3

Imho用于从GWBASIC升级的最佳BASIC是PowerBasic(www.powerbasic.com)。许多人以前都做过此事,因此,如果您需要在Powerbasic的用户社区中获得帮助,则在该社区有很多经验。

此外,Powerbasic也是高质量产品,几乎没有问题/错误,并且积极开发。它不是免费的(199美元),但值得每一分钱。

仅供参考:我不隶属于他们,而是自己使用VB.NET(出于专业原因;否则将使用Powerbasic ...)。


3

Powerbasic已经相当成熟,我会衷心推荐它,特别是如果可靠性和强大的支持对您很重要。我个人不再使用它,因为它并不是真正为游戏编程而设计的,为此我使用(并推荐)跨平台的BlitzMax。

话虽如此,如果您来自GWBasic,那么Freebasic不应成为太多障碍,并且似乎也相当稳定。文档和论坛支持也优于平均水平。

不过,如果我是一家公司(而不是个人),正在寻找可以在可预见的将来获得支持的解决方案,那么我会选择Powerbasic之类的产品。这是一个可以将QBasic转换为Powerbasic的程序:http : //www.powerbasic.com/support/downloads/files/QB2PBv2.zip

希望这可以帮助!罗素


3

这些是下面的基本说明,它们既可作为编译器又可作为嵌入式脚本使用:

1)甘巴

以下是这些基本说明,它们仅适合用作编译器,但可以嵌入其他脚本:

2)贾巴科

3)客观的

4)freebasic

5)花栗鼠基础

以下是一些可嵌入的基本方言,它们很好,并且可以根据框架嵌入到其他基本方言中:

6)脚本化

7)maven-sb4j

8)味精

所有这些还可以用于制作互不相同的gui应用程序,数据库连接工具,以及在可嵌入应用程序(网络服务器页面)方面,scriptbasic和gambas-gbs3已经存在,而如果您可以使用fb-curl和fb-simplewebserver并将它们集成到freebasic框架中,然后再将它们集成到freebasic-server-pages中(如果它们不存在,则可能必须分别下载并复制粘贴lib下的库和头文件,并分别包含freebasic的目录)。甚至jabaco都可以嵌入maven-sb4j,或者Objectivebasic和Chipmunkbasic可以分别嵌入applescript和scriptbasic。因此,这些解决方案可能可以满足大多数需求。

如果您对gwbasic兼容性非常特别,请选择bwbasic(对于freebsd和linux来说是gwbasic增强的),但是我认为与其他一些没有太大的区别。

但是对于具有bwbasic的图形,您必须应对基于x11的选项,或者等到它添加了对tk,fox和其他知名工具包的支持。

如果您愿意寻找:

强大的类似于vb的开发环境+基本服务器页面,然后选择带有maven-sb4j的gambas或jabaco。

健壮的解释器提供了一个薄而精巧的支持:freebasic,如果您可以获得fb-curl和fb-simplewebserver并将它们集成到freebasic框架中,那么还将获得freebasic-server-pages。

适用于基本服务器页面的健壮的Web引擎,然后是脚本基础和瘦基础。

因此,它们都很健壮,并且至少在添加一些模块后才可能变得可用。

从python / perl / ruby​​借用了一些次要功能:scriptbasic(还有yabasic3)

简单且非常标准的语法:将来会是基础语言(openbasic),目前freebasic和scriptbasic是两种不同的口味或传统的basic,而gambas和jabaco是多种vb6的方言。


2

您的用例到底是什么?或者更确切地说,是您朋友的用例。我将把它们引向Python(或其他广泛使用的但也很简单的语言),但是也许出于某些特定原因,他们需要使用BASIC方言。

我都是在个人项目中玩各种语言的人,但是出于关键的生产目的,我通常会使用那些广为人知,得到广泛支持并且经过严格测试的语言。


3
这不是答案,而是更适合用作注释。用例是它用于物料成本,人工成本,3D模型生成等业务关键计算。当前的GWbasic程序大约有30.000行代码(由单个开发人员创建),这就是为什么较小的原因与使用Python相比,重写是首选,而Python需要完全重写。
大卫

5
我个人对FreeBASIC或GWBasic都不熟悉,但是我怀疑这不是一个小小的重写。实际上,我遇到的大多数BASIC方言彼此之间都有很大的不同。Pure Basic,Real Basic,Blitz Basic,GL Basic等。它们在概念上非常相似(例如,不是面向对象的),但是语法完全不同。
2011年

试图拒绝赞成“漂亮”代码而不是工作代码的任何人。听起来他们拥有大量经过验证的GWBASIC,他们对它的功能感到满意,他们只想过渡到一种更现代的语言,而不必重新编写或重新设计一切,这是非常明智的。重写大型遗留系统是您可以执行的最艰巨的任务之一!
James Anderson

在不重写所有内容的情况下转向更现代的语言是一种明智的第一反应,但在这种情况下并不实际。如果重写所有内容的唯一原因是获得“漂亮的”代码,那么是的,这是在浪费大量时间,但这是不切换语言的原因。但是,如果您确实需要切换语言(这是一个旧线程,所以我不记得他是否这样做过),那么切换语言几乎会迫使您重写所有内容。
2012年

0

然后有跨平台的scriptbasic,yabasic2和jabaco的java-api支持或japi。

但是,当然,现在有很多基本方也有其他跨平台工具包,它们很快将为将来的高质量应用铺平道路。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.