QB64.org Forum

Active Forums => QB64 Discussion => Topic started by: CBTJD on April 19, 2020, 10:23:26 pm

Title: QB64 vs Python and a humble request
Post by: CBTJD on April 19, 2020, 10:23:26 pm
As I've mentioned before, I was recently approached to recommend a programming language for a Maker's Club in Arizona that was decidedly NOT Python. My research turned into a large spreadsheet that covered 26 aspects of the top 13 out of a total of 54 versions of BASIC that are available in the wild. And of those 13 versions, the reason I'm here; QB64 was the hands-down winner, with second place scoring a full 18.6% lower score! I can't stress this enough: QB64 blows away all other versions of BASIC - quite handily in fact.

But it's not perfect. While the built-in editor is really quite clever in providing error reporting and interactive help, it is very legacy PC-centric, making it out of place on modern platforms, and it doesn't provide code completion or folding. Well...Oh darn. Can't have everything, right? More about that later.

For this message, I wanted to share my findings in comparing QB64 with Python. And I must admit, I was surprised by what I learned.

Python and QB64 both have a very long history, but very different paths. Python started in 1990. The path got a little confusing in 2008 when the heavily revised version 3.0 was released and it met with some strong resistance from the version 2.7 hold-outs, but that all got resolved this January when they simply stopped supporting the older version altogether. They tried as early as 2015, but the hold-outs were dug in pretty deep.

It can be argued that QB64 can trace it's roots as far back as 1975 with the first version of Microsoft BASIC. Technically however, it was first released in 2007. But since it was designed from the start to be practically an expandable clone of Microsoft's QuickBASIC, which was released in 1990, I prefer to hold onto that date. That puts it right on par with Python which was released the same year. Ooh, plot thickens!

So on to the comparison of the more important aspects... First, I decided to expand the number of comparison aspects to 28 to include Code Folding and Debugging. These two aspects were not important to the Club since they were not planning on having large code projects that would need them.

Well, after everything is scored, it pains me to say it, but with just one glaring, massive exception, Python handily beats the socks off QB64. (But don't run off just yet!)  First off, there are numerous IDEs available for Python that include all of the fancy editor features QB64 lacks. Also, The Rosetta Code site is chock full of code examples for Python while the entries for QB64 are simplistic and few (I've added a handful myself, but my programming skills are very limited). And the penultimate aspect; the ability to create web pages, seems out of reach for QB64 while Python is an old hat in that rodeo. Not sure that's really all that important, but it was to the Club, so I left it on the list.


BUT!!! The biggest, and most important difference between the two is the simple fact that Python is NOT BASIC!!!

In some ways, it's deceptively close to BASIC:

Code: [Select]
print("Hello world!")
And in some ways, it's deceptively simple:

Code: [Select]
def fibGen(n):
    a, b = 0, 1
    while n>0:
        yield a
        a, b, n = b, a+b, n-1

But once you realize that tabs are required in exacting positions and to do anything beyond these simple examples requires the addition of libraries and pointless OOP elements, it very quickly turns into something that looks like it went through a wood chipper. Or worse, it's so cryptic, you can't figure out what the heck it's trying to do in the first place. I mean, what the heck is this?!


Code: [Select]
import pprint
pprint.pprint([i for i in xrange(10, -1, -1)])


It's a simple For..Next..Step -1 loop. That's it. Yuck.


So, bottom line, QB64 scored 346.5 against Python's score of 378. But by just improving two things, QB64's score could be increased to just barely outpace Python. But that's huge when you think about it! QuickBASIC could take on Python and win?! You bet. And all it would take is these two things:

1) Heavier community involvement on the Rosetta Code site. (That's very achievable.)

and

2) A more extensive and modern cross-platform IDE with automatic code completion, code folding, integrated debugger, GUI designer, icon designer, menu designer, integrated automatic help, and platform specific key assignments (e.g., CMD+C [Copy] for Mac instead of CTRL+C).

Of course, none of this is actually necessary. After all, who cares if Python can do things QB64 can't? It doesn't matter if Python scores higher on some fat, old guys arbitrary spreadsheet.

I just have a dream of one day seeing BASIC back on top in people's minds - particularly new programmers. I would love to see Raspberry Pi programmers gravitating toward BASIC instead of Python. BECAUSE BASIC IS BETTER, DAMMIT!

To that end, I humbly suggest that a more robust IDE editor and greater focus on the Rosetta Code site would be of benefit to the QB64 community, and I offer my assistance any any way I can to help those two come to fruition. It may even be possible to monetize the project by continuing to offer the language and associated software for free but charge for extensive, age-grouped, educational materials and specialized publications for subjects like game design, science, hardware projects, robotics, etc.


I would love to hear your opinions and ideas.


Thanks for reading all this crap!

:@)
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 19, 2020, 11:58:04 pm
The only way to get mass appeal for QB64 as a BASIC language for the future is for someone to have an in at Microsoft, and get the board interested in using it to resurrect QuickBASIC. That's a lot harder than it sounds, as BASIC was replaced in schools by RUBY and Python already.

The next best would be to contact Opera, and see if she would be willing to give away computers to her children she sponsors in Africa. You used to be practically neighbors, but I can't stand her, so no connection here. It sure was fun though, watching her on T.V. wading through what she thought was mud during the big mud slide that happened a few years back; but a friend of mine who did toxicology and environmental testing told me they tested that area, and a lot of what she was slugging around in was contaminated with a good deal of raw sewage. Thanks for reading this crap! :D

Anyway, anything else is just however far people could get via Social Media. As far as the IDE goes, it was made the way it was out of a love of nostalgia, and as a brief diversion from the monotony known as the compiler project.

