BBC BASIC for Windows
« Let the REM!Embed accept strings as parameters »

Welcome Guest. Please Login or Register.
Apr 5th, 2018, 9:52pm



ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018.
Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.

If you require a dump of the post on your message board, please come to the support board and request it.


Thank you Conforums members.

BBC BASIC for Windows Resources
Online BBC BASIC for Windows documentation
BBC BASIC for Windows Beginners' Tutorial
BBC BASIC Home Page
BBC BASIC on Rosetta Code
BBC BASIC discussion group
BBC BASIC for Windows Programmers' Reference

« Previous Topic | Next Topic »
Pages: 1 2  Notify Send Topic Print
 hotthread  Author  Topic: Let the REM!Embed accept strings as parameters  (Read 2794 times)
Michael Hutton
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 248
xx Let the REM!Embed accept strings as parameters
« Thread started on: Nov 19th, 2010, 02:09am »

Is it possible to let the REM!Embed Compiler directive accept eg myfile$ rather than just @lib + "myfile.bbc".

This would enable all the settings to be put in one place and updates between versions much easier.

Michael
User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #1 on: Nov 19th, 2010, 08:50am »

on Nov 19th, 2010, 02:09am, Michael Hutton wrote:
Is it possible to let the REM!Embed Compiler directive accept eg myfile$ rather than just @lib + "myfile.bbc".

I don't really understand what you are suggesting here. Superficially, myfile$ would appear to be a variable name and of course variables only exist when a BASIC program is actually running. There is no concept of 'variable' during the compilation process, which is when the Compiler Directives are acted upon.

Perhaps you could explain in more detail what you mean.

Incidentally, this is a bad time to suggest changes, because the next version of BB4W is now 'frozen'. Further changes can't be considered until the second half of next year at the earliest, if indeed there will ever be another version.

Richard.
User IP Logged

Michael Hutton
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 248
xx Re: Let the REM!Embed accept strings as parameters
« Reply #2 on: Nov 20th, 2010, 12:39am »

No, fair enough, I had not appreciated the variable issue at first glance but it makes sense.

I was just hoping for an 'easy' solution to working with different versions etc. rather than changing lots of different directives every time but it is not really an issue.

Quote:
if indeed there will ever be another version.

How many times have I heard that! smiley


Michael

User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #3 on: Nov 20th, 2010, 09:22am »

on Nov 20th, 2010, 12:39am, Michael Hutton wrote:
How many times have I heard that! smiley

For the last few years each successive version of BB4W has had fewer changes than the previous one. As the remaining few bugs/features get rooted out, and the 'AMD issue' rules out functional changes to the interpreter anyway, the need/justification for new releases diminishes.

Another important issue is motivation. I have largely lost interest in programming in general, and in BBC BASIC in particular. This partly stems from a growing realisation that my ambitions for BBC BASIC will never be fulfilled. The recent spate of threads about SYS, and the seeming inability of a large number of BB4W users to grasp the concept of calling the Windows API, is very depressing.

It also has to be said that you have single-handedly done your bit to convince me that BB4W is more a source of irritation and stress than it is a source of pleasure and satisfaction. How deliberate that was only you can answer.

Finally, there's the issue of competence. As I get older my faculties are rapidly deteriorating; this year has been a particularly difficult one from a health point of view. My short-term memory is very bad, and that seriously impairs my ability to write code. Increasingly I find myself making stupid mistakes, of a kind that I would never have made even five years ago.

Inevitably the time will come when new releases of BB4W cease entirely. I don't know whether v5.92a will be the very last, but in saying it's a real possibility I'm not just 'calling wolf'.

Richard.
User IP Logged

Michael Hutton
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 248
xx Re: Let the REM!Embed accept strings as parameters
« Reply #4 on: Nov 20th, 2010, 2:07pm »

on Nov 20th, 2010, 09:22am, Richard Russell wrote:
It also has to be said that you have single-handedly done your bit to convince me that BB4W is more a source of irritation and stress than it is a source of pleasure and satisfaction. How deliberate that was only you can answer.


I think you should read that again to yourself.

Quote:
...that my ambitions for BBC BASIC will never be fulfilled


I wonder why.

Michael
User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #5 on: Nov 20th, 2010, 3:47pm »

