Random Issues
- Posted by Robert Craig <rds.msn at ATTCANADA.NET> Feb 04, 1999
- 434 views
Here are some brief replies to various issues: Ralf writes: > Euphoria is a stack-based interpreter I don't know what that means. I think any language interpreter will find stacks, call-stacks etc. useful for various things, and will not depend only on the machine stack. Ralf writes: > Arrays I want for the speed Arrays would not be much faster than sequences. Maybe 0 to 5 percent on typical operations. Someone implied: > [Euphoria insists on define-it before you use-it because it makes life much easier for the implementer - otherwise you'd need a 2-pass compiler.] It would be very easy technically to allow forward references without requiring any special pre-declarations. Back in the pre-1.0 days I was considering doing this. The compiler would just emit special internal opcodes "call to yet-to-be-defined routine X", or "reference to yet-to-be-defined variable Y". When the opcode was executed for the first time, it would look up X or Y in the symbol table and replace itself with the normal opcode for calling a routine, or referencing a variable. some people wrote: [namespaces - Euphoria is uniquely bad - name conflicts] The namespace situation will definitely be improved, but have a look at how C's namespace system works. It's similar to, but in many ways worse than Euphoria's. In C, *all* non-private symbols are *global* unless you explicitly declare them "static". In Euphoria, non-private symbols are local to the file, unless you explicitly declare them "global". For programmers, lazy people that they are, this makes a huge difference. Stroustrup has admitted that C should have been done the other way. People have written C programs of millions of lines of code. C was not "held back" from becoming a major language because of this. Someone wrote: [Euphoria will never make it into the big leagues because it lacks, X, Y, Z features of established languages] Suppose *Euphoria* were the established language, and suppose I had just invented C++. People would say C++ is an obvious loser because: * no subscript checking * no uninitialized variable checking * you have to compile and link after every small change * no support for true dynamic storage allocation * you have to declare the size and type of everything * manual is over 1000 pages - no one will read it unless they can get a job in it Someone wrote: [the price of Euphoria is too low] The RDS corporate philosophy: "We lose a little on each item, but we make up for it in quantity." We were doing ok before the price cut, but since cutting the price, we've seen a significant increase in total dollars, so I guess we'll keep it low for now. Regards, Rob Craig Rapid Deployment Software http://members.aol.com/FilesEu/