filePro Wikipedia page
Fairlight
fairlite at fairlite.com
Mon Jul 17 10:55:13 PDT 2006
This public service announcement was brought to you by Transpower:
> Ken: I think the Wikipedia article is too negative. filePro has many
> more strengths than are listed.
I don't think the article on the whole is negative, I think it's relatively
factual.
Now, the anti-fP article was interestingly negative. I dunno Jeremy
Anderson from a hole in the ground (though the name rings a bell...didn't
he cause trouble on the list a year or three ago?). However, the link to
the fP vs perl page...that's where the real comedy comes in. His perl
code...leaves a bit to be desired.
I particularly like this:
*****
For the real power for filepro, let's look and check to see if we've
got a value between 23 and 26 in a numeric field:
#!/usr/bin/perl
if ($aa =~ "2[3-6]") { print "found a value between 23 and 26\n"; }
# yes, this could also be written as 'if (($aa < 27) and ($aa > 22))'
*****
Yes...except he -should- have written it the long way, because his original
notation would match 1237, 7249, etc. He didn't bound the integer's in a
string context. Man, I wouldn't want someone who claims to understand the
power of regex but codes like that trying to implement a virtual firewall
like I have. :)
Another great one was the bit about catching the end of a string's value
for a match. His convoluted example can be reduced to two lines; the first
would concatenate against "" into an uncast dummy, and THEN you simply mid
against the last 3 characters. The concatenation trick is something John
Esak, Nancy Palmquist, and a number of other people have repeatedly shown
me. Anyone that's spent any time at all in the community would know how to
avoid the spaghetti he cited for his fP example on that point.
His check for "red" in filePro parlance was actually needlessly convoluted
because fP is case insensitive. I thought it should match on any of those
combinations with only one check. (I'd have to test to be sure.) The
-real- issue he should have pointed out was a stumbling block was the lack
of ability to (easily) compare a string and check for word-boundary, which
could be either whitespace -or- beginning of line -or- end of line, which
-can- be done with regex, although he seems to make only limited use of
boundary checking as cited with use of ^ in -one- example and $ in another.
Back to his fun regex work:
*****
if ($aa =~ "[pP][iI][NngG]") { print "found a pig or pin\n"; }
*****
That's patently absurd coding; it also would catch words like tarapin,
pinball, pigment, etc. Again, no boundary checking.
Some of his points (not all, as I noted above about the "last three letters
of a string" argument) may be valid, but IMHO, his perl is sloppy as hell.
Perhaps sloppier. :) Actually, his comments about perl more accurately
describe his coding style -in- perl than perl itself. Let's just say
I'd never subcontract him to write any segment of perl I wanted done
efficiently and correctly. :)
When one knows something of fP -and- knows a GOOD deal about something he
cites as a counter to it, one draws the conclusion that his opinion may be
something he's entitled to, but it's not necessarily worth the bytes used
to express it. I mean, when you try to compare fP and perl, implying
competence in one, if it's obvious that you botched that one, what makes
you think they got the other right. In fact, many of us can readily
demonstrate that at least some of his points aren't even issues.
So I'm not actually seeing a problem. He's only hanging himself, if anyone
actually knows the environments involved. And it was reduced to a link,
which the maintainers (much to my respect) have left there.
As for lack of else and while, I agree that there are no formal equivalents
in fP. However, with looping to labels and conditional structuring,
they're emulatable. So are for() loops that I've wanted for a long time,
actually. Now a -valid- argument would be lack of foreach(), which is an
entirely different creature, and NOT easily emulated in fP.
I glanced over the section on Codd's laws and followed the links to the
laws. The paradigm that those laws discover isn't even the same one fP
subscribes to, so of course it doesn't follow the laws. This is neither a
negative nor a positive, but simply neutrally factual.
Actually, there is a factual error in the Wiki article. 5.6 was released
in 2006, not in 2005. In fact, it was Q2 of 2006, which means there's no
way in hell it hit in 2005.
As for strengths, the quick screen design and quick report development
should both be in there, as they're the primary areas in which fP excels.
(I think I signed up for a Wiki account at some point, but I've never
actually edited a page, and I don't feel like starting today. After
reading several incomplete/inaccurate entries for bands whose histories I
know, I really don't trust Wiki much anyway, and fail to see what the big
deal is.)
mark->
More information about the Filepro-list
mailing list