How BASIC is FreeBASIC?

General discussion for topics related to the FreeBASIC project or its community.
Z!re

Post by Z!re »

[Content removed at author's request]
DaveUnit
Posts: 239
Joined: Apr 20, 2006 15:47
Location: Central MA

Post by DaveUnit »

Well Z!re, you are a troll and you attacked me and called me some kind of hypocrite, so I defended myself. not a pity play I'm afraid.
I'm sorry for feeding the troll, everyone. I'll stop now. Obviously trying to be reasonable with them has no effect.
jevans4949
Posts: 1186
Joined: May 08, 2006 21:58
Location: Crewe, England

Post by jevans4949 »

In defence of GOSUB (sort of):

Yes, it's not in line with modern practices.

But it does introduce the beginner to the principle of the subroutine, i.e, extracting a block of code that needs to be performed in the same way at several points in the main program flow.

And given the small size of the programs written in Dartmouth Basic, with small compilers and about 4K workspace, it was better than nothing.

Actually, it was probably better than the way COBOL's PERFORM was specified at that time. And probably FORTRAN too.

At the time GOTO was not considered dangerous, either!
Z!re

Post by Z!re »

[Content removed at author's request]
Imortis
Moderator
Posts: 1925
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Post by Imortis »

@Zire:
I am speaking for myself here, and can't say if DaveUnit agrees, but many times even when you explain that your posts are not meant to be a personal attack or inflammatory, they often seem to be. Not always, just often.

When a person is being attacked (whether real or imagined), it is the first response to defend against it.

It seems that anytime he tries to defend himself from what SEEMS to be an attack (but is not), you rib him for defending himself.

That would be very similar to someone beating the crap out of you and asking you why you keep putting up your hands to block the blows.

@Everyone:
It would be really nice if we could get back on topic. As Z!re pointed out, we do seem to jump on these kind of topics. I see nothing wrong with the question, other than the fact that it and others like it come up rather frequently.

To quote Tim Wilson, "You've been married 9 times... Hell, maybe it's you". I like FB, but obviously some people don't like everything about it.
Hezad
Posts: 469
Joined: Dec 17, 2006 23:37
Contact:

Post by Hezad »

Okay ... I really want to say some stuff about what were just said, especially about language (human language) used.. But I won't, As already said, it's not the subject.

About the "BASIC" part of "FreeBASIC" :

I'm not a coder. I code for fun and pleasure. (just a precision)

I discovered FreeBASIC when I was looking for a language in which I could code with some habits I got with QBasic, GFA Basic and/or TO7 basic. I just tried FB and found I could code with my old habits. Well, There were some variations, but really simple stuff to "learn". And then I discovered UDT's (yeah, with FreeBasic) and pointers (idem), a concept I never understood when I tried to learn C/C++ (when I was looking for a language).

So, for me (and it's just the way I see it), FreeBASIC was a way to get back to programming in BASIC PLUS learning some fundamental concepts in programming.

I'm still a beginner, no problem with it. But FreeBASIC made me learn a LOT of stuff, starting with the BASIC syntax (almost) and evolving to more advanced concepts.

So, yeah, for me, FreeBASIC, IS some kind of a new BASIC language. "programmatically", and ideologically. And I'm REALLY don't just polishing some shoes to be in good terms with the Dev Team.

So thanks to the FB team and thanks to every people making it an interesting language and community. EVERY people. Even if I (really) don't like when people use hurtful words to argue for their opinion.

Hezad

ps : Sorry for english and weird sentences
jofers
Posts: 1525
Joined: May 27, 2005 17:18

Post by jofers »

Yeah, this thread might need a lock. But moving on...

Well, how BASIC is QBASIC?

The only ANSI and ISO approved standards for BASIC were published in the 1980s, and require you to use LET to assign a variable. The way it was designed, BASIC was meant to be an interpreted language. In Full BASIC, the only defined numerical data type is DOUBLE.

In reality, BASIC defines an entire class of languages with a few core syntaxes subject to change. It's blossomed into an array of incompatible languages, and almost none are compatible with Dartmouth BASIC, or the slew of BASIC interpreters that were standard on old computers.
roook_ph
Posts: 402
Joined: Apr 01, 2006 20:50
Location: philippines
Contact:

Post by roook_ph »

How about an icebreaker , a poll on what you'd like to bring to fb? I would certainly vote for gosub and dimless variable to be reactivated. Let is ridiculous dont bring it back for gassake!
fabrizio
Posts: 73
Joined: Sep 29, 2006 13:39
Location: Roma, Italy

Post by fabrizio »

I agree with jofers:
In reality, BASIC defines an entire class of languages with a few core syntaxes subject to change.
"How BASIC is FB?" is a difficult question to answer, because everybody seems to have a different opinion on what BASIC is in the first place.

Someone wants to live the 80's again, like

Code: Select all

10 PRINT "hello"
20 GOTO 10
someone wants C++ without curly brakets, and they all call it BASIC.

The problem lies in the fact that FreeBASIC actually allows just about anything, from Dartmouth to -well- to -lang FB. You have SCREEN and PSET and you also have libraries, you have line numbers and classes and so on.

If the characteristic of BASIC lies in the multitude of dialects, then FB - by alowing them all - is as BASIC as it can be...
Z!re

Post by Z!re »

[Content removed at author's request]
MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

Post by MystikShadows »

How BASIC is freebasic? Well although I was probably the first to state certain things about FreeBasic in the past (my review article in QB Express for example).

I'll be the first to admit that even though at the time I was probably right, Today, the article I wrote back then is just about void if not totally void. The main reason I wrote that article was because FreeBasic started drifting away from an original idea set at the start of the project. Things took a turn, FB got pushed probably much further than originally intended back then. But when I look at OOP for example, how it was back then (when I wrote the article) and how it is today are two very different things. And that's just one example. As far as making FreeBasic as BASIC as it can be, I think everyone on the dev team has made some pretty good steps in that direction thus far.

OF course, if you want to do nuclear physics, whether you use freebasic or C/C++ or any other languages, quantum physics is complex formulas and difficult concepts to understand. So if anyone just looks at an example quantum physics coding example, not many will just understand them ;). But I think that in a BASIC language (freebasic or any other) if things are programmed well and a good naming convention is applied BASIC dialects will have a better chance at being understood.

So yeah, I have to say that FB has made a lot of efforts. ANd well, a lot of programs I made on QB so far have taken me less than 5 to 10 minutes to convert to -lang QB and less than a 1/2 hour to convert to -lang FB and some of these are a at least 6000 to 7000 lines of code long. I think that's worth mentioning.

Is there still work to do in that direction? yes, but this is version 0.18.5 not 0.99.9 ;) So yeah, there's work to do, but the work that's been done so far, especially lately (0.17b and up specifically) I think is good for the path FB is going in.

As another example doesn't matter how simple the pointer syntax is, if one doesn't know what a pointer is, like the quantum physics example, they won't understand the code. But that's true in any language that offers pointers. Even other BASICs that offer them. To that, I can say, when OOP is done (with inheritence and all) we could create something similar to a collection object (like in VB) or a list object or other data structures fairly quickly and when those are done, there won't be a need for direct pointers for those that don't want to mess with those directly.

My two cents. :)
fabrizio
Posts: 73
Joined: Sep 29, 2006 13:39
Location: Roma, Italy

Post by fabrizio »

@ Z!re: Setting aside for a second how you express it, I think you have a point, in that FB has clearly made a step forward from QB.

VB and even more VB.net made a parallel step forward. And we are talking here of the present de facto BASIC standard. Which probably makes the decision of the Developers seem less fantastic than you depict it.

Yes, BASIC has evolved over time, I don't find this so difficult to accept. I wouldn't write to M$ complaining that their so called BASIC (VB.net) is full of classes and that the PRINT statement (an all time BASIC classic, if there is one) isn't there any more.

What I find more important is that this step forward isn't - in my opinion - adequately reflected in the documentation or in the way FB is described (overstating the QB legacy, presenting FB as a whole instead than the 3 different dialects separately). This brings about a good deal of misunderstandings.

FB isn't flawless. BASIC (whatever it is) isn't either.

(Probably you missed the irony of the last remark of my previous post.)
Z!re

Post by Z!re »

[Content removed at author's request]
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Post by marcov »

Z!re wrote:
fabrizio wrote:...
I agree, FB definitely need to step back to its roots and become more like QBASIC.
The current direction is a poor choice, especially with the maintaining of multiple dialects and whatnot.

And your point about FB being non-standardized and lacking any design documents or focus being a bad thing, I wholeheartedly agree with.
I'm btw looking forward to your proposals.
Z!re

Post by Z!re »

[Content removed at author's request]
Post Reply