What's holding Euphoria back?
- Posted by Irv Mullins <irv at ELLIJAY.COM> Jan 29, 1999
- 513 views
Four things are keeping Euphoria from being used in commercial applications: 1. Lack of structures 2. Name space problems 3. Abysmal waste of disk space when writing data files. 4. A lack of true random access for files. There's been lots of discussion and suggestions for ways to solve 1 and 2. Little has been said about 3 (yes, I know Ralf has a package to compress data. That's not the point. We need to store single characters as one byte on disk, not two, three or more.) Strangely enough, implementing structures as suggested by Ralf, Falkon, and others could solve problems 3 and 4 as well, if the structure elements could be specified as "fixed". Length (struct) would then return the "record length" and you could do random access seeks. Coding without a length would allow dynamic allocation as it is done now. structure employee sequence name[20] -- fixed length of 20 bytes integer age -- already fixed at the length of a Euphoria integer atom wage -- already fixed at the length of a Euphoria atom end structure puts(fn,employee) -- would write a block of x bytes to disk in a compact form, always the same length. Therefore, seek(length(employee) * recNO would seek the recNO'th employee on the file. printf(1,"%s is %d years old",{employee.name, employee.age}) better: printf(1,"%s is %d years old",{employee.name,age}) employee[23].salary = employee[23].hours * employee[23].wage or perhaps more useful in real life: with employee[23] printf(1,"%s is %d years old",{name,age}) salary = hours * wage end with If Rob is serious about Euphoria being used for real commercial applications, he needs to seriously consider these problem areas. I am not holding my breath, however. Irv