on Nov 20th, 2010, 2:07pm, Michael Hutton wrote:
I think you should read that again to yourself.
huh

Quote:
I wonder why.

The main reason must be that my ambitions were always unreasonable. When I started work on BB4W in 2000 I knew nothing about Liberty Basic or Power Basic, for example, so I was naive about the competition. For years I had been cocooned in an environment of BBC BASIC supporters, so wasn't able to judge it dispassionately. Somehow I'd even managed to be ignorant of QBASIC's superiority over BBC BASIC in many respects (now largely rectified in BB4W).

In the last 9 years or so I have been forced to look at BBC BASIC from a more objective viewpoint, and I haven't always liked what I've seen. The section in my notebook listing things I'd do differently if I was writing a BASIC from scratch is now quite long! As I've said before, being forced to remain compatible with - and true to the spirit of - a specification written in 1981 has its advantages, but there is a down side too.

Some of BBC BASIC's 'feature' characteristics, such as the low-level access afforded by indirection and the lack of strong typing, are powerful but at the same time unforgiving. Programming successfully in BBC BASIC requires a degree of self-discipline that many users don't seem to be able to muster. Even I, from time to time, get frustrated when it takes a while to locate a bug which in a language like C or PB would have been caught by the compiler.

Summing it up, BBC BASIC has had its day. I am proud that a language now nearly 30 years old should still be in use, but there comes a point when one has to accept that it's a language of the past, not of the future.

Richard.
User IP Logged

Michael Hutton
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 248
xx Re: Let the REM!Embed accept strings as parameters
« Reply #6 on: Nov 21st, 2010, 02:05am »

on Nov 20th, 2010, 3:47pm, Richard Russell wrote:
huh


Well, quite frankly I was put out by your comments. I am not sure what you are trying to say. Was that an insult? Do you realise how rude it comes across? or are you really just one of these high functioning autistics? - Don't worry the list is long, although highly speculative.

Quote:
The section in my notebook listing things I'd do differently if I was writing a BASIC from scratch is now quite long! ........ Summing it up, BBC BASIC has had its day. I am proud that a language now nearly 30 years old should still be in use, but there comes a point when one has to accept that it's a language of the past, not of the future.


Surely if we have reached this watershed point it is time to revamp the language? You may feel you "don't have the inclination" to do so, but you are in the best position to do so.

Yes, there are many 'features' of BB4W that I would change but they are probably more of the presentation aspect. I have always been keen for a more modern IDE as you know (I didn't continue to develop mine as you said your only source of income was from the BB4W IDE) and other changes such as strong type casting. It would be a new era for BB4W. If you are feeling the way you do about the language surely it is time to cut the chaff (after all, C developed to C++, has transformed into C# (which personnaly I wouldn't use) and other derivatives). If it could happen to one of the most widely used languages in the world why couldn't it happen to BB4W?

I must admit to not being so worried about maintaining compatibility with the language specifications which are more than 30 years old, but it would probably have to lose the 'BBC' part and be called something else. BBC BASIC programs written 30 years ago that are still running now are probably few and far between, and they have a platform they can still run in 30 years later - BB4W. Great. Maybe they should be consigned to the flames.

How long would it take for you to put all those features you suggest into practice? I can't imagine more than 6 months (probably shorter). And what would delight the BB4W community more than all those features?

Imagine a BASIC language that is as easy to use and powerful as BB4W, a modern IDE, can truly be compiled, (and maybe.... is 64 bit....), inline assembly (even 64 bit C++ can't do that), automatically include .h files, strong typing, etc, etc, etc... and as easy to 'play with' as BASIC or am I talking about C++?

If only I had the ability and time to do so, I would do it.

Quote:
Summing it up, BBC BASIC has had its day. I am proud that a language now nearly 30 years old should still be in use, but there comes a point when one has to accept that it's a language of the past, not of the future.


Oh well, what a depressing topic. You sound like you should retire or keep a lower profile. Read some poetry or go and visit the sick and less fortunate than you. Every dog has its day. Let the others interested keep the flag flying. You may not think they are worthy to do so and I recognise your frustration that others are not able to attain the high standards you obviously set for yourself, but you must remember that 97.3% of the population of users are keen amateurs and that is why they have gravitated towards BB4W in the first place.

Good luck with whatever you decide to do. I wish you well. I have enjoyed the insights into prgramming I have got from you, but certainly not inability to sympathise!

Michael

« Last Edit: Nov 21st, 2010, 02:08am by Michael Hutton » User IP Logged

Matt
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 210
xx Re: Let the REM!Embed accept strings as parameters
« Reply #7 on: Nov 21st, 2010, 06:26am »

I would also like to add that I have been using BBC Basic since I got a BBC Micro in the early eighties and, although I have dabbled in other languages, I still consider BBC Basic easier to use. I may not be the brightest star in the sky when it comes to the more comprehensive areas of BB4W programming, but I have enjoyed writing the various programs that I would not have dreamed of writing had BB4W or (86) not been available. I have valued your help immensely, Richard, and I am sorry to hear you are not getting the enjoyment and satisfaction out of it that we obviously are. If you have decided that it's time to put it to bed, then so be it. But please don't miss-interpret constant questions for a deliberate attempt to irritate. They are a real need to understand the working of the system. I can only apologise for any irritation caused.

If you do decide to move on - put your feet up and relax - then please accept my thanks for the all the hard work you have done over the past years, and know you will be sorely missed.

Matt (BBC Basic fan!)
User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #8 on: Nov 21st, 2010, 09:43am »

on Nov 21st, 2010, 02:05am, Michael Hutton wrote:
I am not sure what you are trying to say. Was that an insult?
Not intended to be an insult, but equally not intended to be a compliment!

Quote:
Surely if we have reached this watershed point it is time to revamp the language?
Please re-read what I have written on the subject many times before. You cannot "revamp" BBC BASIC whilst remaining BBC BASIC. As soon as you make incompatible changes to the language it becomes something different from BBC BASIC. There are plenty of alternative versions of BASIC out there, and it would be very difficult to justify inventing yet another.

Quote:
You may feel you "don't have the inclination" to do so, but you are in the best position to do so.
I can't see any value in doing so. If you don't like BBC BASIC use a different dialect; there must be one to suit your tastes.

Quote:
Yes, there are many 'features' of BB4W that I would change but they are probably more of the presentation aspect. I have always been keen for a more modern IDE as you know
The IDE is a completely separate issue, as far as I'm concerned. The IDE isn't BBC BASIC, and BBC BASIC isn't the IDE. After all, none of the many other implementations of BBC BASIC has a comparable integrated IDE. All my comments have been about the language and interpreter.

Quote:
(I didn't continue to develop mine as you said your only source of income was from the BB4W IDE)
My only source of income? What nonsense (I receive a generous BBC pension)!

What I will have said is that BB4W is a commercial product, and an alternative IDE would be in direct competition with it. Obviously I would be extremely unhappy for somebody who claims to be a 'supporter' of BBC BASIC to market a competitive product to BB4W and therefore to dilute my income, albeit that it's a small proportion of the total.

Quote:
that and other changes such as strong type casting. It would be a new era for BB4W.
You seem to be missing the point that a language with strong type checking wouldn't be BBC BASIC! The name 'BBC' implies that the language is compatible with the specification created by the BBC (and its advisers) back in 1980/1981.

Quote:
If you are feeling the way you do about the language surely it is time to cut the chaff (after all, C developed to C++, has transformed into C# (which personnaly I wouldn't use) and other derivatives). If it could happen to one of the most widely used languages in the world why couldn't it happen to BB4W?
It's a false comparison. You can perhaps compare (generic) C and (generic) BASIC, and for example say that as C developed into C++ then BASIC developed into COMAL. But you can't pick on a particular dialect like BBC BASIC and say it should 'transform' into some different language, when there are already dialects of BASIC to satisfy every taste.

Quote:
How long would it take for you to put all those features you suggest into practice?
As I said before, regrettably I am no longer able to write code of that sort (even if I wanted to).

Quote:
And what would delight the BB4W community more than all those features?
You think the BB4W "community" would be delighted to be told that they need to start writing programs in some incompatible language vaguely based on BBC BASIC? I'm afraid you're way off beam there.

Quote:
Imagine a BASIC language that is as easy to use and powerful as BB4W ... can truly be compiled
Immediately a contradiction. Many of BBC BASIC's "powerful" features and ease of use stem from it being an interpreted language. But if you want a truly compiled version of BBC BASIC then give your support to OWL BASIC which is being developed by somebody much younger, and more competent, than me.

Quote:
inline assembly (even 64 bit C++ can't do that)
Huh? "The Intel® C++ Compiler supports the use of inline assembler using MASM-style assembly code for both 32-bit applications and Intel® 64 applications":

http://software.intel.com/en-us/articles/intel-c-compiler-for-windows-general-compatibility-with-other-products

Quote:
or am I talking about C++?
Possibly. Or maybe Lua or Python would be closer.

Quote:
You sound like you should retire or keep a lower profile.
That is exactly what I have been doing! I retired in 2006 and for some time now I have been gradually running down my involvement in BBC BASIC so that I have more free time. I can never completely cut myself off from BBC BASIC, it would be unfair to existing users, but I can and will reduce the frequency and extent of any updates to BB4W.

Quote:
Read some poetry or go and visit the sick and less fortunate than you. Every dog has its day.
Are you suggesting that BB4W would somehow benefit if I was completely to cut myself off from it? How do you figure that out?

Richard.
User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #9 on: Nov 21st, 2010, 10:43am »

on Nov 21st, 2010, 06:26am, Matt wrote:
But please don't miss-interpret constant questions for a deliberate attempt to irritate. They are a real need to understand the working of the system. I can only apologise for any irritation caused.

I'm quite certain none of your comments have ever caused me irritation; I'm always delighted to explain the inner workings of BBC BASIC. As an engineer by profession and inclination, it's the technical aspects of the language and its implementation which really interest me. In fact I'm probably guilty of responding to simple questions with over-detailed replies, simply because I like to think other people are as fascinated by the minutiae as I am.

What admittedly does irritate me is people who think they know better than I do how BBC BASIC should work and be developed. I was involved right from the start in drawing up the specification of BBC BASIC in around 1980, and have probably been more closely connected with its development in the intervening years than anybody else. I know what distinguishes BBC BASIC from other dialects and makes it unique; I also understand the 'philosophy' which led to BBC BASIC and therefore what additions are and are not in keeping with that philosophy.

Another irritation is the lack of appreciation from some quarters of the enormous amount of care I take when designing and implementing changes to BBC BASIC. To me, stability and freedom from bugs are far more important than adding whizzy new features. This is admittedly a conservative approach, but I think the majority of BBC BASIC users value that and share my views on it. For it to be suggested that I am somehow stifling the language as a result is, in my opinion, grossly unfair.

Richard.
User IP Logged

softweir
New Member
Image


member is offline

Avatar




PM


Posts: 12
xx Re: Let the REM!Embed accept strings as parameters
« Reply #10 on: Nov 22nd, 2010, 5:07pm »

There is a lot in this thread that I feel needs no further comment, however:
on Nov 21st, 2010, 10:43am, Richard Russell wrote:
...

To me, stability and freedom from bugs are far more important than adding whizzy new features.

...

Richard.

Hear Hear! There are too many products out there (from children's toys all the way through to airliners) that come with too many whizzy new features and too many bugs!

I chose BBC BASIC for Windows more for the familiarity and reports of its reliability than for the nice "new" features like matrix multiplication and structures - love them though I do.

For myself I would not complain if there were no further updates. Of course I am concerned for Richard that he is facing that prospect (however distant or otherwise it may be), and for the future of the BB4W community that depends so much on his presence on the user group and this forum - without his endless efforts I am sure there would be less teaching happening.

Richard Weir
« Last Edit: Nov 23rd, 2010, 03:05am by softweir » User IP Logged

JGHarston
Junior Member
ImageImage


member is offline

Avatar




Homepage PM

Gender: Male
Posts: 52
xx Re: Let the REM!Embed accept strings as parameters
« Reply #11 on: Nov 25th, 2010, 9:51pm »

on Nov 22nd, 2010, 5:07pm, softweir wrote:
I chose BBC BASIC for Windows more for the familiarity and reports of its reliability than for the nice "new" features like matrix multiplication and structures - love them though I do.
I bought BBFW because it's BBC BASIC and I had 25 years of pre-existing code that ran on it straight away, or after rebuilding with a new library, or with some small changes. If Richard or somebody else wrote some other language, I wouldn't buy or use it, as it wouldn't be the product I wanted.

All these arguments for Richard to abandon BBFW and develop something else is like saying: well done, you've built a car, now build a lorry, lorries have all the usefulness of cars plus loads of other features, everybody should use lorries. No, my requirements are for a car, not a lorry. Yes, anybody can go ahead a build a lorry if they want to, there may be people out there would are in the lorry market, I'm not one of them.

Even if Richard did abandon BBFW, that won't stop me using it. It still physically exists, I still have code that requires it to exist. I'm not going to suddenly chose to rewrite 30 years of code just so it can use some new language (and incidently stop working on the platforms it already works on).

I'm getting on as well (I've just had to rewrite most of this post to fix silly errors - I blame monitors being too wide to see a whole line of text in one go), I want to be spending the rest of my life writing new stuff, not rewriting everything I've already written.

But I too also despair at the number of people who seem to think BBFW is some sort of magic pixie that will do what they want without them having to think about it or have any ability; and the complete terror - that's the only way I can descibe it - engendered by having to consider approaching thinking about possibly using a SYS command is just mindboggling.

If you throw you hands up in dispair at MessageBox(hd, s1, s2) maybe you just shouldn't be attempting to write programs. Yes, I deliberately used the C construction, because it's just the same, the language is irrelevent.
« Last Edit: Nov 25th, 2010, 9:53pm by JGHarston » User IP Logged

Matt
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 210
xx Re: Let the REM!Embed accept strings as parameters
« Reply #12 on: Nov 26th, 2010, 05:50am »

Couldn't aggree more, JGH.

I have to admit that I occationally tend to fall into the 'I've written it, it doesn't work, must be a problem with BB4W' before I kick myself into reality and try to find the real answer. As Richard implied, BB4W can do virtually anything on the computer, but sometimes the answers are not obvious and have to be researched.

Like you, I have around thirty years of BB programming behind me, albeit with the original BB concept, and it would take a lot of time and effort to convert.

I have little interest in writing in a different language or dialect. (The only reason I can think of to do so, would be to produce a very small program, as BB4W adds an 82k interpreter to the program - that's not a complaint!)

If I have any suggestions for changes they would be with the IDE not the language. However - and it's a big 'however' - if the version stayed at 5.92 (I still have 5.91) never changing again, I would still be more than happy with the configuration.

I think Richard has done a fantastic job.

Matt
User IP Logged

Matt
Developer

member is offline

Avatar




PM

Gender: Male
Posts: 210
xx Re: Let the REM!Embed accept strings as parameters
« Reply #13 on: Jan 4th, 2011, 5:23pm »

Richard,

BB4W is about as finished as it's going to get. If this is your main reason for taking a back seat could I suggest looking at the possibility of increasing the usage of BBC Basic by producing it for other platforms such as WinCE, mobile, Palm or Linux directly. It would be great to be able to use this fantastic piece of highly manipulative software on other systems. I'm guessing that it would require a fantastic amount of work for you, so if time, energy or other such reason prevents you from doing this, please ignore my suggestion.

Either way, thanks for your time.

Matt
User IP Logged

admin
Administrator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 1145
xx Re: Let the REM!Embed accept strings as parameters
« Reply #14 on: Jan 4th, 2011, 10:18pm »

Quote:
I suggest looking at the possibility of increasing the usage of BBC Basic by producing it for other platforms such as WinCE, mobile, Palm or Linux directly

There are two separate issues here. WinCE, Windows Mobile and Palm don't use x86 processors, so as my BBC BASIC interpreter is written entirely in x86 assembly language it cannot be ported to those platforms. You should instead direct your comments to the (largely ex-Acorn) people who know about the ARM version of BBC BASIC, since most if not all of those platforms use an ARM.

As far as Linux is concerned that's a more practical proposition, since Linux is (usually) x86-based. I don't entirely rule out some form of native Linux version of BBC BASIC, but probably without an IDE.

Lastly, don't forget Brandy. That's portable (written entirely in C) and although it doesn't support some of the 'additions' in BB4W (e.g. structures) since it's Open Source anybody - in principle - could add them.

Richard.
User IP Logged

Pages: 1 2  Notify Send Topic Print
« Previous Topic | Next Topic »

| |

This forum powered for FREE by Conforums ©
Terms of Service | Privacy Policy | Conforums Support | Parental Controls