Re: Euphoria.NET?
- Posted by krg Jul 16, 2012
- 1659 views
Greg, you're right.
Euphoria is really 2 things: a language and a runtime environment. Porting the Euphoria language to .NET (or Java) or some other runtime should not be too difficult. However, porting Euphoria's runtime environment to .NET may not only be difficult, but might lose the very essence (and high performance) that Euphoria brings to the table.
From what I can see, the Euphoria runtime seems to have been built on a Forth-like model. For those familiar with Forth, you can get very high performance (and I'm simplifying a lot here) by replacing subroutine calls and returns with direct machine language jumps from one routine to another. If you get deeper into the internals of the Euphoria runtime, you can really appreciate the clever things Rob Craig did to make Euphoria really, really fast.
I'm not sure that any Forth model (Euphoria included) would port well to a .NET or Java virtual machine, and even if it did, you would likely lose a lot of the performance that Euphoria brings to the table.
The minor upside, however, is that Euphoria.NET would be able to take advantage of libraries and code written in other .NET languages. However, I've found that if you're going to use .NET, you're better off using C#, a language which was purpose-built for .NET.
I am sure the current Euphoria maintainers would be able to shed further light on this, and also correct any wrong assumptions I may have stated above.
KRG