Andyroo
Posts: 4211
Joined: Sat Jun 16, 2018 12:49 am
Location: Lincs U.K.

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:27 pm

jahboater wrote:
Tue Nov 20, 2018 5:15 pm
DavidS mentioned several more types of Basic. Just how many are there?

There are two Python's which is a huge problem IMO.

There is only one C. Sure its evolved over the years C89, C99, etc as the ISO standards are revised and the language evolves. But it is only one language.
Very good point - I once made a living converting BBC BASIC into NEC BASIC into Tandy (Radio Shack) BASIC. Cruelest the TRS machine was built by NEC but they changed the BASIC ROM to match the TRS80 range of home machines :roll:

I would say though that there are two versions of C - ANSI and C11 (excluding C++ and C# and .NET versions etc) but then again I have always found ANSI slow to catch up (ask any IBM or MICROFOCUS COBOL programmer).

Anyway back on track - I doubt that you could ever track down the number of BASIC versions there are. A core subset of commands and abilities though are present in a lot of them and thats where you would start to teach folks.
Need Pi spray - these things are breeding in my house...

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:32 pm

hippy wrote:
Tue Nov 20, 2018 5:07 pm
DavidS wrote:
Tue Nov 20, 2018 1:38 pm
BASIC is a good usable language, that is discouraged ...

it seems as if the RPi Foundation discourages the use of BASIC, in preference to languages that have a higher barrier of entry to new programmers, and in some cases are more limited.
I do not believe the Foundation discourages Basic beyond choosing to recommend other than Basic. I see no discouragement of using Basic just as I do not see discouragement of using Go, Java, Javascript, Lua, Pascal, Perl, Ruby or any other language.

But in more general terms there is a pervasive discouragement of using Basic.

That's something which has always interested me as someone who has long been a fan of Basic; TurboBasic, PowerBasic, VB3 through VB6, VB.Net ( though not so much a fan there ), RealBasic (Xojo), FreeBasic, and even BBC Basic. It's been the language I have most used, and I have used it for most things from utilities to compilers. Sometimes just to prove that "it can't be done, nor as easily, with Basic" is utterly false, prejudice or simply ignorance.

There was at least one huge thread on the forum from before the Pi was ever released which covered the debate on the appropriateness, or not, of Basic, AFAICR -

viewtopic.php?t=1705

I think there's one thing telling in all such discussion; "Basic" or "BASIC". I think that often reveals a significant detail of the perspectives people hold; "Basic" as a modern programming language or "BASIC" with all the baggage and limitations from what it originally was, complete with the the unfortunately lingering "Beginner's" label which people choose to drag out when they wish to criticise, demonise or ridicule it. "It's for kids, not serious competent professionals" has haunted Basic for years.

Most of the objection to Basic is merely ignorance, prejudice, by rote, or as a seized opportunity to hate upon something. It has found itself at the bottom of the pile. Basic and proponents of it considered 'fair game' by most. Usually for no good reason, and often those who do criticise have never actually used a modern Basic.

That reflects other pervasive social attitudes so good luck trying to convince those who have decided it's the worst possible language in the world that it isn't. No matter what one's preferred programming language; 'everyone agrees' it's better than Basic.
Thank you. Very good points.

So, for all my love of Basic; why have I now moved to using Python ?

Not because it's a better language, simply because it's a language which, to me, is 'pretty much the same as Basic', and it is multi-platform, and, setting aside the Python 2 and Python 3 issues, has a universally standardised specification.

I would have kept with using Basic, would have preferred to, but the reality is that if one wants to write code once, use it anywhere, Basic isn't the right choice for that. Basics usually aren't even compatible with each other. Choose any variant and you're already walking yourself into a corner.

I wouldn't discourage people from using Basic because of what Basic is, but I would discourage people from using Basic because of the limitations choosing that imposes. I would recommend using a language like Python or Javascript ( maybe C though I personally detest using it myself ) which is far more widely supported across the platforms one may come to use.

Had there been some multi-platform Basic which had seen widespread adoption I would have likely gone with that. But there wasn't and isn't.
I understand why your coice, and respect that.

Thoguh there IS a pervasive dialect of BASIC that IS supported on most platforms (even more platforms than Python). That is FreeBASIC. And you can add even more supported platforms if you talk about all the extended modernised forms of QuickBASIC (FreeBASIC, QB64, etc), as they will all compile compatible code (yes you do have to whatch out for extensions, the same is even true of C).

Thank you for getting me to point out the universal modern BASIC, it is time to move my OS-Development over to Linux, so I can use ARM-FreeBASIC to compile some components :) .

Did you know that there is also a 99% Linux compatible Kernel written in FreeBASIC?
And why did I choose Python over anything else ?

Because I wanted to join in with the Pi journey and Python had been embraced by the Foundation and that seemed the best option for me of what was available at the time, looked to have the least steep learning curve, and the closest to Basic of the choices on offer. I guess it also helped that the white space indentation didn't faze me having already used programming languages which used the same.
Had not thought about the wite space syntax. Kind of like SPIN on the P8X32A :) .
The bottom line was that if I wanted to join in the fun, share with others, to educate or even show off, maximise my usefulness and returns, I would have to adopt something which could be shared and be useful to a wide audience. Basic does not fit that bill.
Only because as you pointed out above, people have an oposition to BASIC. Not for the lack of a good BASIC that is available on most platforms.

You are making me want to see what it would take to port FreeBASIC to RISC OS, one of very few platforms that does not have it (also does not have Python).
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:36 pm

Andyroo wrote:
Tue Nov 20, 2018 5:27 pm
jahboater wrote:
Tue Nov 20, 2018 5:15 pm
DavidS mentioned several more types of Basic. Just how many are there?

There are two Python's which is a huge problem IMO.

There is only one C. Sure its evolved over the years C89, C99, etc as the ISO standards are revised and the language evolves. But it is only one language.
Very good point - I once made a living converting BBC BASIC into NEC BASIC into Tandy (Radio Shack) BASIC. Cruelest the TRS machine was built by NEC but they changed the BASIC ROM to match the TRS80 range of home machines :roll:

I would say though that there are two versions of C - ANSI and C11 (excluding C++ and C# and .NET versions etc) but then again I have always found ANSI slow to catch up (ask any IBM or MICROFOCUS COBOL programmer).

Anyway back on track - I doubt that you could ever track down the number of BASIC versions there are. A core subset of commands and abilities though are present in a lot of them and thats where you would start to teach folks.
There are many C's, even with the standard there are still major differences between compilers that often cause huge problems porting C code if extreme care is not taken.

As for modern BASIC there is one universal dialect, and only one. That is the one that evolved from QucikBASIC (DOS version) and is implemented in FreeBASIC, QB64, and a number of others. Yes each has incompatible extensions to the language, though just like with C if you pay attention it is portable code.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5880
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:37 pm

Are you saying that RPF is in any way obligated to promote BASIC? If so, why?

Searching for python on a job search site I see 741 positions. It's hard to search for BASIC, but using Pascal as a substitute, I get 0 results.I tried to find job description referring to BASIC, but couldn't. I can guarantee that whatever BASIC jobs there are on the same site, it's not anywhere near 700.

A few anecdotes of people who like BASIC or some companies using BASIC doesn't really mean anything without data to compare to.

I don't have the actual numbers. I haven't run a classroom teaching Python or BASIC. I haven't run or seen any large studies looking into what experiences of students are. I think job numbers above give a hint of what the reality is, but until somebody shows that students like BASIC more than Python, it's all a bit moot, isn't it?

Heater
Posts: 13114
Joined: Tue Jul 17, 2012 3:02 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:46 pm

DavidS,
Did you know that there is also a 99% Linux compatible Kernel written in FreeBASIC?
Link please? Or I don't believe you.
There are many C's, even with the standard there are still major differences between compilers that often cause huge problems porting C code if extreme care is not taken.
No there are not many C's.

Yes, moving code can be problematic, what with issues of endianness, integer/pointer sizes and all the other undefined behaviors in C. Still, C code seems to get around to everywhere.

Hope you did not miss my post, and interesting challenges, here: viewtopic.php?f=62&t=227343#p1394452

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:48 pm

ShiftPlusOne wrote:
Tue Nov 20, 2018 5:37 pm
Are you saying that RPF is in any way obligated to promote BASIC? If so, why?
I omited the rest of your comment in the quote as it is just BASIC bashing.

No one said that. Only thing that was said on those lines at all was that it should not be actively pushed away. Raspbian is based on Debian ARMHF, last time I looked Debian ARMHF repos have a lot more implementations of BASIC than the Raspbian repos. Then there are people representing the foundation on the forums actively discourging the use of BASIC, as you are already well aware of.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:55 pm

Heater wrote:
Tue Nov 20, 2018 5:46 pm
DavidS,
Did you know that there is also a 99% Linux compatible Kernel written in FreeBASIC?
Link please? Or I don't believe you.
Gladdly, I am trying to search for it, though keep having to answer directed questions. I fully intend to provide that link as soon as I locate it again.
There are many C's, even with the standard there are still major differences between compilers that often cause huge problems porting C code if extreme care is not taken.
No there are not many C's.

Yes, moving code can be problematic, what with issues of endianness, integer/pointer sizes and all the other undefined behaviors in C. Still, C code seems to get around to everywhere.

Hope you did not miss my post, and interesting challenges, here: viewtopic.php?f=62&t=227343#p1394452
Not just the normal issues of endianess, and sizes. There are also incompatibilities between the extensions commonly used by different C compilers. This is especially true for anything with progma, or the implementation of the asm keyword, or the directives to define calling conventions, etc, etc, etc. There are definitely big differences between C implementations. While it is true that if you keep to the standard you are unlikely to use these differences, people tend to assume that a given extension will work because it works in gcc, or whatever.

Compare the extension in GCC with those in AHCC, compare that with the extensions in OCC, and again compare that with the extensions in Norcroft C, etc.

Yes the core language is the same. Though there are more differences than just the integer sizes, endianess, stack format, and the like, because a lot of people use extensions..
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 5:56 pm

DavidS wrote:
Tue Nov 20, 2018 5:36 pm
There are many C's, even with the standard there are still major differences between compilers that often cause huge problems porting C code if extreme care is not taken.
No, no. no! The differences between compilers are called "extensions". You can choose to avoid them and your code will be truly portable.
The compiler providers carefully document their extensions offered:-
https://gcc.gnu.org/onlinedocs/gcc-8.2. ... age-Family
Just avoid them.
The difficulty is that some of GCC's extensions are actually very useful. In time they may get included in a future ISO standard. The best ones are copied by other compilers.
Then again GCC is available on most platforms of interest, so maybe it doesn't matter.

Heater,
Yes, moving code can be problematic, what with issues of endianness, integer/pointer sizes and all the other undefined behaviors in C.
I don't have the slightest problem nowadays with any of those.

Integer sizes ceased to be an issue when they introduced stdint.h - 19 years ago.
No one ever made assumptions about pointer sizes (not anyone in their right mind anyway!)
Endianness can be a issue with networking but there are easy ways around it.

The undefined behaviors are all documented in the ISO standard.
Its true there are quite a lot of them - and that's perhaps what makes C harder for beginners.

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5880
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:00 pm

DavidS wrote:No one said that.
That's how I interpreted this:
DavidS wrote: The lack of any provision for people to learn BASIC, and the strong push of other languages, I think make a huge statement against BASIC by RPi. My view.
What kind of action should they take that they are not taking?
DavidS wrote: Then there are people representing the foundation on the forums actively discourging the use of BASIC, as you are already well aware of.
That has nothing to do with RPF's official positions. We're allowed to express our views as individuals.
DavidS wrote: I omited the rest of your comment in the quote as it is just BASIC bashing.
I don't see how, I have no reason to bash it. I was addressing an earlier point you made about Python and BASIC job market being similar. When I tried to confirm what you said, I couldn't. Not bashing BASIC itself, just saying that I could find many more Python jobs.

The other point was pointing out that a lot of your arguments are based on your own preferences and anecdotes rather than any data. You have your experiences, I have mine. They're vastly different and we're not going to find a bridge unless we throw our personal experiences away and try to find some data to back up what we're saying.

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:01 pm

DavidS wrote:
Tue Nov 20, 2018 5:55 pm
Compare the extension in GCC with those in AHCC, compare that with the extensions in OCC, and again compare that with the extensions in Norcroft C, etc.
Do all these compilers fully support C18 (like GCC and Clang do)? I have never heard of them. If they fully support the standard, there should be no difficulty writing portable code. If they don't, choose a compiler that does!

Heater
Posts: 13114
Joined: Tue Jul 17, 2012 3:02 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:13 pm

@DavidS,
There are also incompatibilities between the extensions commonly used by different C compilers. This is especially true for anything with progma, or the implementation of the asm keyword, or the directives to define calling conventions, etc, etc, etc.
True enough.

But if you are dependent on extensions, pragma, inline asm, or calling conventions then that is not standard C and I have no sympathy. Presumably you are wise enough to know when you are painting yourself into a corner.

@jahboater,
I don't have the slightest problem nowadays with any of those.
Neither do I much now a days.

Seems like only yesterday I made a living porting C projects from one embedded system architecture to another and had to tackle all those issues of integer sizes, endianness, char signedness, etc, etc, that long past project teams had left behind.

Nowadays people seem to be more aware of all this and take care that their code is portable.

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:18 pm

Heater wrote:
Tue Nov 20, 2018 6:13 pm
Seems like only yesterday I made a living porting C projects from one embedded system architecture to another and had to tackle all those issues of integer sizes, endianness, char signedness, etc, etc, that long past project teams had left behind.

Nowadays people seem to be more aware of all this and take care that their code is portable.
Also the compilers have improved.
For example 64-bit integer arithmetic works perfectly on a 32-bit Pi. Sure its slow, but it is indistinguishable from 64-bit arithmetic on my x86_64 Intel PC. Completely portable.
Secondly the compiler diagnostics have improved a lot over the years. You get clear warning if you do something that's potentially not portable.
There is no excuse!

Char signedness can be a slight problem - it is signed in Intel and unsigned on ARM (permitted by the standard).

Code: Select all

#if CHAR_MIN != 0
#error The "char" type must be unsigned (use -funsigned-char)
#endif
Last edited by jahboater on Tue Nov 20, 2018 6:29 pm, edited 1 time in total.

Heater
Posts: 13114
Joined: Tue Jul 17, 2012 3:02 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:27 pm

jahboater,
Do all these compilers fully support C18 (like GCC and Clang do)? I have never heard of them. If they fully support the standard, there should be no difficulty writing portable code. If they don't, choose a compiler that does!
Well there is the thing. In the embedded systems world traditionally developers did not use GCC or Clang. Clang did not even exist.

No, they used compilers and operating systems from the many embedded systems tools vendors. Typically those compilers were incomplete or buggy or ancient. The last time I had to fight with this was with the VxWorks OS from Wind River, at least they shipped a compiler/IDE based on GCC but it was an old version, to an old standard, poorly supported and would often just crash. Luckily I convinced the company to switch to Linux on that Power PC based hardware and use a gcc cross-compiler, else they would have never got their project working.

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:34 pm

Heater,

Did you celebrate your 10,000th post? :)

GCC/Clang, on Linux, on the Pi, give us rose tinted spectacles!

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 6:51 pm

I am still looking, I found a link in an old backup of my bookmarks, though it seems that the page I had is gone. It was just back in 2006 or 2008 that I had looked at the Linux Clone kernel in FreeBASIC, I am not sure why it is so hard to find, it has only been 12 years.

Though you have given me resolve to improve my project (maybe sacrifice a little in optimization, as there is not as much effort on optimizing the output of BASIC compilers) by doing a large part of it in BASIC compiled with FreeBASIC.


Though did find another less ambitious kernel written in FreeBASIC called Frost
https://github.com/thrimbor/frost
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

Andyroo
Posts: 4211
Joined: Sat Jun 16, 2018 12:49 am
Location: Lincs U.K.

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:05 pm

Not sure about the Linux kernel BUT https://wiki.osdev.org/FreeBasic_Bare_Bones has details about compiling for GRUB to load :o

Oh I was wrong by the way - BSAIC was the first language I used - I'd forgotten about the council ICL mainframe we had timeshare on and we used a very simple BASIC on that. That was before the SC/MP machine code (Mk 14 from Sinclair for you older ones - the rest of you will have to Google it).

So what we have is:

1) A language that had been updated over the years to match current methodology
2) It (or a sub-set) is available on many platforms
3) Its multifunctions (i.e. from OS development to line of business coding)
4) It can be simple for users to learn IF the educational resources are present
5) Has fallen out of favour for mainstream development (going by job adverts)
6) Still has a loyal following - going by both this thread and the BBC BASIC thread

So, trying to avoid the 'this is why its better':

A) What is needed to get the awareness out to the population?
B) How do you tackle the lack of jobs?
Need Pi spray - these things are breeding in my house...

User avatar
Burngate
Posts: 5972
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK Tralfamadore
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:08 pm

Most of my Pi's are running RISC OS, and I write just about everything in BASIC, 'cos I find it easy.
I've also got VirtualAcorn on my laptop, again with BASIC built-in. I use it for developing stuff for the Pi's.

I've tried getting into Python, and much of it seems to be similar enough to BASIC to be able to work out what's meant to happen.
My major problem with Python on the Pi is that, just as I begin to understand where stuff is, Raspbian (inside which is where Python lives) goes and gets changed. The learning curve isn't that steep, it's just I keep getting dumped at the bottom of it.

At least with BASIC I can rely on it being stable for more than a week at a time.
Last edited by Burngate on Wed Nov 21, 2018 9:55 am, edited 1 time in total.

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:10 pm

Honestly I would have liked to see either the dialect of BASIC from MS-QuickBasic for the Macintosh, or that of AmigaBASIC have evolved to the universal BASIC (these are both very similar, and both directly support GUI element management [no need to make system calls to play with the WM]).

Though all three of these BASIC's from MS are very very similar, and the DOS one is the one that evolved (without the GUI stuff). Now we have FreeBASIC, a truely modern language, that can be used for everything from OS development to writing toys, on up to writing major applications.

And to be realistic, MS had the foothold, so we are not likely to have gotten the much better BBC BASIC as a the primary.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:25 pm

The thing is,
For me, I find C is powerful enough to do absolutely anything I could ever want, it is easily faster than anything else, is portable, and has great system support. Its data type model is inspired. And I have been using it for 35 years or so.

So if I were to use or learn another language, it would be mostly for academic interest, with no real purpose.

C++17 is challenge to learn and has lots of interesting features to explore - that's my current interest.
Then there is Go, Rust, D, Swift and others.
Python has its huge library resources.

I'm sorry, but I cant see any reason why I should spend time learning modern BASIC.
That's not bashing BASIC. I accept it has lots of appeal for many people.

When I was a student I quickly learned all sorts of programming languages for fun.
Now its not so easy (C++17 is a struggle!)

Heater
Posts: 13114
Joined: Tue Jul 17, 2012 3:02 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:29 pm

jahboater,
Did you celebrate your 10,000th post?
No. Did not even notice it.

But now you mention it. Yeee Haaa! 10K posts!

I could not have done it with out the help of all you guys. I hope some small percentage of my ramblings has been useful and or entertaining to someone, somewhere, sometime. It's certainly been interesting/instructive for me along the way.

And, as you mention it, I will now celebrate by cracking open a bottle of Master Brew. Cheers all.
GCC/Clang, on Linux, on the Pi, give us rose tinted spectacles!
Yes, gcc, clang, and all the other tools and applications we now have as open source on Linux and elsewhere is amazing. I would never have imagined such a situation coming about before about 1997.

Is it so that young'ns today don't realize what a spectacular achievement all this Free and Open Source software is for the software community?

hippy
Posts: 5791
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:31 pm

DavidS wrote:
Tue Nov 20, 2018 5:32 pm
Thoguh there IS a pervasive dialect of BASIC that IS supported on most platforms (even more platforms than Python). That is FreeBASIC.
I was on board with FreeBasic from its inception when I was looking to support X86 Linux as well as DOS/Windows. Unfortunately what started off as "Multi-Platform QBasic" took a turn towards something else, was creeping away from what fitted with the QBasic way of doing things and its syntax, seemed to want to become 'Basic for C programmers' from what I remember, became a complete mess, and we parted company. It seems to have better rationalised itself so I may bear it in mind for the future.

You'll be pleased to know the VideoCore IV compiler I am writing ( in Python ) compiles a language which is a Basic variant :o

jahboater
Posts: 4606
Joined: Wed Feb 04, 2015 6:38 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 7:33 pm

Heater wrote:
Tue Nov 20, 2018 7:29 pm
I hope some small percentage of my ramblings has been useful and or entertaining to someone, somewhere, sometime.
Definitely, even though you havn't converted me to Javascript :)

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23385
Joined: Sat Jul 30, 2011 7:41 pm

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 8:35 pm

Just a point of order.

Not promoting something IS NOT THE SAME as actively discouraging something.

We (the RPF(T)) do not discourage the use of BASIC , or indeed any other programming language.

In general we recommend that people use the best language for the job. And from our point of view, the best language for teaching beginner programing is Python. (or Scratch for younger people). It's standard over multiple devices, it has a plethora of libraries available for it for almost any conceivable beginners project, and there are lots of books and website available for it. It also interfaces very easily with C and C++ libraries, so it can be used with the C libraries in our userland code (e.g. MMAL for camera access leading to the Picamera library).

To say we discourage use of BASIC is incorrect. We do however encourage the use of Python. This is also NOT THE SAME THING.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 9:06 pm

jamesh wrote:
Tue Nov 20, 2018 8:35 pm
Just a point of order.

Not promoting something IS NOT THE SAME as actively discouraging something.

We (the RPF(T)) do not discourage the use of BASIC , or indeed any other programming language.

In general we recommend that people use the best language for the job. And from our point of view, the best language for teaching beginner programing is Python. (or Scratch for younger people). It's standard over multiple devices, it has a plethora of libraries available for it for almost any conceivable beginners project, and there are lots of books and website available for it. It also interfaces very easily with C and C++ libraries, so it can be used with the C libraries in our userland code (e.g. MMAL for camera access leading to the Picamera library).

To say we discourage use of BASIC is incorrect. We do however encourage the use of Python. This is also NOT THE SAME THING.
Ok fair. May I ask why many packages releated to BASIC (at least last I looked), from Diabian ARMHF are not present in Raspbian?
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

DirkS
Posts: 9902
Joined: Tue Jun 19, 2012 9:46 pm
Location: Essex, UK

Re: Why Avoid BASIC on RPi?

Tue Nov 20, 2018 9:07 pm

DavidS wrote:
Tue Nov 20, 2018 9:06 pm
Ok fair. May I ask why many packages releated to BASIC (at least last I looked), from Diabian ARMHF are not present in Raspbian?
AFAIK only packages that are not compatible with Pi hardware are not in Raspbian, and I really doubt there are 'many'.
Can you substantiate that claim with examples/numbers?

Return to “Off topic discussion”