1. Translating Euphoria Apps -- Which compiler do you use?

Currently Euphoria on Windows/DOS supports:

  • DJGPP
  • LCC-Win32
  • Watcom
  • Borland

When you translate a Euphoria program to C and then compile, which compiler do you use? The dev team is thinking of dropping a few. Borland was last released in 2000 and it was the final release, never to be updated again, not even for bug fixes. LCC-Win32 is free only for non-commercial, you have to pay if you use it for educational or commercial purposes. DJGPP is for DOS only. Watcom is free, open source, easy to install and supports Windows 9x, Windows 2000, XP, Vista, Windows 3.x, DOS and FreeDOS. To help simplify the C code in Euphoria, we are thinking of dropping DJGPP, LCC and Borland and making Watcom the compiler for Windows and GCC the compiler for Unixes (as it currently is).

Thanks for any input,

Jeremy

new topic     » topic index » view message » categorize

2. Re: Translating Euphoria Apps -- Which compiler do you use?

I'll start... I use Watcom.

Jeremy

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

3. Re: Translating Euphoria Apps -- Which compiler do you use?

I use Watcom.

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

4. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

Currently Euphoria on Windows/DOS supports:

  • DJGPP
  • LCC-Win32
  • Watcom
  • Borland

When you translate a Euphoria program to C and then compile, which compiler do you use? The dev team is thinking of dropping a few. Borland was last released in 2000 and it was the final release, never to be updated again, not even for bug fixes. LCC-Win32 is free only for non-commercial, you have to pay if you use it for educational or commercial purposes. DJGPP is for DOS only. Watcom is free, open source, easy to install and supports Windows 9x, Windows 2000, XP, Vista, Windows 3.x, DOS and FreeDOS. To help simplify the C code in Euphoria, we are thinking of dropping DJGPP, LCC and Borland and making Watcom the compiler for Windows and GCC the compiler for Unixes (as it currently is).

Thanks for any input,

Jeremy

Watcom for windows.

I do have DJGPP installed but I've not tested it for DOS yet.

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

5. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

Borland was last released in 2000 and it was the final release,

think it isn't quite true, borland5 free version5 is old, but still worked fine for translating programs in v3,
though they may remove it at any time it can still be found. borland does have free trials of new compilers avaiable but I haven't kept up since minGW and watcom work well enough. borland was the one to beat at ome time, it's the end of another era.

I would try a minGW compile but don't care either way on the others besides watcom. those doing the maintaining should get extra conciderations.

is it really much more extra work to have the translator work in other compiers? vrs using other compilers to compile ex, exu exw etc? are we talking about both translating and compiling compilers?

maybe intel or microsoft would donate a compiler to do the distribution if they are interested in proving they have better technology.

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

6. Re: Translating Euphoria Apps -- Which compiler do you use?

I used to use Borland all the time. Lately, I've been using Watcom.

-Greg

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

7. Re: Translating Euphoria Apps -- Which compiler do you use?

I use watcom

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

8. Re: Translating Euphoria Apps -- Which compiler do you use?

I currently use OpenWatcom for Windows apps, and don't do DOS or Nix apps. I would use MinGW instead, if someone would make a library for it. MinGW is my favorite compiler when programming in C as is the associated GFortran compiler when programming in FORTRAN. OpenWatcom has blue ribbon roots - I used WatFor (Univ. of Waterloo Fortran) as my first compiler for doing serious work. But the Open community's C compiler development is proceeding at a snail's pace, perhaps because the developers are infatuated with C and their IDE. MinGW keeps up fairly well with the C standards.

A perhaps controversial corollary question is, "How important is the capability to do DOS apps?" Backward compatibility is a sea anchor. Isn't it time to label DOS app interpretation and compilation "obsolescent"?

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

9. Re: Translating Euphoria Apps -- Which compiler do you use?

kenneth said...

I currently use OpenWatcom for Windows apps, and don't do DOS or Nix apps. I would use MinGW instead, if someone would make a library for it. MinGW is my favorite compiler when programming in C as is the associated GFortran compiler when programming in FORTRAN. OpenWatcom has blue ribbon roots - I used WatFor (Univ. of Waterloo Fortran) as my first compiler for doing serious work. But the Open community's C compiler development is proceeding at a snail's pace, perhaps because the developers are infatuated with C and their IDE. MinGW keeps up fairly well with the C standards.

The problem with it on windows is it's about 30% slower than Watcom or MSVC getlost

kenneth said...

A perhaps controversial corollary question is, "How important is the capability to do DOS apps?" Backward compatibility is a sea anchor. Isn't it time to label DOS app interpretation and compilation "obsolescent"?

That's the best description I've heard yet of it! That sum's it up nicely. I'm not shy about my desire to loose DOS support, but other devs think it's still worth while, so for now I guess we will have it. I don't think any, many a tiny amount, of DOS development is going on these days so my desire would have been that 4.0 removes DOS support. If you want to do DOS dev, you can keep a copy of 3.1 around. Anyway, that's another thread smile

Jeremy

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

10. Re: Translating Euphoria Apps -- Which compiler do you use?

Borland 5.5 is still available, and is a 8.5MB download. Watcom is a huge download. At least one "small" c-compiler should be supported.

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

11. Re: Translating Euphoria Apps -- Which compiler do you use?

tomC said...

Borland 5.5 is still available, and is a 8.5MB download. Watcom is a huge download. At least one "small" c-compiler should be supported.

Please let this one small c-compiler be mingw, or at least LCC.

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

12. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

... I don't think any, many a tiny amount, of DOS development is going on these days so my desire would have been that 4.0 removes DOS support. If you want to do DOS dev, you can keep a copy of 3.1 around. Anyway, that's another thread smile

Jeremy

Out of curiosity, I did some Googling for DOS programs - didn't find many, and to be honest, the majority are really old, just out there for nostalgia or in case someone really needs a copy.

Very few new ones, and even those are pretty rough. I'm not saying they're poorly written, just that people now expect more from a computer than DOS can reasonably deliver. So they tend to be difficult to use. Not the sort of thing you could deliver to your boss or sell in computer stores.

And anyone who is writing little routines for his/her own use has probably migrated to Linux by now, anyway.

Just my 2 cents worth.

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

13. Re: Translating Euphoria Apps -- Which compiler do you use?

I use OpenWatcom.

And, outside of Euphoria development, hardly ever use a consoe program, DOS-based or other (tracert once in a xhile).

CChris

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

14. Re: Translating Euphoria Apps -- Which compiler do you use?

murphy said...
jeremy said...

... I don't think any, many a tiny amount, of DOS development is going on these days so my desire would have been that 4.0 removes DOS support. If you want to do DOS dev, you can keep a copy of 3.1 around. Anyway, that's another thread smile

Jeremy

Out of curiosity, I did some Googling for DOS programs - didn't find many, and to be honest, the majority are really old, just out there for nostalgia or in case someone really needs a copy.

Very few new ones, and even those are pretty rough. I'm not saying they're poorly written, just that people now expect more from a computer than DOS can reasonably deliver. So they tend to be difficult to use. Not the sort of thing you could deliver to your boss or sell in computer stores.

And anyone who is writing little routines for his/her own use has probably migrated to Linux by now, anyway.

Just my 2 cents worth.

To be fair, there is one DOS app I'd like to use again. It is an old text editor packed full with functionality, and with a proprietary macro language.

It does work.

Problem is, it is limited to the 16 basic DOS colors. They are unbearable for my eyes more than 10-15 minutes. When I had a vintage DOS machine, I could use an utility to remap the VGA colors. It just worked great. But it accesses the VGA card ports directly, and Windows wouldn't let it do that. I disassembled it, it is not too large, so I kow how it works.

I tried a couple programs that were supposed to help running old .COM programs which the driver is. They helped because they suppressed crashes, and I can change colors in VGA Master. But the colors are no longer reflected in the editor - nor to any other program -, which is eventually of no help.

If anyone knows how to tweak DOS basic colors under Winows XP, that would be cool. Perhaps then I can reengineer the program, either in Eu or any more suitable language. I don't for how long the IBM copyright is valid, but the driver is at least 20 year old.

CChris

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

15. Re: Translating Euphoria Apps -- Which compiler do you use?

I have a question. Does any developer on this list have borland? If not, how can you be supporting it? If you use standard C you should avoid most of the compiler specific problems. Have you thought about benchmarking?

The top level statement 'profile_time' is missing from the Windows version. Certanily, this has made profiling a matter of putting time() before and after statements of interest. Is there some reason Windows cannot support this?

Shawn Pringle

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

16. Re: Translating Euphoria Apps -- Which compiler do you use?

SDPringle said...

I have a question. Does any developer on this list have borland? If not, how can you be supporting it? If you use standard C you should avoid most of the compiler specific problems. Have you thought about benchmarking?

The top level statement 'profile_time' is missing from the Windows version. Certanily, this has made profiling a matter of putting time() before and after statements of interest. Is there some reason Windows cannot support this?

Yes, I have Borland. It is slower than Watcom. Watcom is slower that MSVC. Borland, Watcom and MSVC are faster than MinGW. I do not have any hard facts. Now, about using standard C. We cannot due to the C calling interface. Further, most of what makes Euphoria faster than other interpreters is it's use of non-standard features in the compiler. I would be very disappointed if we cease to use those features and go back to using INT_CODES for the interpreter which is a huge slowdown but standard C.

Jeremy

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

17. Re: Translating Euphoria Apps -- Which compiler do you use?

I suppose the benifit for supporting multiple compilers is that it is easier to cross compile. Standard C would be a good feature to have for those who want to port it to other platforms. Since you have it working on GNU-C I think you alrady have the perfect vector.

Shawn Pringle

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

18. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

Borland, Watcom and MSVC are faster than MinGW. I do not have any hard facts.

I took this quite personally.

So, I took eu 4.0 and ported it to compile under MinGW (with as high a level of optimization as I know how to do). The result: allsorts.ex claims equal speed for MinGW exu.exe vs OpenWatcom exw.exe (in some cases, OpenWatcom is faster by a few hundreths of a second. In other cases, MinGW is faster by a few hundreths of a second).

jeremy said...

Now, about using standard C. We cannot due to the C calling interface.

Jeremy

Not true. There is a generic C calling interface that doesn't require any assembly language at all. (It is not used because it has limitations compared to the normal C calling interface that we use, but it is possible. peu had it.)

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

19. Re: Translating Euphoria Apps -- Which compiler do you use?

jimcbrown said...
jeremy said...

Borland, Watcom and MSVC are faster than MinGW. I do not have any hard facts.

I took this quite personally.

So, I took eu 4.0 and ported it to compile under MinGW (with as high a level of optimization as I know how to do). The result: allsorts.ex claims equal speed for MinGW exu.exe vs OpenWatcom exw.exe (in some cases, OpenWatcom is faster by a few hundreths of a second. In other cases, MinGW is faster by a few hundreths of a second).

This is good news. I didn't go to the point of porting Eu. They were C benchmarks mainly from the great computer language shootout. It's possible the latest version of MinGW addresses some of the speed issues or that the speed issues show up mainly in loops, computations, recursive calling. The slowdown of MinGW is very well documented all over the net but I know for those reasons they have been working on it as well.

So, over all, what does this mean? Is MinGW easier to install or more popular than OpenWatcom? It seems it may be easier to maintain than OpenWatcom as MinGW is simply GCC for windows and we already have to maintain GCC for Linux/FreeBSD/OS X.

Maybe we should add MinGW to the mix and see what happens?

Jeremy

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

20. Re: Translating Euphoria Apps -- Which compiler do you use?

I also use Watcom. Used to use Borland, but decided to go with Watcom as it is the one originally used by Rob Craig. I did notice that the executables created under Borland were compiled faster and were smaller but I figure that Watcom would give the least translation issues. After all, you only compile once when you are happy with the bound version so compilation speed is a insignificant issue. BTW, I am still using Euphoria v2.5 licenced version nearly always.

Regards Alan

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

21. Re: Translating Euphoria Apps -- Which compiler do you use?

Wel Jim Brown , as far I know Peu uses not the standard C calling . I compiled it with the DJGPP/Mingw for dos/windows and for Linux with the GNU GCC . In this way I got PEU porteble between Linux and Windows . The problem with DJGPP and Mingw is that the first one has no working netwerk(tcp/ip) with it and the second one has . The console is a other problem . I use the ansi code for it (as Peter Eberlein did in the orignal versie) . That works for dos/windows/linux . To display the cp850 code (that the code with the graphic characters in it) is a problem in X-windows you have to add a special char-font for it then it works .

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

