OT: BlitzMax is now free and open source

For other topics related to the FreeBASIC project or its community.
angros47
Posts: 1491
Joined: Jun 21, 2005 19:04

OT: BlitzMax is now free and open source

Postby angros47 » Sep 21, 2015 19:45

http://www.blitzbasic.com/Community/posts.php?topic=105045

It has features similar to FreeBasic, but it has GC too. Unlike BlitzBlus and Blitz3D, this one is multi-platform.
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: OT: BlitzMax is now free and open source

Postby BasicCoder2 » Sep 21, 2015 20:57

After spending some time trying to write some games with FreeBASIC I am wondering if something like BlitzBasic might be worth learning to use instead. I see MonkeyX compiles to different languages. BlitzBasic is very different to FreeBASIC but does have things I had hoped would be added to FreeBASIC which has instead headed down the path of a C++ clone.
angros47
Posts: 1491
Joined: Jun 21, 2005 19:04

Re: OT: BlitzMax is now free and open source

Postby angros47 » Sep 21, 2015 21:10

What are the things you miss in FreeBasic?
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: OT: BlitzMax is now free and open source

Postby BasicCoder2 » Sep 23, 2015 23:19

angros47 wrote:What are the things you miss in FreeBasic?


As I have been using FreeBasic exclusively for the last seven years I guess there is nothing I miss as such as you can do probably most anything with it if you have the expertise. However as I have written else where I think it would have been more widely accepted by novice programmers if more things were innate in the standard set of commands. For example fonts as part of printing text, better innate commands for manipulating images of any format and commands for loading and playing sounds and music again handling different sound formats. Then there is pen size for drawing and paint fill where any border color would act as a boundary. All fixable with extra code in a .bi file but a fast innate command would have been a nice. In the old QBASIC you could add innate commands that you had written in machine code if you wanted to.

I don't mind how Java does it with importing modules something I am told is coming with C++17.
St_W
Posts: 1470
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: OT: BlitzMax is now free and open source

Postby St_W » Sep 26, 2015 12:26

BasicCoder2 wrote:
angros47 wrote:What are the things you miss in FreeBasic?


As I have been using FreeBasic exclusively for the last seven years I guess there is nothing I miss as such as you can do probably most anything with it if you have the expertise. However as I have written else where I think it would have been more widely accepted by novice programmers if more things were innate in the standard set of commands. For example fonts as part of printing text, better innate commands for manipulating images of any format and commands for loading and playing sounds and music again handling different sound formats. Then there is pen size for drawing and paint fill where any border color would act as a boundary. All fixable with extra code in a .bi file but a fast innate command would have been a nice. In the old QBASIC you could add innate commands that you had written in machine code if you wanted to.

I don't mind how Java does it with importing modules something I am told is coming with C++17.

I totally agree. While FreeBasic (the language) got some new features in the last years - which is great for advanced users but probably makes things even more complicated for beginners - the gfxlib did not get any new features in the last years (at least none that big, that I can remember). So while the language evolved the gfxlib still provides roughly the same functionality, which was already present in the old QBasic days. And that's simply not enough today.

I fully understand it's not an easy decision to add new features to gfxlib as it will:
- bloat the executables for programs that won't use that additional functionality
- pollute the global namespace with additional keywords

So before doing that a proper concept for modularization (e.g. implicit linking of a new gfxlib_ext on usage, like the current gfxlib) and a decision how to access the new functionality is needed. e.g. put everything in a "FB" or "GFX" namespace.
angros47
Posts: 1491
Joined: Jun 21, 2005 19:04

Re: OT: BlitzMax is now free and open source

Postby angros47 » Oct 01, 2015 22:54

A thing I miss is some ctandard command set to do GUI, like in visual basic or rapidq/hotbasic.

I am not complaining that FreeBasic doesn't have them... I am complaining that FreeBasic has too many of them: GTK, wx widgets, widows API, FLTK, xforms....

A beginner willing to learn GUI programming would not know which one he should use. And finding examples/tutorial is hard, because there are examples for many different toolkits (imagine a newbie that has just biild a window eith xforms, looks for code to create menues, and find a GTK example: he would be confused, right?)

