Re: Euphoria v. (not C)
- Posted by David Cuny <dcuny at DSS.CA.GOV> Jun 01, 1998
- 764 views
Alan wrote: >I posted a message in a CompuServe forum in the C section suggesting = that >people try Euphoria (which was uploaded to that forum by Robert Criag's >Compuserve User ID number). I kept the editorializing short as = possible, >most of it was C.DOC, Euphoria's propaganda pitch to C programmers. > >Someone wrote back: > >Alan, > >So what does it have that Perl or Java or Python or Tcl doesn't have? > >John Hmmm. That's a tough one. On that particular forum, I suspect that = Euphoria loses against most of the languages. All the languages = mentioned run on several platforms (DOS, Win32, Un*x). They all have = tons of documentation, and a lot of support. Most have cross-platform = capabilities, and GUI support. All of them are considered "industrial = strength". All of the languages have a strong backing of "university" = coders, since most come from a C/Unix heritage. This is in contrast to Euphoria, which only runs of the PC, has no = documentation you could buy "off the shelf", currently has little GUI = support, and no backing from Berkeley that I know of. [Perl] Perl is a specialized pattern matching language, like Awk. I don't know = that I'd use it for general programming. [Tcl/TK] Tcl's strength is TK. Tcl is basically a 'glue' language, letting you = easily add functions to a macro language. TK makes it easy to add a GUI = front end. The syntax is logical - and horrible. [Python] Python is the successor to ABC - a language I finally abandoned before = coming back to Euphoria. Python presents some pretty innovative ideas. = For example, it also uses sequences, so you can write stuff like: {x,y} =3D position() which I only *wish* we could do in Euphoria. It also uses indentation = for program structures, so you would write something like this: for i =3D 1 to length( s ) do puts( 1, s & "\n" ) No need for an "end for". It's also interpreted. But it's got a lot of DLL's that it needs, and the environment isn't as = friendly. [Java] Java is to C++ what Euphoria is to C. It gets rid of pointers, makes = strings first class citizens, and interprets the code rather than = compiling it. But like C++, it carries with it the bloat of a large = class library. [Conclusion] I don't know that I'd get involved in a language war. I'd say that, = similar to Java, Euphoria presents a "more rational" way of coding C - = no pointers, interpreted code, automatic garbage collection, sequences, = and a great debugger. It's a very comfortable language for coding small = to medium applications that might have otherwise been coded in C. And = the resulting code can be distributed as a fairly small EXE, without = needing any special DLLs. If someone was considering coding a DOS project in C, I'd suggest = Euphoria as an alternative. -- David Cuny