thriller wrote:Hello there.
This is the first post of me, sorry for my bad English.
I almost lose my interest in basic until my first eye on freebasic.
That's the basic we ought to have, I think. Thanks v1ctor for the creative work!
I believe FB can do most program things even now at it early age.
Some dreams of me as flws:
1. A powerful FB IDE like VB 6.0. Maybe we can even try to program FB in VB6 IDE with some add-ins. An xml format of project file is also very good idea besides makefiles. RadAsm is good, but open source ide in freebasic itself will be better.
The IDE that works with Freebasic does a nice job. It's not as "smooth" as Visual Basic but at least it doesn't have that nasty feature of
immediately banging back at you with a messagebox when you type in something that contains a syntax error. It makes it irritating when I'm doing a manual translation of something I know has errors and I'm fixing it.
I think the answer would be to tie in to the IDE some form editor similar to the one in Glade (I think that's the name) that is used to write GUIs for GTK or KDE so the system would be portable. I have an Open Source program called Inkscape that makes SVG files which I believe uses that toolset or something like it and it also runs on Windows.
thriller wrote:2. Realtime interpreting like vb6 debug window.
In theory you could do something like this, problem being that Visual Basic is to a large degree an interpreter, not a compiler. Check out a program called XBasic which is another open-source Basic but is more of an interpreter I do believe. (I soured on it because it was much too slow for my taste). It may be more helpful to you.
thriller wrote:3. Option to be compatible with visual basic, power basic, realbasic, full basic, etc.
There is an issue that sometimes confuses users of Windows from users of Linux is that the GUI shell is strongly bonded to the operating system on Windows 95 and above, but X-Windows on Linux is not part of the OS and is totally optional or can be replaced. The same conditions apply to FreeBasic in that the code compiler - Freebasic itself - is separate from and generally is not connected to the program development environment (such as FBIDE) used to write code. This would require putting hooks in the system to allow such features and would require considerable work. The system wasn't designed to allow interpretive execution and thus adding it would be a lot of trouble.
thriller wrote:4. Alow inline c/c++, pascal, java, php, perl, python and/or others to reduce the translation work. Many open source projects change their header file when they update. If we can use .h directly, we will have the power to use new header files accordingly i/o new trans works.
This one I happen to agree with. It's one of the things I'm thinking about, the ability to change the target language that FreeBasic generates. But the answer would be to implement something in the Preprocessor to support this, or implement a way to allow the compiler to change the target language it generates in compiling code for the compiler. That requires rewriting the code generator to support a new hosting environment in place of 386 Assembler.
Now, however, PHP, perl and Python are interpreted languages. It would require some means to invoke their interpreters and keep the source code of the included code as part of the generated program, then pass that code onto the interpreter. Since it most likely would run in another memory space, then you have the issue of how to let the interpreter that is called know where the local variables in yout calling program are.
This would be better addressed by calling the interpreter through something like a CHAIN statement and using files (or ramdisk files) or pipes to pass data. It also is something you can do
now, you don't have to wait for someone to figure out how to implement it.
thriller wrote:5. Cross-platform gui/non-gui controls/component support, better if support for DELPHI component.
This is a big problem because it requires a great deal of intimate support for Windows controls, implementation of the IUNKNOWN interface in order to support controls, access to COM and DCOM and a lot of work. Visual Basic has it because Microsoft wrote it. Delphi has it because Borland has the money to spend tens of thousands of dollars to hire people who know how to use it and buy the complete Microsoft documentation for Windows 95 and the MSDN and Visual C compilers to start development. We don't have that kind of luxury.
thriller wrote:6. Ability to create web/internet servers support for FB/FB scripted files. That’ll be cool.
There is an interpreter called ScriptBasic that could be used to create Basic language CGI scripting and might be more appropriate for such a purpose. There are different tools for different purposes and no one language or compiler is good for all of them.