Obviously, the experiment went really well. So, rewriting RC6 was added to my work plan. I didn't start on it right away, mainly for two reasons: on one hand, I don't have time to do things outside of my plan right now, and on the other hand, I want to know what Olaf thinks.
If Olaf doesn't intend to continue upgrading RC6, would he mind if someone else used AI to rewrite it?
Edit:
I saw that someone in CodeBank has already rewritten RC6.WebView and RC6.Sqlite using AI, which is great. But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
Last edited by SearchingDataOnly; Yesterday at 09:18 AM.
But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
Maybe just me but I tried RC6/Cairo and although it was pretty good, I didn't find a single thing (for my needs anyway) that I can't also do with GDI32/GDI+. I use DIB back buffering and so most all of my graphics related stuff is very fast and very smooth.
I personally found no compelling reason to switch to RC6/Cairo beyond perhaps the built-in SVG support.
Maybe just me but I tried RC6/Cairo and although it was pretty good, I didn't find a single thing (for my needs anyway) that I can't also do with GDI32/GDI+. I use DIB back buffering and so most all of my graphics related stuff is very fast and very smooth.
I personally found no compelling reason to switch to RC6/Cairo beyond perhaps the built-in SVG support.
Using RC6 is to prepare for possible 'cross-platform' use in the future.
Attached is a code editor similar to VSCode developed with RC6.Cairo, and it has most of the features of a Web UI.
Last edited by SearchingDataOnly; Yesterday at 02:03 PM.
RC6 is not just Cairo is more.
I think the first thing is to create a "Cairo" only class.
using AI it should be possible to create such thing.
the rest of RC6 should be divided into separate projects.
since I use direct2d/wic theres no plan to spend time on Cairo
but Im sure, if I never started using Direct2d I would have a working Cairo without the reg-stuff u need with RC6.
as u know Im anti-RC6 because of how heavy it is and the registration thing.
the first step is PhotoDemon, as it uses Cairo, learn from it and create the class from it.
I saw that someone in CodeBank has already rewritten RC6.WebView and RC6.Sqlite using AI, which is great. But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
Amazing breakthrough for AI not anything else. . .
I’m rewriting parts of RC6 and posting in Codebank and everyone else is ripping me off with their feeble AIs :-)) but only parts that I’m personally using. I couldn’t give a monkey’s a** if you need Cairo for your glorious projects though.
RC6 is not just Cairo is more.
I think the first thing is to create a "Cairo" only class.
using AI it should be possible to create such thing.
the rest of RC6 should be divided into separate projects.
since I use direct2d/wic theres no plan to spend time on Cairo
but Im sure, if I never started using Direct2d I would have a working Cairo without the reg-stuff u need with RC6.
as u know Im anti-RC6 because of how heavy it is and the registration thing.
the first step is PhotoDemon, as it uses Cairo, learn from it and create the class from it.
You and I have different hobbies; I prefer a complete and stable set of tools.
IMO, rewriting RC6 with AI is totally doable, but 99% of the time will be spent on testing. So, for the next few years, I'll still keep using RC6.
I'm glad to know that PhotoDemon uses Cairo. When I have time, I'll check it out and learn about it.
Amazing breakthrough for AI not anything else. . .
I’m rewriting parts of RC6 and posting in Codebank and everyone else is ripping me off with their feeble AIs :-)) but only parts that I’m personally using. I couldn’t give a monkey’s a** if you need Cairo for your glorious projects though.
Bummer. . . for you!
You continue to post useful stuff for others on CodeBank, which is really great, and I truly admire what you're doing.
However, the code you post is of no use to me at all—I never use any of your code. Do you know why?
Because you always have the habit of "making simple problems complicated," and this way of thinking makes it hard for you to find the best solution. Olaf, on the other hand, does the opposite. Olaf can always simplify very complex problems, which is a basic quality that all programming masters have, and I have that quality too.
We can imagine it this way: if a top programming master can simplify a project with complexity 10 down to 1, then he can also simplify a project with complexity 10,000 down to 1,000. This way, he can develop the project with his own ability, meaning he can handle projects with a complexity of 10,000.
But you always complicate simple things. You would take a project with complexity 10 and make it 30-50. Similarly, you would take a project with complexity 200 and make it 6,000-10,000. As a result, the complexity you can handle is limited to only around 200-300. So, you can never make very complex and large projects because your way of thinking limits the height of your technical skills.
Your JsonParser and Lexer are typical examples of making simple problems complicated. They are good code, but not excellent code. Don't underestimate my standards and sense of aesthetics when it comes to software code.
I truly respect your contributions to this forum, so I don't want to humiliate you. But if you keep provoking, the only one who gets hurt is yourself.
Also, about the few threads you posted on CodeBank related to RC6, I only looked at the titles; I don’t have the time or interest to look at your code. Help those who actually need your help instead of wasting time in my threads.
Edit:
Of course, AI can now make up for some of your shortcomings, but AI can't help you be innovative. Some things can only be solved through innovation.
Last edited by SearchingDataOnly; Today at 03:28 PM.
Based on what I've learned about AI recently, there's no problem rewriting RC6 with AI, but it would take a lot of time to test and optimize the AI-written code, which could discourage many people. And the biggest features of RC6 are stability and high performance, so for the next few years, I'll still continue using RC6.
Last edited by SearchingDataOnly; Today at 03:34 PM.
I find that LLMs are pretty good at generating tests...you could prompt it to write tests that compare results of RC6 methods vs. your replacement classes and report discrepancies...feed those back into the AI that generated your replacement class and ask it to patch parts appropriately so results match RC6 exactly in those cases. Eventually you should get to "good enough" for your purposes.
That said, if you're wanting to stick with VB6 @ 32-bit, then I don't see any reason the use anything other than RC6 - it works, it's well tested in the real world, and it's quite comprehensive in terms of what it offers (there's not much that it is missing that I can think of). The main purpose I can see for a rewrite is for twinBASIC 64-bit compatibility.
I find that LLMs are pretty good at generating tests...you could prompt it to write tests that compare results of RC6 methods vs. your replacement classes and report discrepancies...feed those back into the AI that generated your replacement class and ask it to patch parts appropriately so results match RC6 exactly in those cases. Eventually you should get to "good enough" for your purposes.
Very good advice. Right now, I'm indeed having DeepSeek help me write some compiler test code, and it's really efficient.
Originally Posted by jpbro
That said, if you're wanting to stick with VB6 @ 32-bit, then I don't see any reason the use anything other than RC6 - it works, it's well tested in the real world, and it's quite comprehensive in terms of what it offers (there's not much that it is missing that I can think of). The main purpose I can see for a rewrite is for twinBASIC 64-bit compatibility.
At the moment, I don't have a need for 64-bit software, and RC6 completely meets my current work requirements. It's just that I've already built a lot of code on this closed-source third-party library, RC6, which makes me very uneasy. Especially as a Chinese person, we always face the risk of some tools being cut off. So sometimes I wish I could have a 'backup' option, so that if RC6 becomes unusable, my work won't be interrupted.
if a top programming master can simplify a project with complexity 10 down to 1, then he can also simplify a project with complexity 10,000 down to 1,000.
OK, and what happens if that programmer simplifies that program twice, or three times... or n times?
My question is if the simplification will stop on 1 or could go below 1.