Bill is slowly putting together a tool box and library section, and although this gets us more towards OOP development than actual BASIC, it's not a bad idea to have some non-learning utilities in the language, for productivity sake. Hell, like it of not, that's where modern programming is heading. In fact, in less than 100 years, I suspect A.I. will be writing all code.

I think QB64 has done very well as a hobby language. I think anyone with enough time and ambition, who wants to put more of a spotlight on it, would certainly get more hobbyists involved in both the software, and the forum; so that's a win, even if it wouldn't be promoting the language on a massive scale.

One sad shortcoming to the language as a C/C++ translator is that C is not the language of choice for mobile apps, and as such, QB64 was unable to make a splash in the mobile app scene. Small BASIC is as close as BASIC has come to that market. It's pretty cool, but it's not for creating apps someone could market, in the traditional since.

So wherever your ambitions take you, best wishes. I think it's great that after 30 years, people still have this genuine enthusiasm for this language. For me personally, I've done a couple of projects in C, but if it wasn't for QB, I don't think I would have cared about programming to use it frequently. Sure, I might have coded a couple of projects to use in my practice, but not to the extent of running the practice and enjoying every minute of creating those various programming projects. In my opinion, C should have been named D, for dull. Imagine what would have came next, Dull++.

Pete

 

Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 12:46:11 am
I'm wary of seeing Microsoft involved with BASIC any further than they already have been, if only because they have changed it's name and botched it's compiler implementation countless times. I mean, seriously?! BASICA, BASIC-80, BASIC-86, GW-BASIC, QuiCKBASIC, QBasic, PDS 7.0, Visual BASIC, Visual Basic .NET, and Small Basic. And now they've decided to kill it ALL off. It's not like each name represented a major change in the language - unless you count REMOVING the compiler from QuickBASIC and not providing one again until Visual Basic 5!

No, in fact, the name "BASIC" suffers from an unwarranted bad reputation and needs to be rebranded. I think QB64 is perfect. It has almost as many "_" prefix commands and foundational BASIC commands. And now with $NOPREFIX, is it fair to call it BASIC really? But of course, it isn't called BASIC, it's called QB64, but it doesn't take long for people to catch on that it's compatible with QuickBASIC.

I strongly believe that if QB64 was polished, rebranded, and packaged with Raspberry Pi computers and comprehensive educational materials, we could see kids learning to program in BASIC without ever calling it that. And we'd be doing them a solid, because the paint is starting to chip on the false facade of object-oriented programming as the end-all-be-all paradigm it was sold as. Programmers are starting to come around to the fact that they were bombarded and bamboozled by Java's marketing propaganda and the herd mentality that surrounded it. Even Apple's Swift UI is covertly stepping away from OOP in key areas. And the reason I believe this is because I've been contacted to do exact that from three completely separate sources. I have to wonder if they all read the same book somewhere or saw something that triggered this, but the caustic anger I've witnessed with educators who have watched their computer class student counts dwindle and level of frustration of the remaining students growing to the point of some classes being canceled altogether is very disturbing. The educational circles need BASIC in some form or another.

Regarding the mobile arena however, while Python does hold the lion's share of development at a little over 30%, C++ at 13% is only third place after Java at 22%. So I can't quite agree that the C translator has no place in mobile app development. And of course, that's just on the Android side. Apple is almost entirely Swift UI now.

My biggest challenge is that I have found the right tool in QB64, but I'm not a programmer. I'm a researcher and technical writer. I see all the pieces to the puzzle, but I don't have the skill set to put them together. It's tough enough that running QB64 on the Raspberry Pi is a hack in the first place - but only because it hasn't been formally supported. It works fine, so I'm told. I've started work on the teacher's guide, student handbook, and three different textbooks based on using some rebranded form of QB64, but it will all be for nought if I can't interest some people in getting involved to develop it.

It's very feasible to create a program called something completely different that simply indicates in the materials "Based on the QB64 development language and supplementary applications." In fact, one of the Maker's Clubs have coined the name "RasPi BASIC II". I'm not a fan, but I see what they're trying to do. Does anyone here have a better name? I'd love to hear it.

:@)

P.S.: Just to be clear, I'm not suggesting changing ANYTHING about QB64. I'm merely trying to figure out how to utilize it under a different name with a more modern appearance and editor.
Title: Re: QB64 vs Python and a humble request
Post by: TerryRitchie on April 20, 2020, 01:41:12 am
BerryBASIC

QuickBerry

PicoBASIC

QuickPi

Rapsic - Raspberry Pi Symbolic Instruction Code

QuickSlice
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 02:10:46 am
She coded RasBASIC_Pi_2
The kind you find in the Apple App Store
RasBASIC_Pi_2
And I prefer it stay QB64
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 03:23:29 am
Prince is rolling in his grave.
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 03:57:53 am
BerryBASIC
QuickBerry
PicoBASIC
QuickPi
Rapsic - Raspberry Pi Symbolic Instruction Code
QuickSlice

I see where you're going here. A little pie. A little Quick.

The thing is, they're looking to have cross-platform compatibility, so all the Pi references are problematic. Of course, they say that, but then they turn right around and tell me they like "RasPi BASIC II".

For a while, somebody had mentioned "BāZIK". And that's just weird. But it does pose a curious question, if you had to come up with a name for a new programming language with a catchy, marketable tone, how would you do it? Python was named after Monty Python. C simply came after B (No, really.) Perl was originally named "Pearl". The developer wanted to give the language a short name with positive connotations. (He also considered naming it after his wife Gloria.) He eventually discovered the existing PEARL programming language before Perl's official release and changed the spelling of the name. Ruby was almost named "Coral". The two developers finally agreed on Ruby because it sounded better and it was the birthstone of one of their colleagues. And Java and JavaScript are not related at all!


 So, it's not as easy as some may think.


