Author Topic: Graphical IDE. Should we all pitch in and make one?  (Read 1445 times)

Offline keybone

  • My name a Nursultan Tulyakbay. I get iPod Mini!
Graphical IDE. Should we all pitch in and make one?
« on: July 01, 2018, 12:28:44 AM »
I know of at least 5 different GUI projects including my own.

I work on windowing, fellippe did a framework (inform), ashish did a framework with a simple window too, _vince made a windowing system, terryritchie made one on qb64.net (inaccessible right now), stxaxtic made one at one point for mathblab. unseenmachine did a framework/windowing system...

The point is a lot of work has already been done and if we put it all together and used it to build an IDE it would be pretty dope.

Maybe we could all pitch in and make a graphical IDE for qb64... just a thought.

Let me know if anyone else thinks this is a good idea or has any input.
My neighbor Borat he a pain in my assholes. I get a window from a glass, he get a window from a glass. I get a step, he must get a step. He get clock radio I cannot afford!

Offline keybone

  • My name a Nursultan Tulyakbay. I get iPod Mini!
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #1 on: July 01, 2018, 12:36:26 AM »
My thoughts on the subject are:

We need a few things to make it work:

1) Pull down menus (main menu across top of screen
2) Pop-up menus (context menus)
3) Desktop manager (Initialize and place background, and screen/display)
4) Window manager (Resize, move, iconize, zoom, restore to window (from maximized or minimized)
5) Icons (so you can minimize a document and restore a different one)

6) a widget framework to build interface inside windows and dialog boxes, etc. (he have inform which is great :) _)
7) mouse handling functions (gotta find the best way to do it, maybe an external library?)
8) keyboard handling functions (gotta make it robust :) )

Im probably missing stuff but this was a list off the top of my head.

I have a lot of code already written but have been working on version 2.0 of my gui and havent finished yet.
version 1.0 is still available but is a royal pain in the ass to actually program for. :D


My neighbor Borat he a pain in my assholes. I get a window from a glass, he get a window from a glass. I get a step, he must get a step. He get clock radio I cannot afford!

Offline keybone

  • My name a Nursultan Tulyakbay. I get iPod Mini!
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #2 on: July 01, 2018, 12:39:03 AM »
The window manager can be left out if you want a single document interface application.
I personally think it would be cool to have a setup with a multiple document interface though.
Plus if it was able to be done, it would be a good demo of qb64's capabilities.
My neighbor Borat he a pain in my assholes. I get a window from a glass, he get a window from a glass. I get a step, he must get a step. He get clock radio I cannot afford!

Offline keybone

  • My name a Nursultan Tulyakbay. I get iPod Mini!
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #3 on: July 01, 2018, 12:41:22 AM »
My thoughts on the subject are:

We need a few things to make it work:

1) Pull down menus (main menu across top of screen
2) Pop-up menus (context menus)
3) Desktop manager (Initialize and place background, and screen/display)
4) Window manager (Resize, move, iconize, zoom, restore to window (from maximized or minimized)
5) Icons (so you can minimize a document and restore a different one)

6) a widget framework to build interface inside windows and dialog boxes, etc. (we have inform which is great :) _)
7) mouse handling functions (gotta find the best way to do it, maybe an external library?)
8) keyboard handling functions (gotta make it robust :) )

Im probably missing stuff but this was a list off the top of my head.

I have a lot of code already written but have been working on version 2.0 of my gui and havent finished yet.
version 1.0 is still available but is a royal pain in the ass to actually program for. :D
My neighbor Borat he a pain in my assholes. I get a window from a glass, he get a window from a glass. I get a step, he must get a step. He get clock radio I cannot afford!

Offline Ashish

  • The joy of coding is endless.
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #4 on: July 01, 2018, 04:44:32 AM »
......
terryritchie made one on qb64.net (inaccessible right now)
......
I've a bundle of all Terry Ritchie library. I don't know which one you want.
Download it from the attachment.
if (Me.success) {Me.improve()} else {Me.tryAgain()}


aKFrameWork - http://bit.ly/aKFrameWork
Menu System - http://bit.ly/guiMenuBar
p5.js in QB64 - http://bit.ly/p5jsbas

@KingOfCoders

Offline keybone

  • My name a Nursultan Tulyakbay. I get iPod Mini!
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #5 on: July 01, 2018, 04:47:14 AM »
......
terryritchie made one on qb64.net (inaccessible right now)
......
I've a bundle of all Terry Ritchie library. I don't know which one you want.
Download it from the attachment.

I'll take all of them... It sucks .net being down for as long as it's been.
So much good stuff up there. :-/ Thanks for the link.
My neighbor Borat he a pain in my assholes. I get a window from a glass, he get a window from a glass. I get a step, he must get a step. He get clock radio I cannot afford!

Re: Graphical IDE. Should we all pitch in and make one?
« Reply #6 on: September 16, 2018, 08:41:51 PM »
My suggestion - and I'm surprised it hasn't been done yet:

We should strip the compiler down to it's core, and make it command line only.

Then build an extension for either Visual Studio Code or Atom (VSC would probably be the way to go).

That, or build the IDE using Electron.

Basically - every other language out there has some kind of plugin support or whatnot for both of these Electron-based IDEs. Those IDEs support a ton of other features, etc.

Sure, we could make a new GUI IDE - or re-vamp the existing text IDE - but doing so will continue to relegate QB64 to being a "toy language" (it already has enough baggage with the BASIC moniker, like all such BASIC variants do).

So - a decision by the community might need to be made: Do we want to stay a niche hobbyist language, or do we want to expand toward something more serious?

Just a thought - I'm not wedded to anything right now (there's so many choices in languages out there - it's crazy).

Also - when is QB64 going to get a wrapper for TensorFlow? /s

Offline PMACKAY

  • LIFE is Temporary
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #7 on: September 18, 2018, 10:25:45 AM »
I hope we keep the one that is already qb64.. i have kind of grown to love it and works fine...
« Last Edit: September 18, 2018, 11:00:15 AM by PMACKAY »
MackyWhite

Online FellippeHeitor

  • QB64 Developer
  • LET IT = BE
    • QB64.org
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #8 on: September 18, 2018, 10:47:50 AM »
We're keeping it, rest assured.

Online FellippeHeitor

  • QB64 Developer
  • LET IT = BE
    • QB64.org
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #9 on: September 18, 2018, 10:51:19 AM »
My suggestion - and I'm surprised it hasn't been done yet:

We should strip the compiler down to it's core, and make it command line only.

Then build an extension for either Visual Studio Code or Atom (VSC would probably be the way to go).

That, or build the IDE using Electron.

Basically - every other language out there has some kind of plugin support or whatnot for both of these Electron-based IDEs. Those IDEs support a ton of other features, etc.

Sure, we could make a new GUI IDE - or re-vamp the existing text IDE - but doing so will continue to relegate QB64 to being a "toy language" (it already has enough baggage with the BASIC moniker, like all such BASIC variants do).

So - a decision by the community might need to be made: Do we want to stay a niche hobbyist language, or do we want to expand toward something more serious?

Just a thought - I'm not wedded to anything right now (there's so many choices in languages out there - it's crazy).

Also - when is QB64 going to get a wrapper for TensorFlow? /s

Turns out the compiler and the IDE are indeed two separate modules. The IDE is made up of two include files found in qb64.bas, which can safely be removed.

Command line compilation switches are a thing and I'd love to see extensions to existing IDEs targeting QB64. It's a matter of one sitting down and doing it, like RhoSigma has done for Notepad++ already: https://www.qb64.org/forum/index.php?topic=306.0

Re: Graphical IDE. Should we all pitch in and make one?
« Reply #10 on: September 18, 2018, 07:37:40 PM »
Can we have a facility to view included source files in the IDE? THIS would be quite useful, especially if you're trying to debug source with multiple $include or want to make a monolithic inclusive source AND make saving changes to $include files optional if they're changed in the IDE? And a smart replace that allows me to EASILY change types in subs so I don't have to rewrite subs to accommodate different non-udt data types? This would be a great addition to the functionality of the IDE, which BTW, in screen 0 is JUST fine. I'd like the view included files under the View menu. Yes, you have my permission to use OpenInclude() as you've modified it or my original. This will probably be the easiest approach.
« Last Edit: September 18, 2018, 10:07:46 PM by codeguy »

Re: Graphical IDE. Should we all pitch in and make one?
« Reply #11 on: September 18, 2018, 09:08:05 PM »
For the sake of contributing to the discussion, I'd like to say how much I support your efforts to focus development on an IDE, so much duplication in the open source world and often so little progress, everyone doing it separately and their own way. The best way is the one that gets completed.

My suggestions are firstly,  that an IDE coded in QB64 is a demonstration of the capabilities of the language, a statement of faith. Doing it another language, even if more appropriate for the job is an admission of failure on the part of the language. Creating it in QB64 means that we can all contribute, even if it is only bug-fixing. At the minimum we can all look at the code and learn. I know it is probably easier doing it the electron way but no-one will ever take QB64 seriously, a first class IDE with a 3rd world language is what they'll say. QB has limitations but Fellippe's Inform is a lesson on what you can add via some clever thinking, event-driven controls in QB? Done.

Second suggestion, make the IDE as familiar as possible. Either take the existing IDE and replicate it in a modern graphical form or follow another IDE from a similar stable and copy that. Doing it the VB6 way would gain a lot of BASIC adherents who being already familiar with that environment could just pick it up and use it. Some commonality here makes sense. The MS chaps did their job when creating the VB6 IDE and they created a first class environment for the time.

Whichever we choose - go for the one and stick to it! Personally I like the latter idea as I believe there are more programmers that know the VB6 IDE than the old QB45 version. I appreciate it won't be exactly the same but it would be a good guide to follow. I want a familiar and decent IDE in which I can code BASIC for multiple o/s.

I think the old QB IDE should be retained for historical purposes and just because it so quick and easy to use. We should never lose it. If it can be separated from the compiler then it should be.

-oOo-

Here is as an example of what NOT to do. The VB6 crowd have never managed to get it together and create an IDE replacement. They have so much talent but they spend so much time on bickering about the potential functionality of a new language and what an IDE should or shouldn't do that they never actually complete anything.

In comparison, the QB64 crowd seem so positive. I suppose the limitations of the QB language (not object orientated, not event driven) mean that we know exactly where we stand so we don't have to try to improve everything...

Fellippe's Inform is a great example of what a positive attitude can achieve.
« Last Edit: September 18, 2018, 09:16:34 PM by yereverluvinunclebert »

Offline Omerta7486

  • √𝜋²
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #12 on: September 19, 2018, 01:12:07 PM »
I personally think the IDE is fine for what this language does. It's mainly about the capabilities of the language that make it easier or harder to use. Would you rather have that flashy, new button on the IDE, or the ability to drop images into the pipeline BETWEEN refreshes? Would you rather have that sweet include manager, or better keyboard/mouse/controller/joystick support?

My personal wish list includes:
Stronger UDT support
Better function for bit level control
Better multi-assignment(it exists, but it's weak) e.g. a=b=4 where a=4 and b=4
Gyotdang += and -= operators, and ++/--(Which would give rise to the need for the == operator... I know, right?)

I feel like, personally for me, with those things and QB64's ability to pull in DLLs, this language could be a lot stronger but keep it's BASIC syntax.
The knowledge that's seeking the favor of another means the murder of self.

Latest version of my game, here  Omertris: Invasion

Offline TerryRitchie

  • Semper Fidelis
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #13 on: September 19, 2018, 01:24:06 PM »
My two cents: I really love the IDE in its current form. My own preference is to see the code and not be distracted by anything else, something that the QB45 editor offered and the QB64 IDE mimics perfectly. The color coding of the source code in QB64 is a huge plus too. I really like that.

If there were one major wish I had with the current IDE it would be separating the subs/functions from the main code like the QB45 editor did. My current project is hitting the 2000 line mark and while I can hop from sub to sub easily (F2) I still like the clean look of having the subs/functions hidden until I want to edit them.

If we must go to a more modern IDE format, for things such as event processing, then I would suggest looking at the VBDOS editor as inspiration.
g=c800:5 fixes everything

Online FellippeHeitor

  • QB64 Developer
  • LET IT = BE
    • QB64.org
Re: Graphical IDE. Should we all pitch in and make one?
« Reply #14 on: September 19, 2018, 01:26:56 PM »
My personal wish list includes:
(...)
Better multi-assignment(it exists, but it's weak) e.g. a=b=4 where a=4 and b=4
Gyotdang += and -= operators, and ++/--(Which would give rise to the need for the == operator... I know, right?)

Just to clear it up: a = b = 4 isn't a multiassignment in BASIC. If b = 4 then a = -1 in this case.

It's like you're making a conditional check:

a = (is b equal to 4? if true, the result is -1; if false, the result is 0)

And about ++ and -- as operators, I wouldn't hold my breath. Not because it'd be unfeasible to add, but because it's been agreed it'd escape the BASIC syntax realm.
« Last Edit: September 19, 2018, 01:29:54 PM by FellippeHeitor »