BASIC Studio for Linux (Cancelled)

User contributed sources that have become inactive, deprecated, or generally unusable. But ... we don't really want to throw them away either.
Post Reply
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by marcov »

caseih wrote: The presentation was entitled, "Inheritance is the base class of evil."
Basically he makes the case that interface contracts are far more useful and clean than inheritance. This idea fits very well with a language like Python where you have duck typing. I
Historically there have been many languages that don't do inheritance based polymorphism, usually in the more higher level ones. Apple languages are another case.

It is a double edge sword though, it opens up advanced forms of object composition, but carries a price in method dispatch and detecting less errors compiletime.

Opinions about this vary, but it is still all OOP, I don't see the relevance of that argument in a discussion about OOP vs procedural RAD.
t's a bit more awkward in C++ where you have to use some template black magic. And I don't think FB would support this sort of paradigm at present. The core principle is that it shouldn't matter what the inheritance tree is. You should be able to call a method on any object that implements such a method. For example, if you have a collection of objects, you should be able to call "draw()" on each of them, regardless of their actual classes.
But to keep some form of polymorphism, you need to translate "draw()" somehow to a callable address, usually this is done using some hashtable. The compiler generates some hash for "draw" and the table is a map from that hash to an address. And an object might not support a certain method deep in generic code, and errorhandling for that must be generated.

More advanced systems try to balance this by having some inheritance (e.g. interface/protocol based) and typing, but still allowing usage over dispatch in an attempt to get the best of both worlds.
Anyway I found it interesting, especially as I'm working on a large Qt project in C++ that uses a lot of class inheritance, and I see how unwieldy inheritance can get.
Believe me, the other way is also unwieldy when scaled out. Keeping track of what object implements what and handling cases where it does is not easy.

Anyway, Apple's objc mostly works with such system, so for deep integration with OS X(and not just the unix underpinnings) you need to deal with that.
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by marcov »

Munair wrote:
lizard wrote:But if you look at the examples in this forum, less than 5% use oop.
That's because there is no RAD for FreeBasic like there is for FreePascal. However, a RAD for Linux is not necessarily meant to pursuade current FreeBasic users. First and foremost it is meant to attract a wider audience and make working with the FreeBasic compiler more interesting. There are also many Linux users who would like to see something similar to REALbasic (the free version with the old interface). The current alternative I know of - Gambas - is not going to do that because it is an interpreter and not very user friendly.
Note that we have heard all these arguments about Lazarus too. Bloat, old things are better, complicated bla bla. But external contributions to the "old" procedural units (like "dos" the KVM units and FV) and the textmode IDE was near zero.

In the end nearly everybody migrated. Even some of the holdouts (like fpgui developer Graeme) confess to use it to edit code.

But maybe I'm wrong, and the older-is-better group will come up with something amazing in purely procedural style.
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by marcov »

lizard wrote:I don' think people come to FB to program in oop. If they want to do this they go to C++. Thats oop-paradise. But why are Gtk,
GTK is thoroughly OOP, even when written in a non OO langauge. People that don't understand OO can't really work with it or expand it.

As contra example, many GNU projects have been migrating to C++ recently, GCC, GDB, simply because keeping it C is too unwieldy.
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: RAD for Linux (in development)

Post by lizard »

Yes, C++ is the language of the professionals. But not in the sense it would be technically better. It is just commercially better and faster to use and maintain a predefined object. For them the time counts how long it takes to get the job done from the programmers sight. If the code takes a minute or a hour to execute is not most important. But programmers are paid for their time, so every minute programmers time cost money.

Not so at the programming enthusiasts here in this forum. Their interest goes into technical aspects, say speed. Thats why long discussions arise how to speed up a single program fragment by a few milliseconds. Naturally they have not much interest for oop.
Last edited by lizard on Dec 12, 2017 13:53, edited 1 time in total.
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by Munair »

lizard wrote:Not so at the programming enthusiasts here in this forum. Their interest goes into technical aspects, say speed. Thats why long discussions arise how to speed up a single program fragment by a few milliseconds. Naturally they have not much interest for oop.
I wonder if that kind of utilization of the compiler will inspire long term development and maintenance of FreeBasic. About 10 years ago there seemed to have been more interest in developing IDE's and perhaps even RADs and other useful tools. They still exist today, but are hardly maintained anymore. Personally I believe FreeBasic could use a fresh injection, a LARGE injection at that! :-)
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: RAD for Linux (in development)

Post by lizard »

Munair wrote:
lizard wrote:Personally I believe FreeBasic could use a fresh injection, a LARGE injection at that! :-)
That injection could be a IDE programmed in FB itself, platform indepent, based on gtk. There at least five people working at IDEs today. But they mostly do the same mistakes like always. Beginning from scratch reinventing the wheel, targeting windows and using other languages. Naturally in a few years they are outdated.
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by Munair »

lizard wrote:That injection could be a IDE programmed in FB itself, platform indepent, based on gtk. There at least five people working at IDEs today. But they mostly do the same mistakes like always. Beginning from scratch reinventing the wheel, targeting windows and using other languages. Naturally in a few years they are outdated.
I agree there. In general, most FB stuff is targeted at Windows. Just look at the library section. But GTK on Windows is generally a bad idea. It never gives the native look and feel.

An IDE for Linux seems not very interesting to most FB users, probably because most users are on Windows, and those who are on Linux probably settle for Geany or something similar.
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: RAD for Linux (in development)

Post by lizard »

Geany is widely used. But it is not much more then to display a source code with syntax highlighting and the possibility to compile and execute. But this is possible with a wide range of languages.

It has no designer built in what i would call "RAD". WxFBE was on a good way, but it relies on wx-c, which is kind of outdated because it compiles only with 32bit, AFAIK. But the principle of emitters to produce source code for different GUIs was an interesting approach.

That would show the way to go. Based on gtk, platform indepent with designer and emitters. That could be an IDE users would wish to have. :-)
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by Munair »

lizard wrote:Geany is widely used. But it is not much more then to display a source code with syntax highlighting and the possibility to compile and execute. But this is possible with a wide range of languages.

It has no designer built in what i would call "RAD". WxFBE was on a good way, but it relies on wx-c, which is kind of outdated because it compiles only with 32bit, AFAIK. But the principle of emitters to produce source code for different GUIs was an interesting approach.

That would show the way to go. Based on gtk, platform indepent with designer and emitters. That could be an IDE users would wish to have. :-)
Well, currently I'm developing 100% GTK interface, without Linux platform specifics, so installing GTK on Windows would do the job too. But again, it is generally not recommended. I tried it a few times. The last time was with installing GIMP on Windows. It's still quite buggy.
Imortis
Moderator
Posts: 1923
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Re: RAD for Linux (in development)

Post by Imortis »

marcov wrote:Anyway, regardless of backend, the important bit is to find out if FB has ways to create an own independent wrapper of something that shields users from the widgetset. IOW can FB sufficiently abstract an interface? And if not, what is missing (and I bet on RTTI and variables containing class types).
A number of years ago I was working on a GUI library that was designed around the idea of abstracting away the particulars of the undelying "rendering". Basically it was a high level widget framework made so that you could replace it's back-end with any gui toolkit you wanted. It had most of the glue code built in so you just had to feed source code to specify how to do the general task in the toolkit of your choice.

The idea was, you could write the code once, then just swap out the backend code for different platforms at compile time.
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by marcov »

lizard wrote: Their interest goes into technical aspects, say speed. Thats why long discussions arise how to speed up a single program fragment by a few milliseconds. Naturally they have not much interest for oop.
Not really IMHO. They are trying to game the system to squeeze out a few promille extra overall, but don't really take a step back and do some fundamental step to greater speed. And often not even for normal apps but for the same hobby code as was in the QB forums 20 years ago. It is a dying world. If that is the future of FB, it will be short, very short.
Last edited by marcov on Dec 12, 2017 16:33, edited 1 time in total.
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by Munair »

marcov wrote:Not really IMHO. They are trying to game the system to squeeze out a few promille extra overall, but don't really take a step back and do some fundamental stap. And often not even for normal apps but for the same hobby code as was in the QB forums 20 years ago. It is a dying world. If that is the future of FB, it will be short, very short.
*step* -- Couldn't agree more.
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: RAD for Linux (in development)

Post by lizard »

marcov wrote:same hobby code as was in the QB forums 20 years ago. It is a dying world. If that is the future of FB, it will be short, very short.
You contradict yourself. First you write they do the same since 20 years, then it will die soon.
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: RAD for Linux (in development)

Post by marcov »

lizard wrote: You contradict yourself. First you write they do the same since 20 years, then it will die soon.
I wonder what you want me to say. Crack a joke that probably it is the SAME people, and given people are mortal, the conclusion is evident?

Joking aside, what does it really matter. What do you think that group is going to contribute to the project?
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: RAD for Linux (in development)

Post by lizard »

marcov wrote:I wonder what you want me to say. Crack a joke that probably it is the SAME people, and given people are mortal, the conclusion is evident?

Joking aside, what does it really matter. What do you think that group is going to contribute to the project?
All i want to know is if you think the optimization of routines for speed goes on forever or suddenly stops, maybe because single people die. And why such a group can't contribute to this project.
Post Reply