Language names can be adjectives, verbs, nouns, animal names, insect names, or just acronyms. YABASIC is just "Yet Another BASIC".

Whatever it would be, it shouldn't include the name BASIC, but it should *BE* BASIC.

So, how do you create an inventive name that fits along the current popular names? Python, C/C#/C++, Ruby, Swift, Java, PHP, Perl, R, Go...

One thing is obvious among them all. They're all short names. Two are just letters; C and R. One is an acronym; PHP. Four are nouns; Python, Ruby, Java, and Perl (misspelled). One is an adjective; Swift. But the rarest type of all is Go; an intransitive verb! Most are only one or two syllables.

If you wanted to be a maverick, you could go with "Went", also an intransitive verb and only one syllable. If you wanted to run with the crowd, you could go with "Rocket", a simple noun with two syllables.

I kind like the simplicity and homage of the adjective "Quick". I suppose you could try to get clever by spelling it "Kwik", so it didn't look like you just lopped off the word BASIC on the box.

Python, Ruby, Kotlin, Go, Perl, Kwik, Java, C++, R, Swift...  Thoughts?
:@)

Title: Re: QB64 vs Python and a humble request
Post by: Richard on April 20, 2020, 06:36:51 am
Quote
I'm wary of seeing Microsoft involved with BASIC any further than they already have been, if only because they have changed it's name and botched it's compiler implementation countless times. I mean, seriously?! BASICA, BASIC-80, BASIC-86, GW-BASIC, QuiCKBASIC, QBasic, PDS 7.0, Visual BASIC, Visual Basic .NET, and Small Basic. And now they've decided to kill it ALL off. It's not like each name represented a major change in the language - unless you count REMOVING the compiler from QuickBASIC and not providing one again until Visual Basic 5

Just a minor alteration/correction (not really important to the theme):-

You omitted PDS 7.1 (realised about 30 years ago) which does do compilations (option) in addition to being an interpreter (with improvements) BASIC.

I have used PDS 7.1 and still use it today (in addition to QB64) - I am not familiar with PDS 7.0 or Quick Basic,  QB45 etc.

When Galleon developed QB(64) at one stage he apparently used PDS 7.1 (which eventually could not handle the size of QB(64)) - but surprisingly he did not want to incorporate advanced features (over QB45) - so QB(64) was always using a subset of PDS 7.1 features.


Maybe QB64 should follow the path of PDS 7.1 - call it say     QB64 PDS     (PDS stands for Professional Development System) - of course keep all the "bells and whistles" (which are very useful) and features already available in QB64.  A lot of work, and as STxAxTIC  (in reply to a related topic) would say building a "Tower of Babel"...

The "PDS tag" may help advertise QB64 is NOT JUST A HOBBY LANGUAGE - but it would require serious commitment to its development (which includes being useable in an interpreter style mode (a "hot" topic in my opinion at present)).
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 12:26:01 pm
Ah, yes. You are correct. I did overlook PDS 7.1. It wasn't around very long before VB for DOS was released and then VB for Windows. Neither of which had a compiler. It's odd really. PDS was essentially the culmination of all things BASIC and yet it was quickly dismissed and overshadowed and not a single book was ever written for it that I can find. Which supports my original statement about Microsoft's poor management of the product.

And again, to be clear, I'm not suggesting anything be changed about QB64. My task is to try to adapt it to a educational curriculum under a more polished brand and appearance with QB64 in the background making it all work.
:@)
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 12:58:46 pm
Well Rob owns the copyright to the name QB64, and although I can't see any problems with thinking up different names, it would really be up to him, or anyone he assigned as his agent, before any actual name change could be adapted.

Prince RIHGLHPAO - Rolling in his grave laughing his purple ass off! Hmmm, you're right, this naming stuff is hard. That's not nearly as catchy as ROFLMAO.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: _vince on April 20, 2020, 01:31:30 pm
freebasic is damn good, has rasbpi support and can use any C library
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 02:32:53 pm
freebasic is damn good, has rasbpi support and can use any C library
Yes, but not on a Mac as well. Sadly, the constraints of the request are really very narrow. But thank you very much for your suggestion!! Much appreciated.

:@)
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 02:40:54 pm
Well Rob owns the copyright to the name QB64, and although I can't see any problems with thinking up different names, it would really be up to him, or anyone he assigned as his agent, before any actual name change could be adapted.

Certainly. I apologize if I failed to make my intentions clear. I'm not interested in trying to change the name or design of QB64 in ANY way. I would never presume. My interest is solely in coming up with a name for the CURRICULUM written that USES QB64 along with a more polished and modern IDE. I am adamant about complying with all copyrights and any requirements of the copyright owners. I guess I should have instead asked the question, "Hey, anybody got any good ideas for a name for a third-party IDE for QB64 that doesn't include the word BASIC?".

So that's on me. Sorry for any confusion. My hope is to teach kids how to use QB64 without scaring away the teachers with the word BASIC.


:@)
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 02:53:25 pm
Well I would think good branding follows the continuity principle. If you have the QB64 programming language, and package it with something we end up calling the Infinity++ IDE, and then call the tutorial the Looney Tunes Guide to Modern Programming, well, how does that help in creating a successful brand? 

Pete
Title: Re: QB64 vs Python and a humble request
Post by: Bert22306 on April 20, 2020, 04:19:59 pm
Have you looked into Davs IDE?  I have downloaded it but haven't tried it: http://www.qbasicnews.com/dav/projects.php#DAVSIDE

DavsIDE - A Small IDE for QB64

Shucks, you stole my "thunder." Exactly. The built-in IDE should not be considered a single, point solution, for QB64. Others can be written. I've used DavsIDE, but I returned to Fellippe's IDE, because it, Fellippe's, is fanatically and scrupulously kept up to date, with bugs or omissions addressed sooner rather than later. DavsIDE has a way to go, last I saw anyway, to reach this level of refinement. Even though, graphically based, DavsIDE looks very cool.

So, to me, the IDE should not be given too much weight, as a downvote. On the other hand, could QB64 be expanded to allow it to create web pages? That's an interesting proposition.
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 04:38:26 pm
@Bert: I love Fell, and not to take anything away from all of his wonderful program contributions, support, QB64 continued development, and his role in the Odin holy trinity, Fell did not create the QB64 IDE, Rob did.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 04:38:35 pm
Well I would think good branding follows the continuity principle. If you have the QB64 programming language, and package it with something we end up calling the Infinity++ IDE, and then call the tutorial the Looney Tunes Guide to Modern Programming, well, how does that help in creating a successful brand? 

You are absolutely correct. Brand continuity is a foundational axiom of marketing. To break that continuity is tantamount to product suicide.

That being said, there are some brands that have become tarnished with an unwarranted bad reputation, such as BASIC. Some brands kneecap themselves all on their own. Take for example The Sci Fi Channel. When they changed their name to Syfy back in 2009, they lost over a third of their sponsors and nearly all of their net recognition while also garnering some fantastic jokes about the name being slang for syphilis - something they STILL haven't yet recovered from.

The question begins with the original brand and it's demographic. I dare say that "QB64" is perfect for its demographic; hobbyists, nostalgists, and other niche programmers are naturally drawn to it. However, in the educational market, that name is unmarketable. Please understand, it's a common problem when writing for the K-12 industry. Usually the wining bids have some goofy looking mascot and the name of an animal in the title. It's embarrassing. If I see one more damn owl or ferret on the cover of a textbook I think I'll puke up my own liver. We in the industry refer to it as Rikki-Tikki-Takki. As it stands, the committee members I've already spoken to about the name "Kwik" just naturally assumed there would be a damn road runner on the cover! Ever wonder why O'Reilly books all have animals on them? Edie Freedman, an artist, teacher and mother of four, thought that Unix program names sounded like weird animals and fashioned the cover art after a popular children's textbook!
I understand the appeal. Children identify with cute animal mascots. But I think that speaks down to children. Kids are far more intuitive than we give them credit for - well, at least the clever little booger-miners I come in contact with are. I could put QB64 in front of them and they wouldn't blink. It's the damn teachers and administrators that have to be convinced.

I wouldn't change a single thing about QB64. Well...as a Mac user, I would prefer to be able to use CMD+C/V instead of CTRL+C/V to copy and paste, and it would be nice if the cursor always went to the end of a line or inside the text where I clicked it instead of just EXACTLY where I clicked on the screen, but those are minor issues. I certainly wouldn't want to mess with the name. I just need to figure out a name that the K-12 people will accept as a curriculum name. They wouldn't even know HOW to care what made it work (i.e., QB64). I also need to find or create a more polished and modern IDE with all kinds of helpful features very similar to Kite (kite.com) for Python.
I've considered Davs IDE, but as far as I know, it only works for Windows. I would need to compile it for Raspi and Mac at the very least. Otherwise, it sounds ideal!

:@)




Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 07:01:17 pm
Gotcha. Something like... Drum roll (where's Dav when I need him)...

Code Wizard

Of course that could get knicked as Code Wiz, but still... Such a name ge's kids to think of it as system they can use to code their own programs. Sorry I'm no naming wizard, but at least with me, you don't get submissions like: Call it Amazing Steve Software. Of course that could get acronymed to... Ah, never mind.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: EricE on April 20, 2020, 07:05:06 pm
Quote
Children identify with cute animal mascots. But I think that speaks down to children.
I like cute animal mascots :)

A recommendation about using Dav's IDE.

If  the DavIDE option,
"Compile > Compiler Options > Save EXE at the BAS location"
is checked, then make sure the QB64 option,
"Run > Output EXE to Source Folder"
is unchecked, otherwise DavsIDE will not be able to run the EXE after compiling the source file.

How the BASIC languages are viewed is still being influenced by what Edsger Dijkstra wrote in 1975.

Quote
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

How do we tell truths that might hurt?
https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html (https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html)
Title: Re: QB64 vs Python and a humble request
Post by: EricE on April 20, 2020, 07:22:04 pm
Quote
I also need to find or create a more polished and modern IDE with all kinds of helpful features very similar to Kite (kite.com) for Python.

How about considering Visual Studio Code as an IDE for QB64?

A QB64 extension for Visual Studio Code would provide a modern IDE for the language, and at the same time would bring QB64 to the attention of many programmers who would otherwise not consider using it.

https://code.visualstudio.com/ (https://code.visualstudio.com/)
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 07:45:20 pm
Ha! I just Googled Code Wizard, and guess what? Some company already snapped up my name for their classroom software. Wilson! Call my attorney! Wilson!!!!!!

Pete
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 07:45:37 pm
How the BASIC languages are viewed is still being influenced by what Edsger Dijkstra wrote in 1975.
Yeah, I'm all too familiar with that arrogant Dutch idiot's gum-flapping rant. But the joke was on him and he didn't even know it. The very same year he posted that memo, Bill Gates sold the first version of Microsoft BASIC for the Altair and started a multi-billion dollar business that ushered in the personal computer revolution. BASIC was THE programming language for the next twenty years and now has become so ubiquitous, it's part of MS Word and Excel as an afterthought. But the sad epitaph is Microsoft made BASIC what it was, but also killed it with that .NOT aberration from Hell.

