QB64 Phoenix Edition
possible programming challenge: a smart(er) IDE? - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: Chatting and Socializing (https://qb64phoenix.com/forum/forumdisplay.php?fid=11)
+--- Forum: General Discussion (https://qb64phoenix.com/forum/forumdisplay.php?fid=2)
+--- Thread: possible programming challenge: a smart(er) IDE? (/showthread.php?tid=969)

Pages: 1 2 3 4 5


RE: possible programming challenge: a smart(er) IDE? - Pete - 10-14-2022

"But even without the libraries, programmers would now have the option to write QB64 programs using a SYNTAX that they may be more familiar with. Options!! "

But would they still really be QB64 programs? I don't think so.

Fun though. It reminds me of Scotty talking into a mouse of a 20th century computer to try and build a transparent aluminum aquarium for a whale... Only it sounds like this "Smart" IDE project would be a wee bit harder.

Pete


RE: possible programming challenge: a smart(er) IDE? - madscijr - 10-14-2022

(10-14-2022, 06:07 PM)Pete Wrote: I got a kick out of Bill, too. You know he had a theoretical degree in physics!

Since IDE's exist for other languages, I think a universal IDE would be a high work to reward ratio. I'm not sure anyone will want to jump on that grenade. Hey, where's Clippy?! (BOOM!)

Pete

The big idea here and final goal is more that we can treat a programming language kind of how a Word processor treats a font - as more a part of the presentation than the actual content. Underneath it all, any program is ultimately a bunch of instructions to store and compare values, apply operations, do branching, and I/O. Of course a given program is a lot harder to translate into a different paradigm, but at the end of the day, they all compile (or are interpreted) to the same machine code instructions, which are not OO or anything other than very simple instructions. If we don't try to handle how to convert code between paradigms (we'll leave that for the day when AI is smart enough) and stick to the basic features that most procedural languages can do, then I think it is doable.


RE: possible programming challenge: a smart(er) IDE? - madscijr - 10-14-2022

(10-14-2022, 06:19 PM)Pete Wrote: "But even without the libraries, programmers would now have the option to write QB64 programs using a SYNTAX that they may be more familiar with. Options!! "

But would they still really be QB64 programs? I don't think so.

Fun though. It reminds me of Scotty talking into a mouse of a 20th century computer to try and build a transparent aluminum aquarium for a whale... Only it sounds like this "Smart" IDE project would be a wee bit harder.

Pete

Yeah, I think we wouldn't call them QB64 so much as "generic procedural programs" (GP64?)
The way you do things actually would be the same as in QB64, we're really just giving programmers the option to choose the SYNTAX they'd like to use. 

The same thing could be done using Python (or Cython) or JavaScript as the "base" language - where you do stuff the way it's done in that language but in other syntaxes. But QB can't do the OO features of those languages, so maybe the BASIC variant would be more VB. 

But this is QB64 so my vision here would be to just support procedural stuff. 

I really need to find you all the URL of that AI that converts code between languages!


RE: possible programming challenge: a smart(er) IDE? - Pete - 10-14-2022

"I really need to find you all the URL of that AI that converts code between languages!"

That would be cool to try! Just don't tell me I have to talk into my mouse to use it. (Steve would comment. Pete only talks OUT of his ASCII.)

Pete


RE: possible programming challenge: a smart(er) IDE? - madscijr - 10-14-2022

(10-14-2022, 06:40 PM)Pete Wrote: "I really need to find you all the URL of that AI that converts code between languages!"

That would be cool to try! Just don't tell me I have to talk into my mouse to use it. (Steve would comment. Pete only talks OUT of his ASCII.)

Pete

The weird thing about it was that when I fed it a certain function or program, and converted it, and then converted the same code subsequent times, each time it actually output notably different code, but they all worked the same way! So I don't know if it was using neural networks or what, but it seemed more "organic" than a machine, if that makes any sense!


RE: possible programming challenge: a smart(er) IDE? - SpriggsySpriggs - 10-14-2022

It sounds like a nice idea but I agree with whoever that this would be so much work for so little reward. What you'd probably want to start out doing first would be making a translator for Python by making new wrappers. Completely rewriting QB64 for Python. Then doing the same for JavaScript. THEN you'd need to make this whole new IDE that has the capability of just switching back and forth between these two. I've had enough trouble just trying to do the little bit that I've done with Python QB64. It's something that no one should spend any length of time on, in my opinion.


RE: possible programming challenge: a smart(er) IDE? - Pete - 10-14-2022

Maybe it's like that episode of Seinfeld, you know, where Kramer was pretending to be a moive-plex answering service... "Why don't you just tell me what movie you'd like to see?" Anyway, I hope the Kramer behind that "A.I." website doesn't develop carpal tunnel syndrome. Big Grin

Pete


RE: possible programming challenge: a smart(er) IDE? - madscijr - 10-14-2022

(10-14-2022, 06:57 PM)Spriggsy Wrote: It sounds like a nice idea but I agree with whoever that this would be so much work for so little reward. What you'd probably want to start out doing first would be making a translator for Python by making new wrappers. Completely rewriting QB64 for Python. Then doing the same for JavaScript. THEN you'd need to make this whole new IDE that has the capability of just switching back and forth between these two. I've had enough trouble just trying to do the little bit that I've done with Python QB64. It's something that no one should spend any length of time on, in my opinion.

At this point in the game, I'd tend to agree with you! 
This is more an intellectual exercise more than anything. 
Eventually I do think we'll have smart enough general AI or specialized AI, that it will be possible to automatically convert code to a different language on the fly. 
I think it could even be done now for a simplified subset, but I see your point about the work vs reward. 
It would definitely be more a labor of love for someone looking for a challenge, than a practical tool.

(10-14-2022, 06:59 PM)Pete Wrote: Maybe it's like that episode of Seinfeld, you know, where Kramer was pretending to be a moive-plex answering service... "Why don't you just tell me what movie you'd like to see?"  Anyway, I hope the Kramer behind that "A.I." website doesn't develop carpal tunnel syndrome. Big Grin

Pete

UPDATE: it's openai.com
Sign up for an account, and try this one 
https://beta.openai.com/playground/p/default-js-to-py?model=davinci-codex

I played with it about a year ago, and I ran into one weird problem, it's kind of politically correct! 
Check this out - it refused to convert one of the programs I fed it, 
saying the code was "unsafe". 
The error message didn't say what about the program was "unsafe", 
so I wrote their tech support, and they told me what line number the problem 
was in, and it provided a link to their page 
which included: 
  • Consider using regex or other methods to check for sensitive content in user inputs or API completions, making use of libraries such as bad-words. Upon detecting such words, you may wish to replace these with a stand-in (e.g., replacing swear words with symbols) or ask the user to submit different input information.

I looked in my program at the offending line, and it turned out to be a comment (not even code that executes!):

Code: (Select All)
// function can be called without the need to gook up the code with unwieldly escape sequences

Evidently their "safety checker" thought the word "gook" made it "unsafe"! 
Which is a little ridiculous, if you look at the context in which the word is used. 
The word is not being used to describe Viet Cong soldiers or Asian people, a lexical parser should be able to figure that out. 
But what can you do!

I removed that line and the program translated just fine! 

I just went back and tried converting a program with the above comment and it worked, so maybe they updated it! 

Anyway have fun with that!


RE: possible programming challenge: a smart(er) IDE? - madscijr - 10-14-2022

(10-14-2022, 06:57 PM)Spriggsy Wrote: It sounds like a nice idea but I agree with whoever that this would be so much work for so little reward. What you'd probably want to start out doing first would be making a translator for Python by making new wrappers. Completely rewriting QB64 for Python. Then doing the same for JavaScript. THEN you'd need to make this whole new IDE that has the capability of just switching back and forth between these two. I've had enough trouble just trying to do the little bit that I've done with Python QB64. It's something that no one should spend any length of time on, in my opinion.

Here you go: openai.com
Sign up for an account and give it a try. 
This page converts JavaScript to Python:
https://beta.openai.com/playground/p/default-js-to-py?model=davinci-codex

I don't remember how I found the specific page, but as I recall the site has other pages to convert from/to any number of languages.


RE: possible programming challenge: a smart(er) IDE? - Pete - 10-14-2022

I'm afraid to register. It might sell my personal information to a Terminator.

Pete