[REBOL] Re: Rebol vs PHP
From: jthsmith:unm at: 25-Jan-2001 11:26
Hello, Elan, Graham,
On Thu, 25 Jan 2001, Elan wrote:
> It probably depends on what exactly you are doing. My experience with
> PHP is it uses up a lot of memory. I had to split some scripts up into
> multiple files, because I was getting an "Out of memory" message on a
> box that has 512MB RAM or more.
In playing with PHP, I've run into this problem too. I think it's in part
due to some bugs in PHP. For example, querying a field via SQL from
another query where the field is built as a composition of other fields
(e.g. [First Name] & [Last Name]) causes PHP to ask for over 2GB of memory.
> > The other point is whether you really want to use Access
> > databases to web serve information. It's intended use is as
> > a desktop database.
>
> That's a very good point. There are plenty of very stable, commercial
> quality Open Source (or at least free) databases out there that are far
> better suited for an online application. Examples: MySQL, Interbase,
> FreeBase, and many more.
I guess I should have clarified. I need to serve an existing Access
database, so I'm stuck with it.
> PHP's object implementation is a little weird (look at the trouble you
> can get yourself into if you use the PHP XML parser from within an
> object, or if you try to pass the XML parser functions defined in a
> derived object).
I've found objects in PHP very cumbersome at times, especially
syntactically. Overall, PHP is a horrible mess of a language compared to
REBOL.
> REBOL does not have the problems I just listed. You can learn REBOL much
> faster because the REBOL shell is interactive. You can instantly test
> out ideas for the same reason. REBOL has better error trapping and
> debugging support. The wealth of datatypes supported by REBOL and its
> parametric polymorphism make it alot easier to implement code that works
> as expected. Just compare the code needed under PHP to send an email
> message, and compare it to the simple REBOL code that you can enter in
> the REBOL shell
Excellent point.
> In short, PHP is quite cool, REBOL is great. Sometimes you have to use
> PHP, unless you have access to REBOL/Command, because /Core has no
> built-in support for databases. But if you were planning to use Access,
> then quite possible you don't have a database intensive aplication in
> mind, and using REBOL plain text files will be sufficeint to store your
> data. Perhaps something as simple as this
I've already done a lot of this on another website, generating web
content from human-readable and updateable text files. It worked nicely.
But now I've got to dynamically serve a big (70MB) Access database, so
/Command or PHP are necessary.
I wish there was a time-limited demo of /Command so I could test out its
functionality and compare it to PHP for the specific things I've got to deal
with. Well, here are some more specifics that maybe you guys can comment
on:
I'm restricted to using Microsft's IIS 5 server and an Access database.
Does /Command on Windoze allow direct Access database connectivity, or do I
have to go through ODBC? Could someone give me examples on using ODBC in
/Command?
I've encountered a severe problem with PHP: accessing a secure database on
a local drive on the server works fine, but if the database and security
file are on a network drive, PHP blows up, even though the ODBC connection
is fine. Would this be a problem with /Command? I wish I could test it.
Are there any special security considerations I should be aware of with
/Command for this type of project?
I intend to use some kind of template system for generating HTML output.
Are there any good implimentations out there that I could use, or would I
have to develop something myself?
Thanks again for all your input. Already I've received more help on the
REBOL list than I have on any of the 'official' PHP lists, which is a good
sign.
Justin Smith
New Mexico Natural Heritage Program
University of New Mexico
Department of Biology
167 Castetter Hall
Albuquerque, New Mexico 87131
505-277-3822 x226
505-277-3844 (fax)
[jthsmith--unm--edu]