A Serious Article Debating the Pros and Cons of FreeBASIC
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.
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.
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.
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?Do you have any information you can share regarding compiling the FBC source? That is one stumbling block I will eventually have to overcome.
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.
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.
-
- Posts: 1759
- Joined: May 23, 2007 21:52
- Location: Cut Bank, MT
- Contact:
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.
-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.
-
- Site Admin
- Posts: 6323
- Joined: Jul 05, 2005 17:32
- Location: Manchester, Lancs
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.
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.
-
- Posts: 70
- Joined: Aug 06, 2008 22:47
Three points: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.
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.
-
- Site Admin
- Posts: 6323
- Joined: Jul 05, 2005 17:32
- Location: Manchester, Lancs
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.
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.