What's holding Euphoria back?

new topic     » topic index » view thread      » older message » newer message

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

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu