1. work begins on RedyCode 2.0
- Posted by ryanj Jan 11, 2021
- 4083 views
Hello, everyone!
I haven't worked on RedyCode since version 1.0 was released a year and a half ago. But i have been using it for a few projects. I hope someone out there got some use out of it as well.
After learning more about programming languages and techniques, and with my growing frustration of Euphoria development being stagnant, and my dislike of C/C++ syntax, i think it's time to begin working on RedyCode 2.0 with the goal of modernizing it to be a high-quality cross-platform GUI application IDE.
It will continue to be based on Euphoria for now, but i may add Phix support. And i'm seriously considering making my own programming language to integrate into RedyCode and possibly change the name someday. I'm not sure what it's going to look like yet, but i am starting the planning phase now!
2. Re: work begins on RedyCode 2.0
- Posted by katsmeow Jan 11, 2021
- 4161 views
/me wishes Ry a great deal of luck, knowing Ry has the talent to make it happen.
4. Re: work begins on RedyCode 2.0
- Posted by Icy_Viking Jan 11, 2021
- 4051 views
Sounds interesting. I look forward to the development of RedyCode 2.0
5. Re: work begins on RedyCode 2.0
- Posted by ryanj Jan 23, 2021
- 3987 views
Is anyone still using RedyCode 1.0? Or did anyone try it and decide not to use it for specific reasons?
6. Re: work begins on RedyCode 2.0
- Posted by dr_can Jan 24, 2021
- 3974 views
Yes, I am still using it for a number of projects. I would have to confess, however, that I prefer VSC and Atom as editors (both now have OE features) and I usually use WEE when I want some "quick" IDE service.
I wish you all the best for the next development.
7. Re: work begins on RedyCode 2.0
- Posted by ChrisB (moderator) Jan 24, 2021
- 3957 views
Hi
I quite liked it and started using it for a project or two, but I found the lack of documentation for controls, and just how to do something frustrating. It's easy to overlook documentation (also guilty) when you write the program, and know how everything works, and stuff is 'just obvious', but sometimes the simplest thing to us creates a complete block in the user.
I don't know what documentation system you are using, but it is useful to have it embedded in the code, and then allow it to be extractable from it.
Cheers
Chris
8. Re: work begins on RedyCode 2.0
- Posted by ryanj Jan 25, 2021
- 3922 views
Yes, I am still using it for a number of projects. I would have to confess, however, that I prefer VSC and Atom as editors (both now have OE features) and I usually use WEE when I want some "quick" IDE service.
I wish you all the best for the next development.
Thanks for trying it.
9. Re: work begins on RedyCode 2.0
- Posted by ryanj Jan 25, 2021
- 3905 views
Hi
I quite liked it and started using it for a project or two, but I found the lack of documentation for controls, and just how to do something frustrating. It's easy to overlook documentation (also guilty) when you write the program, and know how everything works, and stuff is 'just obvious', but sometimes the simplest thing to us creates a complete block in the user.
I don't know what documentation system you are using, but it is useful to have it embedded in the code, and then allow it to be extractable from it.
Cheers
Chris
Are you saying you tried to use RedyLib to make GUI programs? Yes, it totally lacks documentation, and even i have trouble remembering how to use it. I constantly have to look at the source files to remember how to use the API.
I was hoping people would at least enjoy the Build system included in RedyCode that "just works" for building EXEs. But RedyCode does have flaws, like the lack of block selection and context-sensitive help. And there's an annoying bug in the Undo system. I still use RedyCode for every eu project and even as a generic text editor for looking at html or config files.
When i released RedyCode 1.0, i intentionally made it a generic Euphoria editor instead of trying to promote RedyLib API, because i realized how incomplete and undocumented it was.
Spending 10+ years developing a widget system and text editor from scratch was a HUGE learning experience, and i've been learning more programming concepts while trying to develop a game in Godot Engine (GDScript - a python-like built-in language). So i've been doing a lot of thinking about how to make a better IDE specifically for developing GUI applications. I may even try to create a new language based on the best parts of Euphoria, plus some other features based on concepts i've been learning in the last few years. I still don't know what RedyCode 2.0 will look like yet, but hopefully it will be a huge upgrade.
10. Re: work begins on RedyCode 2.0
- Posted by ChrisB (moderator) Jan 26, 2021
- 3882 views
Hi Ryan
Yes, a large amount of work, and appreciate the effort that went into it.
Are you saying you tried to use RedyLib to make GUI programs? Yes, it totally lacks documentation, and even i have trouble remembering how to use it. I constantly have to look at the source files to remember how to use the API.
I was hoping people would at least enjoy the Build system included in RedyCode that "just works" for building EXEs. But RedyCode does have flaws, like the lack of block selection and context-sensitive help. And there's an annoying bug in the Undo system. I still use RedyCode for every eu project and even as a generic text editor for looking at html or config files.
When i released RedyCode 1.0, i intentionally made it a generic Euphoria editor instead of trying to promote RedyLib API, because i realized how incomplete and undocumented it was.
Spending 10+ years developing a widget system and text editor from scratch was a HUGE learning experience, and i've been learning more programming concepts while trying to develop a game in Godot Engine (GDScript - a python-like built-in language). So i've been doing a lot of thinking about how to make a better IDE specifically for developing GUI applications. I may even try to create a new language based on the best parts of Euphoria, plus some other features based on concepts i've been learning in the last few years. I still don't know what RedyCode 2.0 will look like yet, but hopefully it will be a huge upgrade.
Cheers
Chris
11. Re: work begins on RedyCode 2.0
- Posted by petelomax Jan 26, 2021
- 3899 views
What platform(s) are you going to target? Windows? Linux? Mac? Android? iOS? Browser? Server?
12. Re: work begins on RedyCode 2.0
- Posted by Icy_Viking Jan 29, 2021
- 3833 views
I tried playing around with RedyCode 1.0. I tried using it for its widgets/GUI system, but found it very cumbersome to program in. So I think for RedyCode 2.0, a easier to use widget system would be much better. Maybe something more akin to win32lib but with a more OS agnostic system. Just my thoughts.
13. Re: work begins on RedyCode 2.0
- Posted by ryanj Jan 31, 2021
- 3812 views
And looking forward to the trying the next release, but please please please document such a huge undertaking as you go - you'll curse it now, but be thankful for it later!
Documentation will be high priority for the next release.
What platform(s) are you going to target? Windows? Linux? Mac? Android? iOS? Browser? Server?
I'll stick to Windows during development, since redylib is already very stable and fast with it's custom win32api wrapper. After features are complete and stable, i'll focus on writing a wrapper for Linux. Other platforms would be nice, but i'm not committing to anything beyond Windows and Linux yet.
I tried playing around with RedyCode 1.0. I tried using it for its widgets/GUI system, but found it very cumbersome to program in. So I think for RedyCode 2.0, a easier to use widget system would be much better. Maybe something more akin to win32lib but with a more OS agnostic system. Just my thoughts.
I agree, the widget system is very cumbersome to use. And even though it has some really interesting features, there's no documentation about them.
I think the problem is a combination of:
- limitations of Euphoria itself for dealing with things like event-based, data-oriented, or object-oriented concepts
- design decisions i made early on without knowing how complex it would become as more and more features were added
- RedyCode itself becoming so difficult to develop that i couldn't add the context-sensitive help and visual widget layout editor like i wanted to.
so, moving forward with 2.0, i'm thinking about how to make improvements in stages, without having to rewrite too much from scratch.
14. Re: work begins on RedyCode 2.0
- Posted by Icy_Viking Jan 31, 2021
- 3796 views
And looking forward to the trying the next release, but please please please document such a huge undertaking as you go - you'll curse it now, but be thankful for it later!
Documentation will be high priority for the next release.
What platform(s) are you going to target? Windows? Linux? Mac? Android? iOS? Browser? Server?
I'll stick to Windows during development, since redylib is already very stable and fast with it's custom win32api wrapper. After features are complete and stable, i'll focus on writing a wrapper for Linux. Other platforms would be nice, but i'm not committing to anything beyond Windows and Linux yet.
I tried playing around with RedyCode 1.0. I tried using it for its widgets/GUI system, but found it very cumbersome to program in. So I think for RedyCode 2.0, a easier to use widget system would be much better. Maybe something more akin to win32lib but with a more OS agnostic system. Just my thoughts.
I agree, the widget system is very cumbersome to use. And even though it has some really interesting features, there's no documentation about them.
I think the problem is a combination of:
- limitations of Euphoria itself for dealing with things like event-based, data-oriented, or object-oriented concepts
- design decisions i made early on without knowing how complex it would become as more and more features were added
- RedyCode itself becoming so difficult to develop that i couldn't add the context-sensitive help and visual widget layout editor like i wanted to.
so, moving forward with 2.0, i'm thinking about how to make improvements in stages, without having to rewrite too much from scratch.
Well perhaps the new version of Euphoria will be released that should have support for a struct type, which might help with event and object oriented stuff, before RedyCode 2.0 is ready to be written.
15. Re: work begins on RedyCode 2.0
- Posted by petelomax Feb 01, 2021
- 3809 views
What platform(s) are you going to target? Windows? Linux? Mac? Android? iOS? Browser? Server?
I'll stick to Windows during development, since redylib is already very stable and fast with it's custom win32api wrapper. After features are complete and stable, i'll focus on writing a wrapper for Linux. Other platforms would be nice, but i'm not committing to anything beyond Windows and Linux yet.
I believe that is officially known as a dead duck, see https://openeuphoria.org/forum/134908.wc?last_id=134927#134927
I hate to break the news to you, but you'll be lucky to get 5 users on anything desktop-only these days. Just so you know.
16. Re: work begins on RedyCode 2.0
- Posted by irv Feb 01, 2021
- 3797 views
I hate to break the news to you, but you'll be lucky to get 5 users on anything desktop-only these days. Just so you know.
Sales of desktop/laptop computers has been steadily declining for years, with a recent reprieve due to Covid. These sales aren't generally to people who have any interest in writing programs, they're just necessary tools they buy so they can do their office work remotely.
Besides which, writing a program which does something useful, like, for example, balancing your checkbook, is hard *. It's so much easier to just say "Alexa, am I broke yet?"
* the complexity of the tools required to "just get it done" increases exponentially, while the demand for stuff you might create once you learn to use those tools is evaporating.
17. Re: work begins on RedyCode 2.0
- Posted by ryanj Dec 01, 2021
- 3499 views
Well...almost a year has passed and I still haven't worked on RedyCode 2.0, except for a few minor new features in some of the widget classes. However, I have been thinking a lot about what improvements to make on 2.0 while working on two other Euphoria projects in the real world.
- I made a temperature sensor monitor that runs on the Raspberry Pi for Kat and myself. It is still a work in progress. I will add the ability to control outputs soon (for controlling fans, for example). I am having trouble figuring out a good way to control/monitor it remotely. I'll probably have to spend some time making a proper network interface so a Redy-based GUI program on a Windows PC can connect to the program running on the Raspberry Pi.
- I am currently working on an unusual XML-based database intended for managing inventory, contacts, projects, or other general information. It uses the redylib to generate forms, lists, buttons, etc to view/edit records based on the db.xml file that defines properties of tables and fields. It has a unique feature of letting you browse an automatically-generated folder for each record to store files such as datasheets, design files, source code, etc.
I learned a lot working on the XML parser. It works better than the hack-job that highlights XML in RedyCode 1.0. I will definitely take what I learned from my new parser and incorporate that into a new real-time syntax parser (for various types of files) and context-sensitive help system in version 2.0.
I'd be happy to release the source code for both projects if anyone is interested. But they both need more work first.
18. Re: work begins on RedyCode 2.0
- Posted by ryanj May 20, 2022
- 3145 views
I am now working on my own scripting language! For now, it's called RedyScript. It is based on Euphoria syntax but more simplistic. So far, I have a working tokenizer and I am making progess on a parser. The parser will feed into a virtual machine runtime engine. Eventually, I’d like to make a C version of the runtime engine which will allow faster execution and true multi-threading. It would also be possible to make a transpiler, to convert the programs to other languages (convert to C and compile with GCC, for example).
The runtime engine will be able to run multiple programs at the same time, which can be tokenized, parsed, run, scheduled, paused, or killed at any time. Programs can communicate with each other and the host program.
There will be integrated debugging and control features, so the host program knows if a program has a syntax error and can't run, or if it has a runtime error (crash), with access to all program data. An important feature is: it will not have any command line commands at all! It will be pure API calls for a host program to use.
RedyCode 2.0 will be the "ultimate" host program, demonstrating a fully-integrated editor that understands everything about the program you are editing/running, because it will communicate with the scripting engine in real-time.
19. Re: work begins on RedyCode 2.0
- Posted by mitgedanken May 27, 2022
- 3006 views
Where do you host your source code?
RedyCode @github Is empty.
20. Re: work begins on RedyCode 2.0
- Posted by ryanj May 27, 2022
- 2988 views
Where do you host your source code?
RedyCode @github Is empty.
I forgot I used to host it on github. Now, if you download Version 1.0.0 from https://redy-project.org/ the source code is included as a project, where you can edit and run it, in RedyCode, recursively. 8-)
21. Re: work begins on RedyCode 2.0
- Posted by ryanj Apr 21, 2023
- 940 views
I have been the most busy I have been in years...it's insane...had to drop all 50 gazillion projects to focus on my day job the last couple months...That saying "when it rains, it pours", it's true... I'm only posting this here because some software I wrote using my RedyCode 1.0 is actually proving to be useful in the real world, despite it's flaws. Most of my current work has to do with micro-controller programming and PCB design, but because of all the hard work I did writing my RedyCode stuff in OE, I was able to make a pretty good set of specific Redy/OE tools for monitoring/debugging/configuring various hardware devices over an FTDI usb serial cable. It's kindof a hack job, and I never seem to have time to make the improvements I'd like to (and share with the public), but it has been extremely useful! I feel like all of that hard work was worth it, although I'm never satisfied completely, because I can always think of improvements that need to be made. But I thought I'd share this, because it is technically a success story for OE! So, devs, please keep working on OE. Please try to modernize it with multi-threading etc. because if I wasn't so busy, I would have abandoned it by now. I just haven't had the time/energy to abandon it yet, so i keep chugging along, doing the best I can to work around it's flaws, and I can't do that much longer...I understand, you probably are too busy to work on it as much as you'd like. I wish I could help, maybe I can later. I'm not really sure what to do, it's really frustrating having too much to do, but not enough time and energy. So many things end up getting set aside...
22. Re: work begins on RedyCode 2.0
- Posted by ChrisB (moderator) Apr 21, 2023
- 932 views
Life, eh? Sympathise.
Chris