Re: ex bloatware?
- Posted by Robert Craig <rds at EMAIL.MSN.COM> Jun 21, 1998
- 808 views
Andy Kurnia requests a bunch of things: I'm paraphrasing a bit ... > make a stripped down ex.exe for binding. I once estimated I might save 20K or so by eliminating the debug/trace code in bound executables. I don't think it's worth it. It makes life more complicated for me and users. It means extra testing, extra possibilities of bugs etc. It would mean a larger EUPHOR20.ZIP file. I'd have to build and test at least 6 different versions of Euphoria for each release: ex PD, ex Complete, ex Stripped Down, plus 3 more for Windows, and 3 more for any new platform. No thanks. > trace/profile no longer work when bound/shrouded That's right. It's there for added security of shrouded/scrambled programs, so you can't snoop through someone's code as easily. > && || I've written a lot of code in C, and I like the "short-circuit" evaluation of AND/OR conditions. For this reason I recently spent a lot of time investigating how to add this to Euphoria. My conclusion: * it's rather difficult to add to the current Euphoria parser * if I change AND and OR to operate in the short-circuit manner, existing programs will break. I had no trouble finding at least 3 programs on the Euphoria Web site that would break if short-circuit were used (since function calls might be skipped). * I don't really want to introduce 2 new keywords that have almost the same meaning as AND and OR. This is supposed to be a simple language. * Euphoria is not like C. Euphoria has boolean expressions where the result can be an atom *or a sequence*, and you can't tell which unless you execute the second part of the condition. You could get around this by defining "false" to be atom 0 as it is now, or a *sequence* where every element is false. Then: 0 and expression would always be "false" and 1 or expression would always be "true", regardless of what expression evaluates to (atom or sequence). But what about: x = 1 or expression You'd have to evaluate it fully. The evaluation of boolean expressions would have to depend on the context (condition vs. assignment or other expression.). That makes me uncomfortable. Bottom line: I'm not planning to proceed with this. > add various functions to ex.exe For a function to be added to ex.exe, it should be used a lot, or be critical to performance. It's extremely unlikely that checking the size of a file fits either category. Reading N bytes from a file, I considered at one time, but I haven't done it, because I think people more often want to read up to some delimitter, rather than simply a number of bytes. I've tried to make getc() as fast as possible. I've heard vague statements that Euphoria's file I/O is not very fast, but I've never been presented with any concrete measurements, time profiles, or examples of code where I/O is a major bottleneck. Regards, Rob Craig Rapid Deployment Software