A Serious Article Debating the Pros and Cons of FreeBASIC

For other topics related to the FreeBASIC project or its community.
technoweasel
Posts: 70
Joined: Aug 06, 2008 22:47

A Serious Article Debating the Pros and Cons of FreeBASIC

Postby technoweasel » Aug 12, 2009 15:36

I don't think so.
Last edited by technoweasel on May 21, 2014 4:10, edited 1 time in total.
Gods and Idols
Posts: 56
Joined: Dec 15, 2008 10:24
Contact:

Postby Gods and Idols » Aug 12, 2009 17:30

Richard
Posts: 3029
Joined: Jan 15, 2007 20:44
Location: Australia

Postby Richard » Aug 12, 2009 18:10

Firstly FB is not on life support, whatever some people might think. It works better today than it has in the past. It is showing signs of maturity and stability, not senility. A reduction in questions on the forum is a sign of maturity, not death.

Being a stepping stone is not a death sentence. If a stepping stone is needed then FB may well have a place as a stepping stone. FB is loved because it actually educates its users in transition. As FB has developed it has become a bigger stepping stone, like an island, it is no longer so necessary for users to move on.

FB is just one code of many. It does not matter if you learn to speak another language or program in another language, both will increase your ability to think and reason. The important thing with FB is that it does not teach bad habits.

The best fun a programmer can have is to get a program to work quickly and correctly. A beginner cannot get that from a cryptic code like C. FB is more fun than C.

Have you considered some of the more recently developed antidepressants? or possibly of writing some neat FB code, which will have the same effect.
McLovin
Posts: 82
Joined: Oct 21, 2008 1:15
Contact:

Postby McLovin » Aug 12, 2009 18:21

"Many people believe that the FreeBASIC community is on life support. "
"Most of the user base is young and inexperienced. "


I assume this is just based on your perception. I'd love to see your indepth market study of the people who contributed to the 646,000 downloads from SourceForge. That sure would be a lot of children playing with the compiler. :-)

FB is by far one of the most advanced BASIC's available. The only reason to use it as a stepping stone is because a person's job prospects would dictate it. If employers need a certain type of programmer skillset then they want that skillset immediately and not have to wait months while the person adapts their FB skills to say, Java or C++.
MikeS
Posts: 56
Joined: Feb 05, 2006 17:47

Postby MikeS » Aug 12, 2009 20:06

Now this brings back memories!

QB Express #22, A serious article debating the pros and cons of FreeBASIC by Z!re


That article would be one thing that turns me away from FreeBasic. The fact that this was published in a leading newsletter for QB/FB really kills the professionalism of how the language gets perceived. It was one of the honest reason I left freebasic previously. Imagine if Microsoft, or Borland published an article like that in one of their well known newsletters?

The one thing that keeps me using freebasic is the great documentation in the help .chm. This alone is super helpful, compared to other basics. I think FreeBasic needs to drop QBasic support, and this will help move forward to the OOP support we want, when backwards compatibility does not need to be maintained.

Other reasons I enjoy freebasic are its inline asm in a basic language. This adds tons of power, and is the way I have learned much assembly. I have also been able to learn lots of OpenGL without too much fiddling, thanks to freeBasics easy windowing tools.

I would like to see in the future inheritance and polymorphism added to FreeBasic. I think in doing this, FreeBasic could definitely have much more credibility in the making of games. With its current class support, it is almost there, but needs just a little more.

These are just some ramblings. I suggest someone(The OP perhaps) compiles a list of valid suggestions and/or lists them here and e-mails the current main developers if any action is to be expected.
Zippy
Posts: 1295
Joined: Feb 10, 2006 18:05

Postby Zippy » Aug 12, 2009 20:56

MikeS wrote:
Now this brings back memories!

QB Express #22, A serious article debating the pros and cons of FreeBASIC by Z!re


That article would be one thing that turns me away from FreeBasic. The fact that this was published in a leading newsletter for QB/FB really kills the professionalism of how the language gets perceived. It was one of the honest reason I left freebasic previously. Imagine if Microsoft, or Borland published an article like that in one of their well known newsletters?
<snip>


I do NOT speak for the QB/FB community.

That article served a purpose. It ultimately led to Z!re cum "Gods and Idols" leaving the FB community (he/she gave other reasons, moot). The psychopathic trash went elsewhere, and his/her psychopathetic detritus was expunged from the FB forum.

This was a heavy price to pay. And the twit still has an FB forum account (sock freaking puppet), he/she is still able to link to that trash because the trash still exists (QBE). But there is some satisfaction in that that same link to QBE will forever follow Z!re. You play you pay.

It's not appropriate to judge FB, the FB community, or QBE/Pete based upon the actions of one TWIT. You may, of course, but you don't have to.
Imortis
Moderator
Posts: 1726
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Postby Imortis » Aug 12, 2009 21:26

*sighs* That article was put in because QBE is supported by the readers. There was never up to that point any article, no matter how strange that got left out. ANY submission was taken. As my first time editing, I didn't think any thing of formatting that for the mag and slapping it in.

