Author Topic: What is the Vision for QB64?  (Read 7087 times)

0 Members and 1 Guest are viewing this topic.

Offline davidshq

  • Newbie
  • Posts: 55
    • View Profile
What is the Vision for QB64?
« on: October 17, 2018, 10:05:22 pm »
Hi All,

Its been a while. I've been busy gallavanting around various corners of the web, but recently felt a hankering for some QB64. Upon my return I saw a @keybone's thread on building out a new QB64 IDE. As I was writing my response, it occurred to me that the conversation around whether to build a new IDE seemed to center on what folks perceived QB64's purpose to be...So I thought I'd start a thread to discuss this a bit.

I'd love to hear everyone's feedback on this topic, but would especially appreciate feedback from the core developers who are contributing to QB64 on an ongoing basis. Based on a review of the past year's GitHub commits active committers appear to be:

- FellippeHeitor
- flukiluke
- AshishKingdom
- ebourg
- SteveMcNeill
- RhoSigma

Thanks to each of you for your work on QB64!

To flesh out my question a little:

- Is QB64 a hobby language that will remain a hobby language?
- Is QB64 dedicated primarily to a BASIC of the past?
- Does QB64 have any aspirations to become widely utilized?
- Where would you like to see QB64 be in 1 year, 3 years, and 5 years?

Thanks!
Dave

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: What is the Vision for QB64?
« Reply #1 on: October 17, 2018, 10:31:29 pm »
These are just answers for me; each of us "developers" are very independent and tend to do our own thing, so everybody else will have to answer for themselves.

1) I don't really think of QB64 as a hobby language.  As long as somebody is willing to put some effort into writing a "professional" program, QB64 should be able to handle it.  We have graphics, sound, keyboard/mouse/joystick support.  The TCP/IP stuff could use some work, as well as an easier way to add in external libraries (DECLARE LIBRARY is a very hit and miss method, for me, usually.), but all-in-all, there's not a lot that the language can't do already.

2) We're primarily focused on keeping things compatible with QB45, and I think we support around 99% of the commands.  (DEFN commands are the biggy thing we're still missing, I think.)

3) Honestly, as long as it's there where *I* can use it, I'm happy.  I'd love to see others use it as well, but my primary motivation for working on things is for my own personal use.  If others enjoy my changes/enhancements, that makes me rather happy as well, but if they don't...  PBBBBTTTTBT!!

4) In a years time, I'm not thinking of very many changes at all.  Right now, my focus is on losing weight (Down about 30 pounds of the 100, which is my total goal, so far.),  so I can have heart surgery next year.  As for the next 5 years however, I'd love to help add a few new abilities for us:  Video support.  Shared memory between programs.  Native database support... These are the "Big Three" on my wish list, and one of them will probably by the next big thing I work on sorting out and adding to the language for us -- providing all goes well healthwise for me, first.  :)

(Side wish, which I don't think will ever actually happen, unless Luke or one of the others decide to delve into it:  Removing OpenGL and replacing it with something else, since Mac no longer works with QB64.  I loved how crossplatform we used to be; and I hate that we don't have that full flexibility any longer.)
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline TerryRitchie

  • Seasoned Forum Regular
  • Posts: 495
  • Semper Fidelis
    • View Profile
Re: What is the Vision for QB64?
« Reply #2 on: October 18, 2018, 02:28:53 am »
My wish for QB64 is to gain widespread acceptance in K-12 as a tool to introduce programming. Other mainstream languages have a huge learning curve that turns many kids away from programming. QB64 let's you get into the "fun stuff" right away, like simple graphics and sound, eye and ear candy the kids want right from the start.

This current thinking that kids can become major coders in elementary/high school is folly. Introduce them to the world of coding with something that is fun yet structured. Those that have the knack for programming can use their QB64 experience to move into more mainstream languages. Those that don't have the knack, or simply don't want to do coding as a profession, can still use QB64 as a tool for hobby or simple tasks because of it's simplicity to master.

Quote
Native database support...

Yes, that and better TCP/IP support would be a huge bonus.
« Last Edit: October 18, 2018, 02:37:38 am by TerryRitchie »
In order to understand recursion, one must first understand recursion.

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: What is the Vision for QB64?
« Reply #3 on: October 18, 2018, 04:17:10 am »
I grew up in an age when there were no home computers or game consoles. The closest thing we had for entertainment were mechanical machines like Pinball.

In the last 40 odd years, I have been amazed by the introduction and the advancement of personal computers. From 8 bit to now 64 bit machines that are thousands of time faster than their predecessors. Programming was originally thought of as 'something that the clever folk did'. Basic was introduced; Then came colour; Graphics etc... More and more languages that were geared for we 'normal' folk. The power to create our on stuff. Mind boggling stuff!