And writing a new GUI library for FreeBasic might lead to this:
https://xkcd.com/927/

About the graphic library... I attempted to fill the gap with OpenB3D and OpenB2D
marcov
Posts: 2761
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Re: OT: BlitzMax is now free and open source

Postby marcov » Oct 02, 2015 8:05

St_W wrote:I fully understand it's not an easy decision to add new features to gfxlib as it will:
- bloat the executables for programs that won't use that additional functionality
- pollute the global namespace with additional keywords


gfxlib is mandatory linked in even if you don't use it ?
St_W
Posts: 1470
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: OT: BlitzMax is now free and open source

Postby St_W » Oct 02, 2015 12:47

marcov wrote:gfxlib is mandatory linked in even if you don't use it ?

No, but if e.g. font and png support would be included in gfxlib (e.g. FreeType, libpng, ...) that would bloat programs not using the new gfxlib features (but using the gfxlib). I would consider the keywords issue more important anyway, as executable size is not that important anymore nowadays (except for special devices, like embedded systems).

I do not see a big problem having many libraries available, but I agree that there should be some "default" one that beginners can start with. Some package repository for addons would be nice therefore, like CPAN (comprehensive Perl archive network), PIP (python package index), ...
marcov
Posts: 2761
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Re: OT: BlitzMax is now free and open source

Postby marcov » Oct 02, 2015 13:01

St_W wrote:as executable size is not that important anymore nowadays (except for special devices, like embedded systems).


(no, not even there. People with serious space concerns, embedded or not, don't accept the division the release builder uses, but make their own choices by disabling parts they don't need and recompile. All they need is maybe some ifdef work merged back to make their work easier for new versions)

I do not see a big problem having many libraries available, but I agree that there should be some "default" one that beginners can start with. Some package repository for addons would be nice therefore, like CPAN (comprehensive Perl archive network), PIP (python package index), ...


Yeah, but there is risk of plugin disease here. (casting sources out of the core to "plugins" or "packages", while there is no good management for those yet, and then I'm already kind, essentially leaving them to rot).
Tourist Trap
Posts: 2762
Joined: Jun 02, 2015 16:24

Re: OT: BlitzMax is now free and open source

Postby Tourist Trap » Oct 02, 2015 13:22

angros47 wrote:I am not complaining that FreeBasic doesn't have them... I am complaining that FreeBasic has too many of them: GTK, wx widgets, widows API, FLTK, xforms....

Hi, what you say is worth attention, it's the 'why more is less' principle. However I dont agree. The problem (in my opinion) is not something to be handled at language base. It can be handled via an IDE. A proper IDE is the good place to define usage constraints / restrictions, in order to make the user do what he is supposed to do, and how. For instance an IDE could embbed a GTK gui maker, and the user would have to accept it this way or leave it. This is not suitable for the language to have such a behaviour (even if the beginner would possibly feel more at ease in first time).

That reminds me the discussion about the windows icon management . Why should fb bother about such a feature in its core language? It's far too much plateform dependant. However an IDE should.

This is in fact in the QB tradition to come with an excellent IDE and probably this helped make think that Basic has always a perfect developpement environement that comes with it. Seems not so automatic .

I think simply so that freebasic lack fresh updates of its major IDEs, this is not the same as lacking language features. There is also a lack of tutorials. This however is not to charge against the developement, the users have become lazy ;)
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: OT: BlitzMax is now free and open source

Postby BasicCoder2 » Oct 02, 2015 20:05

For me it is a matter of achieving some outcome with minimal effort. There is no point in talking about what FreeBasic needs unless you have the expertise to do something about it. The latest versions of FreeBasic makes it C++ without the squiggly brackets, end of story. If you need a simple to use language with high level commands you have to move onto something other than FreeBASIC. In the case of writing games one of the Blitz Basic family may be suitable but there are other options.
sancho2
Posts: 547
Joined: May 17, 2015 6:41

Re: OT: BlitzMax is now free and open source

Postby sancho2 » Oct 03, 2015 2:41

Tourist Trap wrote:The problem (in my opinion) is not something to be handled at language base. It can be handled via an IDE. A proper IDE is the good place to define usage constraints / restrictions, in order to make the user do what he is supposed to do, and how.