There's never been anything wrong with BASIC. BASIC was never designed to be a heavy hitter. It managed to evolve into one anyway though - in spite of Dijkstra. Dijkstra picking on BASIC was like a pro football player dropping by a junior high school and calling the junior varsity quarterback a worthless retard. Seriously?! Why didn't say something about Logo? But the final punchline is to this day, there are over 50 different versions of BASIC out in the wild. Show me any other language that has that kind of following.

:@)



Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 07:46:31 pm
Ha! I just Googled Code Wizard, and guess what? Some company already snapped up my name for their classroom software. Wilson! Call my attorney! Wilson!!!!!!

Pete
Yep, it's a heck of a challenge.
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 07:47:28 pm
How about considering Visual Studio Code as an IDE for QB64?

A QB64 extension for Visual Studio Code would provide a modern IDE for the language, and at the same time would bring QB64 to the attention of many programmers who would otherwise not consider using it.

https://code.visualstudio.com/ (https://code.visualstudio.com/)
From what I can tell, it works for Windows, Mac, and Linux, but not RasPi. Please correct me if I'm wrong.
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 07:53:48 pm
How about considering Visual Studio Code as an IDE for QB64?

A QB64 extension for Visual Studio Code would provide a modern IDE for the language, and at the same time would bring QB64 to the attention of many programmers who would otherwise not consider using it.

https://code.visualstudio.com/ (https://code.visualstudio.com/)
I stand corrected. Someone has gone to the trouble of porting to the RasPi as well as Chromebook. http://code.headmelted.com/#platforms (http://code.headmelted.com/#platforms)
I do like the idea of using Visual Studio Code. I just don't know how or if it can be configured for QB64 syntax, keywords, compiling, running, debugging(?!) and integrated help. Anyone know of any sources for these?
:@)
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 07:59:22 pm
Here is something else to look at: https://www.qb64.org/forum/index.php?topic=809.msg100182#msg100182 (https://www.qb64.org/forum/index.php?topic=809.msg100182#msg100182)

RhoSigma did a Notepadd++ setup that lets you use that with QB64.  I have also done some work using the Geany IDE with QB64 as well.  So MANY options.
Sadly, Notepad++ does not work on Macs, and I suspect not on RasPi either. Geany does, and so that jumps the first hurdle. But the next hurdle is auto code completion and integrated help.
From this thread, I'm beginning to see that one of two options will have to be deployed; 1) Find a platform like Kite that can be fully adapted to QB64 for all the functions required, or 2) Write the IDE from scratch using QB64.
Honestly, the second option sounds more ideal. I'm just not a programmer. So, Grr. The first option would have to *BE* Kite since no other editors include all of the options of a full-blown IDE with integrated help options.
:@)
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 20, 2020, 10:04:42 pm
I've never heard of RasPi BASIC II
RasPi BASIC II doesn't exist. It was name that came up in committee for a potential new language name based on QB64.
I remember Fuze. It was a nice project with their own dedicated hardware. In fact, it's somewhat similar to what I'm trying to achieve. But I believe they failed because they held onto the name BASIC and depended on Russell's WiringPi module which he unceremoniously canceled and left them holding the bag.
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 20, 2020, 11:37:54 pm
Bummer, AlphaCode is another name in use. This reminds me of the early dotcom domain naming days where isthisfuckingnamestillavailable.com wasn't available.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: bplus on April 21, 2020, 11:13:04 am
As an entrance into coding, I was thinking Code Gate (like a Star Gate).
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 21, 2020, 12:17:56 pm
As an entrance into coding, I was thinking Code Gate (like a Star Gate).
Hmm...Interesting. I'll add it to my short list and see what they think.
Thanks!
:@)

Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 21, 2020, 01:28:45 pm
As an entrance into coding, I was thinking Code Gate (like a Star Gate).

Sorry, already taken. Since a star gate is essentially a portal to a wormhole, how about...

Code Hole

or...

Code Worm

Ha! Actually code worm is taken too, but for some inexplicable reason, Code Hole isn't! Hurry, jump on it before the FreeBASIC people snap it up! :D

This is why Napster just went with a goofy name, even back then, instead of trying to knit known words together or use well known terms or phrases. I mean you can't even get straight to the point ones like Code It or Prog It, and the "It" part would get confused with I.T., anyway, which is never good branding, in the first place.

Okay, who's good around here at making stuff up? Where's Clippy when we need him?

Pete
Title: Re: QB64 vs Python and a humble request
Post by: bplus on April 21, 2020, 04:13:57 pm
Yeah I looked up "Code Gate" for usage and I don't think the name really interferes with Security Service Industry, in fact they may coexist well or maybe even be sponsors?
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 21, 2020, 04:53:36 pm
Yeah, but we don't know that. When you deal with schools, they want assurances they won't be pulled into trademark or copyright lawsuits, or for disputes, for that matter. Without a prominent person to get an "in" in the educational system (what an oxymoron that is) you have to present them with a system that has some credentials, like a trademark.

This is the typical go big or go home scenario. QB64 is not proprietary and neither are educational systems that teach how to code. Just think of it this. What we have to date wouldn't even make an interesting spot on a show like Shark Tank. Don't get me wrong. It's a great hobby language, and what I did with for my purposes was phenomenal compared to what so called professionals had available, at that time, but I say I'm one in a million when it comes to having a completely different profession but becoming every bit as good as professional business system programmers just to use for my own purposes. So sure, I appreciated BASIC for a lot more reasons than most people would give it credit for, but that's the rub. This thread is focused on the other half, the masses, who want to know, what great thing can I make with this now, instead of what can I learn to eventually make by learning to use this thing, now.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 21, 2020, 10:29:19 pm
Well folks, I want to thank you all for your input on this. The committee made their decision this afternoon and sadly, they decided to go with XOJO.

They were very kind and professional about it and we even had a VERY long conference call where they bounced a bunch of questions off of us and offered LOTS of feedback. In the end, I was confident they had at least done their homework and knew the challenges they faced. They scrapped the Mac compatibility aspect, which allowed them to quadruple down on the budget for Raspberry Pi - an idea, frankly, I wish I had thought of.  They'll be able to reach far more students and have a heck of lot more equipment on hand. Once they learned that the RasPi 4 is powerful enough to function as a minimal desktop computer with video and web capabilities, they were sold.

Their decision to go with XOJO was also really well thought out. The yearly XOJO license for the RasPi is free. While it doesn't yet run native on the RasPi, it does run on Windows and Mac and they decided to use the existing library PCs running Windows. Again, not a bad decision really. My biggest complaint with XOJO is that it is NOT BASIC. But again, their mandate was that the chosen language not be Python, not necessarily BASIC. So again, they chose well. XOJO is really quite a well designed language and has a long history as being RealBASIC once upon a time. It's just not the kind of BASIC you get with QB64. Also, ironically, RealBASIC was originally written for the Mac!

The good news for me though is that they accepted my bid for the technical writing aspect. So, whoo hoo, I have a job! None of this affects my attitude toward QB64 though. I still firmly believe it the BEST version of BASIC in the wild. I do hope however, that it will continue to evolve and grow.

For what it's worth, this is the feedback they gave me regarding QB64. Please note, this feedback was already printed up BEFORE our long discussion which lead to the decision to drop the Mac compatibility. During which, I basically eliminated the need for the second item and essentially relegated the entire first item to one of style rather than function. But, as I mentioned, they had pretty much already decided on XOJO:
Quote
QB [sic] appears to offer a great deal of flexibility and has a long and impressive lineage. However, certain key feature are missing that are vital to the success of this program.
1) A professional and modern GUI code editor with the following features: - auto code completion - integrated help - proper Mac Command Keys - proper cursor placement - proper mouse control for scrolling
 - a reliable and integrated GUI form designer

2) Commands for dropping files onto icons and windows in Mac.
Apparently, the setup I built for them for testing crashed one too many times. We had the clipboard issue that was dropping Segmentation Faults and I fixed that, and then the InForm designer did the same thing. That didn't help.

Regardless, I now have to re-learn XOJO enough to be able to intelligently write about it. It's okay. And it will serve their needs well. I was just hoping so much to be able to give real BASIC a chance.

Again, thanks for all your help! Please forgive me if you don't hear much from me for awhile. I bid high and they only slightly paused before accepting my offer, so I'm all about that paycheck right now! Looking forward to v1.5!

:@)
Title: Re: QB64 vs Python and a humble request
Post by: EricE on April 22, 2020, 07:59:29 am
Quote
they decided to go with XOJO

XOJO?. XOJO is too expensive, and you have to pay a yearly license fee to get upgrades.
Essentially buying the product again each year.

(OK, as mentioned, The yearly XOJO license for the RasPi is free.)

If they wanted to pay for a compiler why didn't they choose PureBasic? It seems just as capable as XOJO is.
Also PureBasic is much less expensive, and offers free upgrades for life.

(PureBasic supports Windows, Linux, and OS X, but I don't know if it supports Raspberry Pi)

BTW, one of the XOJO developers is William Yu who created the popular RapidQ compiler.

I hope the decision to use XOJO works out well for everyone.
Title: Re: QB64 vs Python and a humble request
Post by: Aurel on April 22, 2020, 08:22:02 am
Quote
It's not a bad language. It's just a lazy, drop-in, replacement for where BASIC SHOULD be today!

CBTJD... that is a real -> TRUE THAT THING...
and is constantly promoted as good replacement for BASIC ,what is a notorious LIE !
everybody with a "grain of salt in a brain" know that python is completely useless without external libraries written in C. 

and i continue to wandering who is that and what kind of interest(agenda) have to push python everywhere? 
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 22, 2020, 11:23:09 am
...everybody with a "grain of salt in a brain..."

Ah, that's my problem. I'm on a low sodium brain diet. HELP Mark, what the hell is your buddy talking about now?

Pete

I know, I only speak one language, and those who know me swear it's not English.
Title: Re: QB64 vs Python and a humble request
Post by: bplus on April 22, 2020, 02:22:09 pm
Ah, that's my problem. I'm on a low sodium brain diet. HELP Mark, what the hell is your buddy talking about now?

Pete

I know, I only speak one language, and those who know me swear it's not English.

Aurel does not like Python so much.

Title: Re: QB64 vs Python and a humble request
Post by: Aurel on April 22, 2020, 03:33:21 pm
Of course that i don't like it , and Pete don't worry you are a good guy .
I just post question about python on one facebook group...and doyou know what one guy tell me :
Raspberry people ...whaaat ?
For XOJO..i really don't know ,from the past i know that RealBasic was very solid product.
Title: Re: QB64 vs Python and a humble request
Post by: _vince on April 22, 2020, 04:33:37 pm
I just post question about python on one facebook group...and doyou know what one guy tell me :
Raspberry people ...whaaat ?

What about this, what does this mean?
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 22, 2020, 04:42:32 pm
Thanks mark. Yeah, mennonite asked me once to look into learning Python, but I wasn't that impressed. I just use C/C++ once in a blue moon, but I still really don't know enough to use strings and pointers correctly. For some weird reason, I still my intended results though. I really don't think any other language, at least at my age, is worth me delving into, other than maybe learning a little more JavaScript, and that's just for my website stuff.

I'll return the "good guy" shout out to Aurel. I never could quite understand the rift between him and mennonite though, but I guess you tow had your back and forth moments, too. I the end, its all turned into machine language, anyway. God help us if that's all we had to code in. To me, BASIC is one of the few languages left that bridges the piece by piece approach of machine code or assembly, and turns it into a form of communications more like a spoken language. Kids today will not be getting the benefits to get a feel for how to make a computer do what they want it to do, but they will be able to go further, faster, by learning how to make a computer use some library someone else developed for these OOP like languages.

Pete
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 22, 2020, 04:59:10 pm
Kids today will not be getting the benefits to get a feel for how to make a computer do what they want it to do, but they will be able to go further, faster, by learning how to make a computer use some library someone else developed for these OOP like languages.
Exactly! Kids are being taught to include libraries, call those libraries written by somebody else, and then believe they're programmers. I think that goes along with all that nonsense that nobody is a loser and we shouldn't keep score at children's sporting events - that everyone should get an award. That's not to say that libraries don't have their uses. It's just that education isn't one of them. You're not teaching them anything about actually programming! BASIC does. If you ask a kid how those libraries work, they have no clue. But you show a kid that everything is a file and that by altering files in BASIC, you do what those libraries do, THEN you're teaching!
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 22, 2020, 06:08:39 pm
There are losers. They're called, Progressives. Their ideas are so bad, they don't want to keep score, because they'd all realize they're losers.

I'm actually fine with new ways of doing things, but of course that new way is going to get compared to the old way, and it should only replace an older way of doing something if it proves to be distinctly better. Anything else requires a heaping dose of propaganda to survive. Welcome to the U.S.S.A.

I totally agree learning is being replaced by skill sets. It's like pilots today. They use skill sets to manipulate auto pilots, but we saw what happened to that Boeing 737 Malaysian Airline. Gee, if only the damn pilots actually knew how to fly the plane! Oh well, there are no losers, because dead people can't keep score.

I have no problem with kids being shown skill sets, but do so in conjunction with understanding how to make a library. Schools should also should be focused on skill sets, the skill sets of learning. When I want to program a word processor in BASIC, I have to think about forming so many conditions if my brain wasn't used to that type of demand and concentration, I'd never get beyond using INPUT. BASIC actually makes a programmer think and not just follow a skill set. Thinking leads to imagination and that leads to new discoveries, something that just using skill sets alone seems less likely to achieve.

Pete 

Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 22, 2020, 09:58:19 pm
Wow Pete, I thought I was a crotchety old fart!  :@)

I do like your point about skill sets. You really drive it home with the Malaysian pilots story. It's starting to sound like Ayn Rand's "Atlas Shrugged".

It was suggested to me recently that what BASIC needs is a "killer app". But what would that look like? Would it be strictly a Raspberry Pi thing? Robotics? Artificial Intelligence? IoT home control?

The VisiCalc spreadsheet app was the first such "killer app".

Others included EasyWriter, Lotus 1-2-3, he Unix operating system for the PDP-11, Myst for Mac gaming, Halo for Xbox gaming, Deluxe Paint and Video Toaster for the Amiga...

But all of these are applications, BASIC is something used to CREATE applications. So how does that work?

What if BASIC could do something no other programming language could? But what could that be? Being easier to learn doesn't cut it. It's not faster.

Or is it possible that BASIC is just well and truly dead in the 21st century? Has it gone the way of the rotary dial phone, the hand cranked car engine, lawn darts, record players, and 8 track tape players?