Should I have done it differently? Probably not. It was harmless. It had no malicious code. It didn't blow up computers/brains/home. It was text on a page. It was tasteless text, but it was still just text.
MikeS
Posts: 56
Joined: Feb 05, 2006 17:47

Postby MikeS » Aug 13, 2009 1:36

Glad to hear I wasn't the only one who was upset by this. I'll drop any further discussion on it.

I hope my other points in my above thread are valid and can maybe help the original poster in the discussion.
AGS
Posts: 1284
Joined: Sep 25, 2007 0:26
Location: the Netherlands

Postby AGS » Aug 13, 2009 5:15

BASIC has always been a programming language a programming enthousiast starts out with. Reason being that it is very readable and not too hard to learn. If you'd start your programming efforts using C you might be put of programming altogether. Without a stepping stone learning how to program gets that much harder. BASIC as a stepping stone is a good thing and I consider that role of FreeBASIC as a good one.

If you want to make your living programming you head over to the other side (using the stepping stone) to programming in a language the software used by companies has been written in. And that language tends to be C/C++. Like me you might not like programming in C/C++ (it looks a bit like assembler mixed with 'something') but choice is limited. Perhaps Java or Javascript but more often you'd need to know about more than one programming language to make it as a programmer. BASIC is a fine base to build your knowledge of other programming languages on. If you take away all the syntactical stuff all these languages (BASIC/C/JAVA) are just block structured languages like there are so many. 'Seen one, seen them all'. And if I am going to use one then I might as well use one with a syntax that's readable (=BASIC).

As to FreeBASIC development. Usually when someone, a single person, writes a working compiler there is the question of maintenance and further development. Before presenting the first working version of a compiler the developer developing the compiler has usually spent hours and hours developing the compiler.

Interest to develop it further might become less. If the original developer is not able to hand over his compiler project to someone else then his project could 'die'.

A couple of years ago the FreeBASIC development team has suffered a great loss. The developer that started the project quit. An open source project like FreeBASIC is usually driven by one programmer with other people helping out. And if that one programmer walks out it usually means the project dies. Unless the programmer is able to hand the project over to someone else.

And that's where the fun with FreeBASIC begins. The man that developed FreeBASIC walked out and other people took over. Some of these people walked out and that's where the project is at right now.

There are developers, there are people using FreeBASIC and what's the next step? There is not one programmer that drives it all any more. There is no programmer that knows all the ins-and-outs of the project (as the programmer that started the program did).

I see a few possible directions of development.

One: someone downloads the sources and starts a fork. A very unlikely option but it is an option.

Two: the project continues the way it has for the past year. Not very likely either because I think it's no fun for the current team of developers to maintain software you do not fully understand. Maintaining some elses software in your spare time is no fun. I think this option is no good for the future of FreeBASIC.

Three: the project continues and new people start participating. The project returns to it's vibrant early days and all will be well :)

Option three is of course the preferred option. I'd like to see FreeBASIC turn into a GCC frontend because that would be a nice challenge for any developer wanting to join. Perhaps rewrite the parser in C to make sure as many developers as possible can join (there are a lot of people out there able to program in C).

But not doing the GCC frontend thing might be even more interesting, more of a challenge. Can a group of developers add inheritance and interfaces to the FreeBASIC compiler? And is it possible to develop a debugger that ties in with GDB but also has some capabilities to take care of the problems that occur when using GDB? And what about creating a 64 bit version? Adding better Unicode support (perhaps use ICU?).

First and foremost there should be a new, binary release. And it doesn't matter the developers have not added a lot of new futures. Bugs have been fixed, bindings to external libraries need to be updated (new import libraries/include files are needed) and the manual needs an update.

Not releasing an 'official', new binary version of FreeBASIC in 2009 would be bad for the FreeBASIC project.
marcov
Posts: 3004
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Postby marcov » Aug 13, 2009 7:03

AGS wrote:BASIC has always been a programming language a programming enthousiast starts out with. Reason being that it is very readable and not too hard to learn. If you'd start your programming efforts using C you might be put of programming altogether. Without a stepping stone learning how to program gets that much harder. BASIC as a stepping stone is a good thing and I consider that role of FreeBASIC as a good one.


While that might go for Basic. If I see the examples floating over this forum with their macro and pointer tricks, I wonder if you can really apply that also to FB, just because it bases somewhere some syntax on BASIC.

People constantly echo the "easy" argument as prime FB feature, and people eat it because it is "BASIC", but to be honest, I have some doubts there.

Moreover because I never saw the argument being made directly applying to FB, but always in reference to the design of BASIC in 1950 or dialects of yore. And we see migrating QBers struggle every day.
agamemnus
Posts: 1842
Joined: Jun 02, 2005 4:48

Postby agamemnus » Aug 13, 2009 14:29

There are developers, there are people using FreeBASIC and what's the next step? There is not one programmer that drives it all any more. There is no programmer that knows all the ins-and-outs of the project (as the programmer that started the program did).


Skynet.