Yes, a quality IDE would drive the decision on what GUI to use, especially for first time users.
When I talk about a high quality IDE, I refer to something like what VB5/6 had or even more advanced like Visual Studio. The problem with this is that an IDE of high quality is an enormous task. We can't expect the FB developers to take this on and the user community is too small to expect a person or persons to do it. So we end up with what we have: some decent IDE's developed up to a certain point and then halted/abandoned, because there is little reward for their effort.
I actually enjoy starting with a blank canvas and building everything, but for me it is a hobby. I don't expect to create anything useful or anything to sell. I suppose it would be nice to have some built in windows commands like Pure Basic has. I don't think that would influence progammers to drop C++ or C# or Java and hop on the FB wagon. Not to any great extent. Its been my experience that when you are coding for games, you will want to roll your own GUI anyway as no one has the right look for your vision.
In the case of Blitz Basic it is now open source and free, because the developer has overtly abandoned it (if I remember correctly). Not a language I would want to get too invested in.
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: OT: BlitzMax is now free and open source

Postby BasicCoder2 » Oct 04, 2015 19:34

sancho2 wrote:In the case of Blitz Basic it is now open source and free, because the developer has overtly abandoned it (if I remember correctly). Not a language I would want to get too invested in.

And the same could be said for FreeBasic. Its original appeal as a QBASIC replacement has vanished in the "upgrades". The old versions of FreeBasic work fine and I find no incentive to upgrade to less readable and harder to learn c++ syntax and c++ abstractions. The BASIC language was designed by experts for those who aren't really programmers but who would still like to have an understanding of what programming is and have a go at programming themselves.
Tourist Trap
Posts: 2762
Joined: Jun 02, 2015 16:24

Re: OT: BlitzMax is now free and open source

Postby Tourist Trap » Oct 05, 2015 17:45

sancho2 wrote: The problem with this is that an IDE of high quality is an enormous task. We can't expect the FB developers to take this on and the user community is too small to expect a person or persons to do it. So we end up with what we have: some decent IDE's developed up to a certain point and then halted/abandoned, because there is little reward for their effort.

My reference here would be Delphi. Since Borland added support to OOP to its (excellent) Pascal compiler, it became possible to use a cumulative strategy for gui programming; that has consisted on developping gradually the vlc, the visual library component.
FB is today at some very similar point, so it should become not so hard to make IDEs capitalizing on a component library to deal with gui developpement. The problem however is to start at some point. The current IDEs could provide a good base I think, but anything else done with in mind a vcl strategy would fit the business.

BasicCoder2 wrote:For me it is a matter of achieving some outcome with minimal effort. There is no point in talking about what FreeBasic needs unless you have the expertise to do something about it.

With the OOP support anyone today can with moderate effort do gui developpement in freebasic. Of course, classes embedding events are still lacking a little, but as far as I've been able to experiment, the support for the OS APIs allows good compensation.

As a matter of demonstration I've made this demo : viewtopic.php?f=7&t=24000. Only about 8 hours of crafting from me as a very casual and rather slow programmer, so nothing to be scared of.
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: OT: BlitzMax is now free and open source

Postby BasicCoder2 » Oct 06, 2015 18:59

Tourist Trap wrote:With the OOP support anyone today can with moderate effort do gui development in freebasic. Of course, classes embedding events are still lacking a little, but as far as I've been able to experiment, the support for the OS APIs allows good compensation.

As a matter of demonstration I've made this demo : viewtopic.php?f=7&t=24000. Only about 8 hours of crafting from me as a very casual and rather slow programmer, so nothing to be scared of.


Your example seems to be about a gui designer? Not sure why you need oop support for this. I have written simple experimental demo examples of GUI editor/designers that generate event driven FreeBasic source code templates.

Incomplete incompatible class support for FreeBASIC with its own idiosyncratic nomenclature added to the language Tower of Babel is of no use to me at all. I may as well just use the latest and greatest version of C++ with which I have some OO experience or some other OO language. I don't want to have to learn to read yet another OO language particularly if it is not widely used. FreeBasic was a great replacement for the popular widely used QBASIC but it has gone down a dead end as a BASIC language with its C++ direction.

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest