1. work begins on RedyCode 2.0

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!

new topic     » topic index » view message » categorize

2. Re: work begins on RedyCode 2.0

/me wishes Ry a great deal of luck, knowing Ry has the talent to make it happen.

new topic     » goto parent     » topic index » view message » categorize

3. Re: work begins on RedyCode 2.0

Thanx smile

new topic     » goto parent     » topic index » view message » categorize

4. Re: work begins on RedyCode 2.0

Sounds interesting. I look forward to the development of RedyCode 2.0

new topic     » goto parent     » topic index » view message » categorize

5. Re: work begins on RedyCode 2.0

Is anyone still using RedyCode 1.0? Or did anyone try it and decide not to use it for specific reasons?

new topic     » goto parent     » topic index » view message » categorize

6. Re: work begins on RedyCode 2.0

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.

new topic     » goto parent     » topic index » view message » categorize

7. Re: work begins on RedyCode 2.0

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

new topic     » goto parent     » topic index » view message » categorize

8. Re: work begins on RedyCode 2.0

dr_can said...

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. smile

new topic     » goto parent     » topic index » view message » categorize

9. Re: work begins on RedyCode 2.0

ChrisB said...

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.

new topic     » goto parent     » topic index » view message » categorize

10. Re: work begins on RedyCode 2.0

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.

Yes, I did, and well, see what I mean!

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.

Couldn't find the documentation, or how-to, for that.


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.

Didn't realise that.

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.

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!

Cheers

Chris

new topic     » goto parent     » topic index » view message » categorize

11. Re: work begins on RedyCode 2.0

What platform(s) are you going to target? Windows? Linux? Mac? Android? iOS? Browser? Server?

new topic     » goto parent     » topic index » view message » categorize

12. Re: work begins on RedyCode 2.0

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.

new topic     » goto parent     » topic index » view message » categorize

13. Re: work begins on RedyCode 2.0

ChrisB said...

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.

petelomax said...

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.

Icy_Viking said...

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:

  1. limitations of Euphoria itself for dealing with things like event-based, data-oriented, or object-oriented concepts
  2. design decisions i made early on without knowing how complex it would become as more and more features were added
  3. 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.

new topic     » goto parent     » topic index » view message » categorize

14. Re: work begins on RedyCode 2.0

ryanj said...
ChrisB said...

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.

petelomax said...

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.

Icy_Viking said...

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:

  1. limitations of Euphoria itself for dealing with things like event-based, data-oriented, or object-oriented concepts
  2. design decisions i made early on without knowing how complex it would become as more and more features were added
  3. 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.

new topic     » goto parent     » topic index » view message » categorize

15. Re: work begins on RedyCode 2.0

ryanj said...
petelomax said...

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.

new topic     » goto parent     » topic index » view message » categorize

16. Re: work begins on RedyCode 2.0

petelomax said...

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.

new topic     » goto parent     » topic index » view message » categorize

17. Re: work begins on RedyCode 2.0

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.

  1. 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.
  2. 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.

new topic     » goto parent     » topic index » view message » categorize

18. Re: work begins on RedyCode 2.0

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.

new topic     » goto parent     » topic index » view message » categorize

19. Re: work begins on RedyCode 2.0

Where do you host your source code?

RedyCode @github Is empty.

new topic     » goto parent     » topic index » view message » categorize

20. Re: work begins on RedyCode 2.0

mitgedanken said...

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-)

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu