A Serious Article Debating the Pros and Cons of FreeBASIC

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
Imortis
Moderator
Posts: 1986
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Post by Imortis »

I had long wanted to help the FB compiler in some way, but I knew I didn't have the skills to work on it myself. So I decided to help out QBExpress. That was what I knew I could do. Later I figured out how to compiler the compiler from SVN. So now I offer that. I know my abilities and try to work within that.

PS: I am trying to learn some about the compilers internals so I can try my hand at working on it, but that is probably a long way off.
TheMG
Posts: 376
Joined: Feb 08, 2006 16:58

Post by TheMG »

Just out of interest, who is interested in contributing to FBC?
marcov
Posts: 3503
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Post by marcov »

TheMG wrote:Just out of interest, who is interested in contributing to FBC?
To the compiler ? No. But I'm exploring porting header conversions from FPC.
Imortis
Moderator
Posts: 1986
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Post by Imortis »

*raises his hand*

I just know I know little enough about it, at the moment, that my opinion on what should be done/how to do it is worthless. That is why I am trying to learn.
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

I have been steadily increasing my knowledge in the area of compilers to eventually be able to assist in this area.

@Imortis

Do you have any information you can share regarding compiling the FBC source? That is one stumbling block I will eventually have to overcome.

-Vince
McLovin
Posts: 82
Joined: Oct 21, 2008 1:15
Contact:

Post by McLovin »

I will be helping (as much as I can).
TheMG
Posts: 376
Joined: Feb 08, 2006 16:58

Post by TheMG »

Just to make clear, when I said FBC, I meant the compiler, rtlib, gfxlib2, headers, libraries, anything that has a folder in the SVN, basically.
Do you have any information you can share regarding compiling the FBC source? That is one stumbling block I will eventually have to overcome.
I've managed to get that going a couple of weeks ago. The wiki article guided me through it fine. Is there a specific step that isn't going as planned?
Imortis
Moderator
Posts: 1986
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Post by Imortis »

The instructions in the Wiki for compiling from SVN are extremely accurate. The ones for the WIN32 version anyway. The DOS one is a little on the vague side and I needed the help of some of our resident DOS experts to help me out on that one (Thanks, Dinosaur).

I have not yet tried from Linux, but I just got a nice new high powered computer, so I am planning to run Linux in a VM just so I can try it out as well.

I can say that it is not as hard as it looks, it just has a lot of steps. Most of which can be consolidated into a batch script, or in a .sh file for the WIN32 version.
TheMG
Posts: 376
Joined: Feb 08, 2006 16:58

Post by TheMG »

Something I forgot to mention is that the SVN part didn't work (as it mentions in the wiki), so I did that in cmd.exe instead.
Imortis
Moderator
Posts: 1986
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Post by Imortis »

TheMG wrote:Something I forgot to mention is that the SVN part didn't work (as it mentions in the wiki), so I did that in cmd.exe instead.
Yeah, once you do it in the Command Prompt the first time, it works after that in Msys.
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Post by notthecheatr »

I was always interested in contributing to the compiler, but two things conspire against me:
-My lack of knowledge about the way the compiler works, or how to add things to it or fix things in it. Hell, I don't even know how to compile it from the SVN, though I suspect that would be the easiest part of development.
-My lack of sufficient time to study and learn about it.

I suspect a majority of people, if they care about the compiler, are pretty much in the same boat as myself.
counting_pine
Site Admin
Posts: 6323
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Post by counting_pine »

To be honest, MSYS isn't really an essential part of the process. There's no complex scripting needed, and MinGW gives you the necessary commands like cp and make, if you add the mingw\bin folder to your PATH.

configure is slightly trickier, but that should work ok with prepending sh to the command.

You'll also have to substitute '~' for an actual folder, but that's no big deal. My main SVN build is just at F:\FreeBASIC.
technoweasel
Posts: 70
Joined: Aug 06, 2008 22:47

Post by technoweasel »

@counting_pine

Your a developer. What od you think about an FB standard?
croco97
Posts: 7
Joined: Nov 13, 2006 12:58

Post by croco97 »

Zippy wrote:
DrV and counting_pine are IT. Both are genius, neither know enough to document what they weren't around to develop in the first place (yes, they do and could if:). If they could, they may not have the time nor the inclination to do so.

So, Mr. TheMG et al, get cracking. It's up to you. You spend the time, you learn the source code, you head the team to take fb wherever it is you think it should go. Or not.
Three points:
First: Compiler
The fact, that V1ctor and others left the project does not mean automatically that the project is dead. It can also mean, that the project is just finished and good as it is. In these days it seems to be unthinkable, that something is good enough to fulfill it's purpose. Further "optimizations" may be invested ain the wrong place. The leads to my next point:

Second: Libraries
Libs are the strong side of freebasic and it was a good strategy to enhance freebasic from a mere qb clone towards this direction. Beyond a certain level the language is not as strong as its features, but as strong as its libraries! C is a very simple language with many flaws but together with e.g. GTK it is programmed with an efficiency rather as C++ than as C. Therefore invests should go in the development of bindings and libs and not in the language itself. Advanced developers anyway will switch to very ambitious languages like Ruby, Python, Groovy, Scala, C#, D and so on.

Third: Simple GUI and simple IDE
However still a simple GUI lib and a good simple IDE is still missing. You say: QB64 is there. But QB64 is no full replacement of QBasic. I've written a tutorial for programming beginners and I cannot recommend my readers to switch to QB64 because the most important debugging features are missing: No built-in debugger, no tracing, no Stop commands, no interactive variable insights, no watches. These things are basics since QuickBasic 4.5 and Turbo Pascal in every commercial IDE and important for every effort to program quick and efficiently.

For my opinion the question whether freebasic will be alive or not in the future will be decided at this third point rather than at the question whether the inheritance or interfaces will be implemented or not.
counting_pine
Site Admin
Posts: 6323
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Post by counting_pine »

OK, v1ctor and coderJeff have not left the project - they just have other priorities currently.
My main FB priority at the moment is to try and get a release out. I'm going to work towards getting out a 0.20.1 release, which will be mainly be 0.20.0, plus any bugfixes from SVN that I don't think will cause any code breakage. (Hopefully, noone's been relying on that bug in instrrev...)

If that goes smoothly, then maybe a 0.21.0 release will follow soon after.
But the whole thing is taking a while. Partly because I have other priorities in my life, partly because the steps involved give me a headache and I don't always have the patience to work on it.

After that, maybe I can help try and find a solution to the general feelings of stagnation. I'm all for trying to open up the compiler internals to more of the community, but I'm not sure of the best way to proceed on that.

Regarding the dialect issues: I won't be taking them out. I don't think it would make the compiler radically simpler. I also don't want to have to turn away users who can't cope with the explicit variables, etc. But since it's open source, there's nothing legally to stop other people forking and taking them out.
Last edited by counting_pine on Sep 09, 2009 18:07, edited 1 time in total.
Post Reply