22. Re: Translating Euphoria Apps -- Which compiler do you use?

menno said...

Wel Jim Brown , as far I know Peu uses not the standard C calling .

I was refering specifically to the implementation of open_dll() and define_c_func() / define_c_proc()

menno said...

The problem with DJGPP and Mingw is that the first one has no working netwerk(tcp/ip) with it and the second one has .

Slightly offtopic, but DJGPP has addons that give you TCP/IP support.

ftp://ftp.delorie.com/pub/djgpp/contrib/tcplib.zip http://www.bgnett.no/giva/ ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2tk/lsck073b.zip

menno said...

To display the cp850 code (that the code with the graphic characters in it) is a problem in X-windows you have to add a special char-font for it then it works .

I don't see this as a portability issue.

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

23. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

This is good news. I didn't go to the point of porting Eu. They were C benchmarks mainly from the great computer language shootout. It's possible the latest version of MinGW addresses some of the speed issues or that the speed issues show up mainly in loops, computations, recursive calling. The slowdown of MinGW is very well documented all over the net but I know for those reasons they have been working on it as well.

I'm using a really old version of Cygwin + MinGW runtime (really just a set of header and linker files).

gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.124) Copyright (C) 2004 Free Software Foundation, Inc.

Also, here is the prebuilt binary:

http://linuxbuddhist.net:8081/upload/192.168.249.17-exu.exe

jeremy said...

So, over all, what does this mean? Is MinGW easier to install or more popular than OpenWatcom? It seems it may be easier to maintain than OpenWatcom as MinGW is simply GCC for windows and we already have to maintain GCC for Linux/FreeBSD/OS X.

My intuitive guess is that MinGW is more common that OpenWatcom because it has been FOSS for longer.

As for which is easier to install, Cygwin at least has a GUI installer like OpenWatcom does. I'm sure MinGW does as well.

jeremy said...

Maybe we should add MinGW to the mix and see what happens?

Jeremy

I can have this in by tonight (EDT) if there are no objections.

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

24. Re: Translating Euphoria Apps -- Which compiler do you use?

If you want to know how it is done then look at http://members.home.nl/m.s.ter.haseborg/peu/InstallPeu.htm

There is a PEU.ZIP . It is the 'dynamdll.c' . Maybe that will tell you how that is inplemented .

The lsck(DJGPP) version had a problem that is it close() it does a RST . Linger should prefend that , but does not work .

I will try the other one .

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

25. Re: Translating Euphoria Apps -- Which compiler do you use?

menno said...

If you want to know how it is done then look at http://members.home.nl/m.s.ter.haseborg/peu/InstallPeu.htm

There is a PEU.ZIP . It is the 'dynamdll.c' . Maybe that will tell you how that is inplemented .

Looking at a really old version of peu by Pete E (in dynamdll.c), I see that my memory was correct. This appears to be standard C. No inline assembly or compiler specific features.

Instead, we have a series of function pointer calls inside a big switch statement (the switch statement is there so we know which function pointer type to cast to based on the number of parameters). Eu instead calls the function with no parameters after using inline assembly to manually change the stack.

menno said...

The lsck(DJGPP) version had a problem that is it close() it does a RST . Linger should prefend that , but does not work .

I will try the other one .

I am not sure I understand what the issue is?

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

26. Re: Translating Euphoria Apps -- Which compiler do you use?

jeremy said...

To help simplify the C code in Euphoria, we are thinking of dropping DJGPP, LCC and Borland and making Watcom the compiler for Windows and GCC the compiler for Unixes (as it currently is).

PLEASE don't tell me I'm the only LCC fan :(

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

27. Re: Translating Euphoria Apps -- Which compiler do you use?

scancode said...
jeremy said...

To help simplify the C code in Euphoria, we are thinking of dropping DJGPP, LCC and Borland and making Watcom the compiler for Windows and GCC the compiler for Unixes (as it currently is).

PLEASE don't tell me I'm the only LCC fan :(

You probably are, at least in the Euphoria world, among people who seriously use the EtoC Translator.

I would not shed any tears if LCC support were dropped. It's simply not "ready for prime time", and probably never will be. It's also redundant, since we have Windows support with WATCOM and Borland.

I like Borland. Very few bugs. It compiles like a bat out of hell compared to WATCOM, and the compiled code is about as good, sometimes better. It also compiles certain huge and complex programs that WATCOM can't handle, at least not without major, very difficult changes to the Translator. (Though I haven't tried the very latest release of WATCOM).

DJGPP is not nearly as nice as WATCOM for DOS, though it's also open source, and has some user base. Very few people are still using it, so I wouldn't care at all if DJGPP were dropped.

I'd really like to see support for Microsoft's C/C compilers. However I don't own any of them, and am not very familiar with them.

Rob

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

28. Re: Translating Euphoria Apps -- Which compiler do you use?

robcraig said...

I'd really like to see support for Microsoft's C/C compilers. However I don't own any of them, and am not very familiar with them.

Rob,

MS Visual C Express 2008 is their free version of Visual C and does everything we need it to do. It can be downloaded from http://www.microsoft.com/express/vc/ for free.

Jeremy

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

29. Re: Translating Euphoria Apps -- Which compiler do you use?

To CChris:

Screen text and background can be easily changed, I'm not sure about the other 16 colors. See if this helps:

Changing colors in WinXP's command-line console (cmd.exe) or DOS compatibility console (command.exe or command.com) can be easily accomplished. (It can also be done this way in all of these Win95/98/Me/2000/XP/Vista, if I remember correctly.)

When the console window is not in full-screen mode (full-screen mode can be toggled with Alt-F4; Windows Vista does not support full-screen mode) you can:

1. Right-click on the Title Bar (or press Alt-SPACE), click on Properties (or press 'P').
2. There should be four tabs ("Options", "Font", "Layout", "Colors")
3. Click on Colors.
4. Change the values for Red, Green, and Blue to what you want.
5. Click OK.

To make the changes permanent click on Defaults instead of Properties in the instructions above.

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

30. Re: Translating Euphoria Apps -- Which compiler do you use?

Have you seen the Pellec C IDE?

http://en.wikipedia.org/wiki/Pelles_C

http://www.smorgasbordet.com/pellesc

http://www.christian-heffner.de

I discovered it recently, by accident, but I haven't used it, mostly because I thoroughly despise C, Java, and all of their progeny. However, seeing as how it wasn't mentioned here, I thought I would suggest it, for you guys to check out, for use with Euphoria, in case it was new to you. It's small and free, while supposedly also being fast and "complete".

By the way, does anyone have any idea as to when the next Euphoria will become publicly available? I ask because I am embarking on a major project, and I'm trying to decide between REBOL and Euphoria. Both are in the midst of major upgrading, so I have a choice of: use the current Euphoria, use the current REBOL, wait for the next Euphoria, or wait for the next REBOL. Thanks in advance for any information which might allow me to make a good choice.

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

31. Re: Translating Euphoria Apps -- Which compiler do you use?

SDPringle said...

I have a question. Does any developer on this list have borland? If not, how can you be supporting it? If you use standard C you should avoid most of the compiler specific problems. Have you thought about benchmarking?

The top level statement 'profile_time' is missing from the Windows version. Certanily, this has made profiling a matter of putting time() before and after statements of interest. Is there some reason Windows cannot support this?

Shawn Pringle

Actually I made a version that you can use profile_time in windows, "http://www.rapideuphoria.com/winprofilesource.zip".

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

32. Re: Translating Euphoria Apps -- Which compiler do you use?

jcmarsh said...

To CChris:

Screen text and background can be easily changed, I'm not sure about the other 16 colors. See if this helps:

Changing colors in WinXP's command-line console (cmd.exe) or DOS compatibility console (command.exe or command.com) can be easily accomplished. (It can also be done this way in all of these Win95/98/Me/2000/XP/Vista, if I remember correctly.)

When the console window is not in full-screen mode (full-screen mode can be toggled with Alt-F4; Windows Vista does not support full-screen mode) you can:

1. Right-click on the Title Bar (or press Alt-SPACE), click on Properties (or press 'P').
2. There should be four tabs ("Options", "Font", "Layout", "Colors")
3. Click on Colors.
4. Change the values for Red, Green, and Blue to what you want.
5. Click OK.

To make the changes permanent click on Defaults instead of Properties in the instructions above.

Thanks, I'll give it a try.

CChris

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

Search



Quick Links

User menu

Not signed in.

Misc Menu