Further advancement, I feel, will be exponential. Faster and more powerful machines will create greater expectations from users. Better sound. Better graphics. Programming will probably lean toward more 'point and click' development tools so as to produce more and, by definition, quicker. Our current generation seems to want and expect things 'now'.

I fear that, unless QB64 and the like adapts to 'keep up with the Jones's', the art of 'real' coding will fade into distant memory.

It is my opinion that QB64 (like most other languages) were never created to be 'hobbies'. I believe that computer programming is a vehicle by which we hope to make our live more efficient and productive. Just like a car. It can be used as a courier; to and from work; racing; rescue and crime. In all uses the car is still a car. The driver determines it's use. I 'drive' QB64 as a hobby mainly because that's all I know and I'm ok with that... as long as people see a need for QB64 (and the like) I feel that QB64 may even outlive me...

Code on.

J
Logic is the beginning of wisdom.

Offline luke

  • Administrator
  • Seasoned Forum Regular
  • Posts: 324
    • View Profile
Re: What is the Vision for QB64?
« Reply #4 on: October 18, 2018, 08:47:37 am »
The tcp/ip thing... that's partially me being lazy. I never got around to finishing off the implementation, but it's probably still sitting on a branch somewhere. I suppose I should pick that up again at some point.

When we say database, what exactly do we we mean? The whole SQL kit and caboodle, or just reading/writing structured files better? In either case I think it might be a more useful approach to write the support as a library, but using that to inform changes to the language itself. Depends on exactly what's wanted, I suppose.

The declare library stuff does indeed need improvement, though I warn any changes there would likely break existing (declare library) code - is this significant issue?

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: What is the Vision for QB64?
« Reply #5 on: October 18, 2018, 10:00:48 am »
I am wondering if array work is on anyones radar.

Copy an array.
Functions return an array.
Insert, Delete array Items.
Arrays in Type.

Offline Dimster

  • Forum Resident
  • Posts: 500
    • View Profile
Re: What is the Vision for QB64?
« Reply #6 on: October 18, 2018, 12:54:04 pm »
I take QB64 as literally another language that I'm learning and the more you guys add to it the richer the language becomes. Thank you for that by the way. I like the fact it's not the goto mainstream coding language, the "Latin" of computer languages so to speak. Perhaps that was a bit harsh as it does feel more modern. I have not tried other computer languages but find the Basic part to be ageless, in that you can code Basic with your children and they can give you some very helpful advice. The world seems to be going digital very quickly, who knows down the road how important QB64 could become in our everyday lives.

Offline Qwerkey

  • Forum Resident
  • Posts: 755
    • View Profile
Re: What is the Vision for QB64?
« Reply #7 on: October 18, 2018, 01:24:07 pm »
I should have thought that QB64 is a de facto hobbyist language.  The fact that Fellippe has to beg for sponsorship to pay for Server Hosting costs would rather indicate the nature of QB64.org and its language.  If it were professional, he'd be CEO of QB64.com with premises in Sunnyvale.  This is not to diminish in any way what has been achieved with QB64 or what is in progress.  We on-line community with a varied range of skills mostly produce hobby stuff.  As Terry says, when a youngster has mastered QB64 but wants a job he/she will learn the "higher-level" stuff.  Nothing wrong with hobbyism: just look at what appears here.  Steve is, as ever, correct: what can be produced with QB64 can be quite professional-looking.

By the way, would somebody care to write a small introduction to OpenGL for us dim people?  Any time I've tried to read the Wiki, it just looks like a lot of odd-looking statements of which I have not the slightest notion.

Richard

Offline Bert22306

  • Forum Regular
  • Posts: 206
    • View Profile
Re: What is the Vision for QB64?
« Reply #8 on: October 18, 2018, 03:41:21 pm »
I'll offer my uses and my "vision."

My first PC was an IBM PS/2 System 50. And I was familiar with Basic, starting with time sharing services while in grad school, and also on a pre-PC HP 9830A desktop machine.

http://hpmuseum.org/hp9830.htm

So, imagine my happy surprise, when very early on, out of the blue, on a whim, typed "basic" at the c:\ prompt of that IBM PS/2, and got the ABASIC user interface staring back at me.

A useful machine! Not just some fancy word processor!

Anyway, that's how I see QB64. A quick way to turn a PC into a computer that can actually be programmed.

I've been using MS QuickBasic, and more recently QB64, for work and for play. For work, it is really nice to be able to write algorithms in a way that many readers can understand what you're doing, even without "knowing" Basic. (Much like Pascal was, in this regard. But Pascal fell by the wayside, and Basic is very much still with us.)

And I can also send out test .exe files, for them to put the algorithm through whatever hoops they think up. These algorithms are typically related to controls and to navigation. I've had very good success, with our software development guys, and with the customer community simultaneously, when documenting my work this way. It becomes totally unambiguous. Not just trust-me-this-works pseudo-code, but not much more difficult to understand. Plus, I frequently also use QB64 graphics, to demonstrate the algorithms at work. I include screen grabs right in the documentation.

And I really appreciate the enhancements over what was doable with QuickBasic. It is important, for my uses anyway, to keep QB64 up to date with what other languages are doing.

For me, not just a hobby niche language.

Offline STxAxTIC

  • Library Staff
  • Forum Resident
  • Posts: 1091
  • he lives
    • View Profile
Re: What is the Vision for QB64?
« Reply #9 on: October 18, 2018, 07:00:18 pm »
This question makes me continue to wonder if QB64 is itself an actual language, or is it just a big C++ program that implements the QB45 language plus OpenGL features. Without shitting in anyone's cereal, I think it's the ladder. We will become FreeBASIC over the years if we continue to lack a clear definition, mark my words.

So, now that I've opened the "its not BASIC" position that at least one person around here indirectly accuses me of holding, I think it's safe to say at we *should* aspire to have arrays in types, copying arrays, all that jazz. Let's just stop calling it BASIC and we're all set.
You're not done when it works, you're done when it's right.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: What is the Vision for QB64?
« Reply #10 on: October 18, 2018, 08:33:58 pm »
It would be nice to shed the line numbers and spaghetti code image.

Hey call it,

BASIC++

So we can give a hint of the middleman that makes this code executable.
« Last Edit: October 18, 2018, 08:36:33 pm by bplus »

Offline Cobalt

  • QB64 Developer
  • Forum Resident
  • Posts: 878
  • At 60 I become highly radioactive!
    • View Profile
Re: What is the Vision for QB64?
« Reply #11 on: October 18, 2018, 08:34:33 pm »
This question makes me continue to wonder if QB64 is itself an actual language, or is it just a big C++ program that implements the QB45 language plus OpenGL features. Without shitting in anyone's cereal, I think it's the ladder. We will become FreeBASIC over the years if we continue to lack a clear definition, mark my words.
Perhaps QB64 is a dialect rather than an independent language? Like there are various dialects of English depending on where you live.

So, now that I've opened the "its not BASIC" position that at least one person around here indirectly accuses me of holding, I think it's safe to say at we *should* aspire to have arrays in types, copying arrays, all that jazz. Let's just stop calling it BASIC and we're all set.
perhaps "Enhanced BASIC" might be a better description? The applicable(as certain normal BASIC commands are no longer useable) BASIC syntax is there, its just built up a 'bit'.

BUT HELL YAH! somebody else calling for ARRAYS in TYPES!!! whoo hooo  not just me!

- Is QB64 a hobby language that will remain a hobby language?
If you really look at it you can see the potential for some real coding power under the hood.
so 'hobby language' or 'purposeful language' is really in the hands of  the person writing the code.

- Is QB64 dedicated primarily to a BASIC of the past?
It supports older BASIC code to allow people to bring older code, be it their own or out of old books, to today's programing scene. While allowing a more powerful approach to BASIC for today's machines and needs.

- Does QB64 have any aspirations to become widely utilized?
More and more people are checking 'us' (QB64) out, even getting exposure in some schools and online circles. The main aversion to BASIC/QB64, I believe, is more of a mental thought that all BASIC is spaghetti code and slow\weak\limited, when in reality any language can wind up with spaghetti if the person coding chooses to make it that way, and early BASIC was slow\weak\limited but then so where early computers by today's standards.

Removing OpenGL and replacing it with something else, since Mac no longer works with QB64.  I loved how crossplatform we used to be; and I hate that we don't have that full flexibility any longer.)
That's not our (QB64 GL) fault, that's Apples fault. Apple doesn't like to play nice with the other kids.
Granted after becoming radioactive I only have a half-life!

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: What is the Vision for QB64?
« Reply #12 on: October 18, 2018, 09:19:32 pm »
;-)) Whoo hoo not just me either!

Offline OldMoses

  • Seasoned Forum Regular
  • Posts: 469
    • View Profile
Re: What is the Vision for QB64?
« Reply #13 on: October 18, 2018, 09:51:15 pm »
Once upon a time I could flip a switch, type PR#6, and have a blank screen and a prompt. From there I could do whatever my imagination could conjure within certain limits. Later I learned the joys of procedural programming through QBasic, it wasn't a difficult transition as much of what I learned in Applesoft was still applicable. Still there were things I thought I would never have access to without learning the nuts and bolts of Assembly and it's interactions with the machine environment. I even tried to wrap my head around those concepts, but could never bring myself to get into that level of work. Then the disaster occured, Windows did away with DOS, at which point I pretty much gave up on doing my own coding. Yes, there was DOSBox that kept me limping along, but there wasn't anything new to challenge me to expand my horizons and I just never could get my head wrapped around Object oriented languages. What that is....

QB64 did much more than make it convenient to reintegrate my projects into the Windows environment, it gave me simple tools to expand my efforts to mouse ops and graphics without the learning curve overhead that I was faced with before. I'm a hobby coder, and haven't the time or inclination otherwise. For the first time ever, I feel like I could have a shot at writing real world Windows aps that someone besides myself could use. Albeit simple ones in my case.

Whatever the ultimate vision for QB64 is, you guys can be rightly proud of what you have created, it definitely rocks for guys like me.

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: What is the Vision for QB64?
« Reply #14 on: October 19, 2018, 07:37:04 pm »
Hi guys

Quote
- Is QB64 a hobby language that will remain a hobby language?
- Is QB64 dedicated primarily to a BASIC of the past?
- Does QB64 have any aspirations to become widely utilized?
- Where would you like to see QB64 be in 1 year, 3 years, and 5 years?

1. QB64 is as hobby language as all other modern languages. I think that for users (coders in QB64) it is a wonderful present to use following the original phylosophy of BASIC, also if QB64 has born like the modern (in actual machine with 32/64bit OSes) version of QuickBasic of Microsoft.
As practical response you can see some tool for programming like library created by different clever coders.

2. Originally QB64 has had as goal to cover the functionality of QuickBasic and QBasic, not of other BASIC like TurboBasic or VisualBasic for Dos or AmigaBASIC or VisualBasic . Then it seems to develope itself features like OpenGl support, direct managment of different hardwares like mouse, joystick and others, managment of different type of file like sounds, images, animations.

3. surely Yes, I and a good part of community of QB64 think so

4. like a ship in the fog so QB64 now is in the centre of the sea of possibility, maybe it arrives to be competitor of VB or of SmallBasic  or of VisualBasic Net. For now I pray that it doesn't follow the end of RapidQ.

About to be BASIC
Quote
So, now that I've opened the "its not BASIC" position
Quote
Oh yes, and its BASIC!

just a smile about definition of BASIC wikipedia
English version
Quote
BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code)[2] is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College
https://en.wikipedia.org/wiki/BASIC

Italian version
Quote
Il BASIC è un linguaggio di programmazione ad alto livello sviluppato nel 1964 presso l'Università di Dartmouth sul calcolatore GE-225 dai professori John George Kemeny e Thomas Eugene Kurtz.

back to english by translator
BASIC is a high-level programming language developed in 1964 at the University of Dartmouth on the GE-225 computer by professors John George Kemeny and Thomas Eugene Kurtz.
https://it.wikipedia.org/wiki/BASIC
as you can see there are different versions of the hystory with some shared points like the first BASIC is that of Dartmouth and BASIC = Beginner's All-purpose Symbolic Instruction Code.

If you look at the original Dartmount BASIC,  only who uses variable name of one letter, one statement in a row of code, number of lines of code, compiling source into exe can be BASIC
if you look at the principle used to create Darthmouth BASIC
Quote
The Dartmouth BASIC was written following some principles:

it was easy to use by beginners;
it was a language of general use;
was interactive;
had more advanced features for more experienced users;
he had clear error messages;
was quick to run small programs;
it was abstracted from the hardware (it did not require, that is, the knowledge of the specifications of the machine it was running on);
isolate the user from the operating system.
we can affirm that QB64 is a good BASIC cousin.

Just a curiosity:
in Italian version of wikipage there are some links to QB64 as a modern BASIC language multiplatform, in the english version of wikipage QB64 is talked only as one of the dialects of BASIC after 1990. :-)
If you want see the other cousins of QB64  this is the list of BASIC dialects https://en.wikipedia.org/wiki/List_of_BASIC_dialects#X

My wishlist:
* full compatibility of QB64 with local language of user
* completed set of functions/keywords to manage files
* a debug session with interpeter (real or emulated like in TurboBasic)--> can be used vWatch to get this?
* a well documented set of functions/keywords to manage hardware at low level
* a more integrated GUIFormer and EventDriven editor
* a set of webSubscript functions
* a database system....
and more and more....

Great the QB64 community!

 

Programming isn't difficult, only it's  consuming time and coffee