1. Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 13, 2008
- 1478 views
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
2. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 13, 2008
- 1379 views
I'll start... I use Watcom.
Jeremy
3. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by mattlewis (admin) Aug 13, 2008
- 1377 views
I use Watcom.
4. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 13, 2008
- 1351 views
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.
5. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by ne1uno Aug 13, 2008
- 1390 views
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.
6. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by ghaberek (admin) Aug 13, 2008
- 1394 views
I used to use Borland all the time. Lately, I've been using Watcom.
-Greg
7. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by Mike777 Aug 13, 2008
- 1433 views
I use watcom
8. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by kenneth Aug 14, 2008
- 1376 views
- Last edited Aug 15, 2008
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"?
9. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 15, 2008
- 1339 views
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
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
Jeremy
10. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by tomC Aug 15, 2008
- 1348 views
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.
11. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 15, 2008
- 1327 views
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.
12. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by murphy Aug 15, 2008
- 1309 views
... 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
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.
13. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by CChris Aug 16, 2008
- 1325 views
I use OpenWatcom.
And, outside of Euphoria development, hardly ever use a consoe program, DOS-based or other (tracert once in a xhile).
CChris
14. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by CChris Aug 16, 2008
- 1374 views
... 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
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
15. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by SDPringle Aug 17, 2008
- 1304 views
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
16. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 17, 2008
- 1307 views
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
17. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by SDPringle Aug 17, 2008
- 1308 views
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
18. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 17, 2008
- 1375 views
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).
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.)
19. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 17, 2008
- 1305 views
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
20. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by AlanO Aug 17, 2008
- 1338 views
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
21. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by menno Aug 17, 2008
- 1317 views
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 .
22. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 17, 2008
- 1307 views
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()
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
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.
23. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 17, 2008
- 1383 views
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
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.
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.
24. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by menno Aug 17, 2008
- 1351 views
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 .
25. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jimcbrown (admin) Aug 17, 2008
- 1320 views
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.
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?
26. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by scancode Aug 19, 2008
- 1341 views
- Last edited Aug 20, 2008
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 :(
27. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by robcraig Aug 19, 2008
- 1286 views
- Last edited Aug 20, 2008
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
28. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jeremy (admin) Aug 19, 2008
- 1318 views
- Last edited Aug 20, 2008
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
29. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by jcmarsh Aug 20, 2008
- 1283 views
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.
30. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by ThaddeusQuay Aug 24, 2008
- 1316 views
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.
31. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by codepilot Aug 24, 2008
- 1308 views
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".
32. Re: Translating Euphoria Apps -- Which compiler do you use?
- Posted by CChris Aug 27, 2008
- 1171 views
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