{:@\
Title: Re: QB64 vs Python and a humble request
Post by: Aurel on April 23, 2020, 01:50:41 pm
Quote
Exactly! Kids are being taught to include libraries, call those libraries written by somebody else, and then believe they're programmers

Yes Exactly is that..that is not programming
in py
ohh i need math

import "math"

ohh i need graphic

import "graphic"

etc..etc...

pete..me and mennonite ...gee HE is a figOsDev,
he even publish figOS..on sourceforge ,,,,he he
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 23, 2020, 02:47:53 pm
NO! That was MY Opinion! And you stole it!!!!!!! I mean shared it. :D

Wow, these extra-strength muscle relaxers are really kicking in...

Pete
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 23, 2020, 05:53:48 pm
Pete, you're a trip, Dude!
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 23, 2020, 05:56:42 pm
He doesn't know what to do because although he knows which buttons/switches to use, he doesn't know WHAT they do.
A person using libraries knows how to call the libraries, but not how or why it works.
Exactly right. And the very reason Chernobyl happened. Under-trained, night shift, flunkies who actually had to refer to the manuals to try to figure out why flash-filling the reactors with water creates explosive hydrogen gas. Hell, Jimmy Carter knew that! Of course, he's a degree-holding nuclear physicist - no kidding.
Title: Re: QB64 vs Python and a humble request
Post by: Ashish on April 24, 2020, 12:18:39 am
Quote
Exactly! Kids are being taught to include libraries, call those libraries written by somebody else, and then believe they're programmers
I disagree with this. Why to create your own when there already exists a library for your task?
Creating a library when another library for same task already exists ,is a waste of time.
Of course, they should know what the library is doing in the background when they are not a *kid*.
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 24, 2020, 02:09:18 am
I disagree with this. Why to create your own when there already exists a library for your task?
Creating a library when another library for same task already exists ,is a waste of time.
Of course, they should know what the library is doing in the background when they are not a *kid*.
Ah, I've had this debate before and handled it poorly. But I learned something I hope I can share:
For me, libraries are fine if you've used them before and know you can trust them. But every programmer should know HOW to write the code themselves if they have to. And education programs should promote the latter over the former so they're not just training button-pushers.
Title: Re: QB64 vs Python and a humble request
Post by: SMcNeill on April 24, 2020, 03:16:51 am
I'm with Ashish.  Libraries keep us from having to know absolutely every little process, while allowing us to write functional applications.  Hell, QB64 itself could be considered nothing more than a single huge library.  Let's take the _LOADIMAGE command as an example -- who wants to sit and write the code from scratch to decipher a BMP image and put it on the screen.  Or a PNG image?  JPG? TIFF? GIF? Isn't it just simpler to load the various libraries and then let them handle all the decoding and format specifications??  Our sound, fonts, graphics, compression routines are all external libraries which we use, rather than trying to write our own. 

Writing your own routines don't mean that they're worth a hoot.  Take our keyboard routines as a perfect example -- Galleon tried to write his own after swapping out the SDL libraries, and they still don't work worth crap.  Keys are mismatched, ignored, double mapped...  Custom stuff that just doesn't work like it should.  A nice input library would probably work much better for us, in all honesty.

We don't need to know HOW _DEFLATE compresses files into a fraction of their size.  Let some fellow with 14 PHDs in compression theory sort out how the math and logic works to shrink a 100MB text file down to 1MB.  All we need to know is how to link to their work (in the case of _DEFLATE, we link to the ZLIB library), and make use of it in our personal projects and applications.
Title: Re: QB64 vs Python and a humble request
Post by: CBTJD on April 24, 2020, 03:32:02 am
Another consideration for coding is efficiency. I grew up in the 1K RAM days when you had to get very creative to even get your program to FIT, much less work. So, just strictly due to my origins, I prefer to avoid libraries. But it is a valid concern regarding compression, encryption and image handling. I *DO* know how to do those things, AND I *CAN* write more efficient, better, and more accurate code than the libraries I've come across. Heck, the MOD function in the math module for Python v2 was wrong for nearly a year until someone pointed it out! And I've had to personally correct a developer on a Fibonacci functions library.

Regardless, this all reminds me of my high school electronics class when the teacher made us spend an entire week learning how to build discreet logic circuits and then told us afterwards, "Of course, me, I'd just use an open-collector quad 2-input NAND gate SN74LS01 chip with a SN74LS07 hex buffer gate, but now you know how the damn things work."
Title: Re: QB64 vs Python and a humble request
Post by: William33 on April 24, 2020, 09:26:02 am
I would say, it depends on the task. Apart from Python; imagine you have to code an accounting software with an SQL database and a report designer. I doubt anyone would start with the WinAPI (which also can be considered as a library)  wihtout using existing libraries.
Title: Re: QB64 vs Python and a humble request
Post by: Ashish on April 24, 2020, 10:15:15 am
@[banned user]
I'm not saying you are wrong. I'm just giving my point of view. I could be wrong as I have less experience from you all.
I would always prefer a library if it has all features which I need for my task.

For example:-
1. When I joined the forum 3 or 4 years back, the only GUI library I found was of RhoSigma.
I liked but I wanted a more windows-style form like GUI. I created mine aKFrameWork. But it was technical to use.
Soon, Fellippe came up with his InForm which have WYSIWYG capabilities. (In this case, I tried to create my own library.)

2. I recently created a 3D Grapher program. Now, this program need to evaluate an expression which include some mathematical
functions as well. I could code a library to this, but that would have taken  a lot of time. And I already knew about the
STxAxTIC's Sxript. So, I used it. (In this case, I used other person library.)

Also, think about it. Why library do exists? Just to make programmers life easier. :)
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 24, 2020, 10:51:26 am
This discussion reminds me of one of my sayings, "Knowledge is power, but power is more useful." On the side of learning, coding with  higher level languages improves understanding, and using libraries increases productivity, but at some cost of customization. That's the part that I really dislike.

As a kid, I played a lot with tinker toys, instead of pre-made models. I built skyscrapers, ships, towns, etc., piece by piece. I preferred using my imagination and believed I could build anything I reasonably imagined, and did just that. I think I feel the same when it comes to programming. Frankly, if I had to use 90% library calls to make my projects, I'd probably never even bother starting one. Some people would be just the opposite, which is something remarkable about programming, it can satisfy both factions.

I do think taking the ability to understand how to code is like throwing the baby out of the bathwater. I would rather see schools continue to teach the fundamentals, if for no other purpose than developing minds.

Pete

- And for all you people out there on a diet, don't forget: A waist is a terrible thing to mind.
Title: Re: QB64 vs Python and a humble request
Post by: Larryrl on April 27, 2020, 01:06:52 am
I agree whole heartedly. It shouldn't be like exploratory surgery just to create a for next loop. And what is with all of "new stuff"? Now days you gotta say myfilestream=new filestream, or some such. At least in C sharp and python anyways. If QB64 just had easier ways to access some of gui tools like textboxes and listboxes etc, it would be a lot better.
Title: Re: QB64 vs Python and a humble request
Post by: Pete on April 27, 2020, 03:44:45 am
I agree whole heartedly. It shouldn't be like exploratory surgery just to create a for next loop. And what is with all of "new stuff"? Now days you gotta say myfilestream=new filestream, or some such. At least in C sharp and python anyways. If QB64 just had easier ways to access some of gui tools like textboxes and listboxes etc, it would be a lot better.

Have you tried INFORM? https://www.qb64.org/forum/index.php?board=11.0

Pete