Except for the IDE bit (I don't think there should be an official IDE; competition, even for freeware, often makes for a better product...), I agree with the OP.

I totally agree with the "goal" part. Sure, the compiler has seen bug fixes, more interest from the community, and small enhancements over the past few months, but everyone is waiting for dynamically sized arrays in UDTs to appear. Forget inheritance -- it's a small detail that isn't necessarily needed. Just give me dynamically sized arrays in UDTs and I will consider FB complete. :)
angros47
Posts: 1671
Joined: Jun 21, 2005 19:04

Postby angros47 » Aug 13, 2009 17:44

Many of us, here, agree that inheritance and C emitter are the most needed features, but about other features, there is no general agreement.
I, for example, wish to see, in order: inheritance, nested subs/functions, c emitter, scalars and arrays with same name in -lang qb, a little of oop even in -lang fblite, and optional case sensitiveness.

Has anybody ever thought about making some Freebasic distros? with the same compiler, but different ide and libraries; one distro could be focalized on retro-compatibility, with -lang qb by default, a qb-like ide, and a lot of documents about porting qb sources; another distro could include a port of miniB3d and an IDE derived from a clone of BlitzBasic IDE, with -lang fblite by default, a simple manual for beginners and some tutorials about game making; another one could have a RAD, and some widget classes, to provide an environment similar (altough not 100% compatible, of course) to Visual basic; and so on.
Since the compiler is the same, every distro could use sources written for others, providing needed libraries, so the project won't fork, and every IDE (we have already seen many IDE projects) could have a right niche.

In fact, I think that being the most modern and complete open source basic compiler, FreeBasic attracts many users, who want to replace their favorite basic (QB, VB, Blitz, DarkBasic...); of course everyone needs different features, but FB cannot be everything, while customized distros could be.
The "original" freebasic will come with compiler and APIs, but no IDE and no docs (only a link to FBIDE and online wiki), and will target only experienced users, while beginners could use a friendle distro, with a simple and less-scaring interface, more suitable to whatever they want to do, and (unlike what happens with commercial task-specific languages, like Blitz) they won't have to switch to another language to do other task, only more libraries/includes.
So, more newbies will be interested in FB, will found a friendler approach in programming, and they will come here only when they'll be expert (and won't care the "essentiality" of the site, or the compiler, or they'll love it clean structure)
vdecampo
Posts: 2982
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Postby vdecampo » Aug 13, 2009 18:02

I, for example, wish to see, in order: inheritance, nested subs/functions, c emitter, scalars and arrays with same name in -lang qb


Does the original QB have this? I don't understand why on the one hand we want cool new features from FB, then on the other hand we want backwards compatibility. My vote is to fix what needs fixing in the -qb and -lite dialects and freeze them out. Future versions of FB should focus solely on new -fb features. I can speak from experience that maintaining legacy compatibility while trying to add new features makes the job 10xtimes harder than just breaking compatibility.

QuickBASIC is dead as far as active development so it makes no sense to add features to this dialect that were not there before. Concentrate efforts on the new dialect.

IMO
-Vince
angros47
Posts: 1671
Joined: Jun 21, 2005 19:04

Postby angros47 » Aug 13, 2009 18:55

Sorry, my post was not clear...

It should have been:

I, for example, wish to see, in order: inheritance, nested subs/functions, c emitter in -lang fb, scalars and arrays with same name in -lang qb, a little of oop even in -lang fblite, and optional case sensitiveness.


Lang qb is only for compatibility, and the only missing feature is that converting some old code, with single-letter var names, is a pain.

I know that there is QB64 for retrocompatibility, and so -lang qb in freebasic is less important, in fact I think that only a little adjustment should be done in QB dialect: maybe, if compiler store array names internally with an additional "_" before them in -lang qb, it would be an hackish solution, but more legacy program could work (and, after that, no more changes to QB mode).

QB mode can also be a "common denominator": a QB-compatible program can compile on original QB (even in 8086), on FB and on QB64... In some cases, that might come in handy.

FBlite, instead, is an original language, different from "pure" FB, and closer to "standard" basic (Turbo Basic, Power basic... the last one is all but dead), so it could be developed further (not a priority, of course), programmers coming from blitzbasic or powerbasic could like it more than "full freebasic".
Also, the "true" basic has line numbers , suffixes and GOSUB, that have been removed from -lang FB, so FB is no more a true basic, it's a new language... a true basic dialect, 100% basic-compliant, but with advanced features (API, pointers and so on) should be available (fblite is good enough, why not improving it?).


And about my idea of making distros? Should be done? Do you think that it could attract more developers? Solve some problems? Or create more troubles than benefits?
Last edited by angros47 on Aug 13, 2009 19:08, edited 1 time in total.
vdecampo
Posts: 2982
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Postby vdecampo » Aug 13, 2009 19:07

angros47 wrote:And about distros? Should be done? Do you think that it could attract more developers? Solve some problems? Or create more troubles than benefits?


I created an FB/FBEdit installer that is preconfigured with help files and everything. I did not see a big download demand. The problem is there is no official download page that we could link to different distros. Unless someone searched the forums they would never find my installer.

http://www.freebasic.net/forum/viewtopi ... =installer

-Vince

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 6 guests