Re: finally upgrading to openeu4
- Posted by mattlewis (admin) Feb 13, 2013
- 1578 views
OK, so I really think its time to upgrade to openEu 4. The only thing holding me back is looking at all the code I have written for 3.1 and being concerned about porting it all. I think that I might be gravely overestimating how much work this would actually be. Can someone reassure this coward and brush over what major considerations need to be made when updating a eu app from 3.1 to 4? Can both interpreters coexist side by side or do I need to completely flush 3.1 first? I understand there have been several changes to the include system... how is that going to impact some of my projects that have 10-12 includes? I am doing a lot of openGL right now... is 4 generally faster or slower then 3.1? I am mostly concerned about memory access.
The main issue you are likely to have are naming conflicts with new built-ins and reserved words. These are fairly easy to solve.
The include system is generally more robust. The behavior of globals has changed slightly (and, frankly, their use is discouraged as the scope system has been improved). In the event that you have problems, you should be able to solve them by using namespaces. Ultimately, your code should stop using the global scope in favor or export or public. This will likely require additional include statements where you have files that use global symbols in files and that rely on other files to include the files with the global symbols (that's harder to write and keep straight than it is to manage).
The legacy 3.1 standard library has been kept. Some things have moved around in the 4.0 standard library, but it's generally not difficult to port from 3.1 to 4.0.
I think the speed is generally about the same. I've found some things faster and slower on 4.0, though development time is definitely faster on 4.0. Built-in sequence functions in 4.0 that require lots of slicing in 3.1 are much faster. The standard library has a lot more functionality.
Matt