you will soon loose all the free software developers
But that which was free first, can never be loosed! And that which was loosed, well 'twas never quite free. With meaning so muddled as you have produced, I wonder what else you can't manage to see.
There's been quite a bit of work done in the last couple of years for devising completely new methods of storing spider information. Scientific American very recently had a description of one of them, although there are a few others as well.
The system in Scientific American works by analysing not merely the contents, but the relationship of the links. It then classifies sites and documents according to the pattern of links into and out of them. This helps in priortizing "authoritative" sites, for example.
You should check out the article and its bibliography.
I love the way you define as "irrelevant" the things that you just can't do. Where's your the C code that I can generate and you can't? How about the way you can lose objects in Python and never call their finalizers when the program exists? That's fundamentally broken.
How about this: find your most readable piece of Perl code that you think can't be easily reimplemented in Python. Post it here. Nothing silly like executing chunks of Perl code allowed. It's just as hard for Perl to execute chunks of Python code.
Go to town:
sub timeout {
my($period,$closure) = @_; alarm($period); $closure->(); # indirect function call alarm(0);
}
my $line = ''; timeout(30, sub { $line = readline(*STDIN) });
# now check $line for proper contents print $line;
You can't do it. You don't have proper scoping. You can't get the proper $line variable set. So instead you'll have to invent some god-awful overly obfuscated object-oriented abomination because you didn't get the language primitives right.
You can readily tell at a glance what "part of speech" the identifier is functioning as. The $ for "this" versus the @ for "these" is a useful distinction that allows Perl programmers faster
Huh? Faster what?
Faster understanding of who's frobbing whom, and how.
Is there a way to pass around an object that may be an array, or a string, or an associative array?
Of course. Use a reference. Or an object. This is a win for homogeneity, but a loss at compile-time type-checking. Some of us like that kind of thing. I guess you don't.
In fact, a Perl function can dynamically determine at run time:
the number of arguments passed to it
the precise or abstract types of each of those arguments
whether its return value is expected to be zero (void context), one (scalar context), or multiple values (list context).
This is virtually impossible in any other programming language. It's completely laughable in C, and even Python is lacking the cojones to do it.
It is easy to perform string interpolation, as in "these $count cats".
It's also correspondingly difficult to determine what will happen to the contents of a quoted string.
I don't know what you're smoking kid, but you definitely need to lay off. Your trollisms are leaking through. Let's see now:
That's what I'd like to know: what can you do in Perl that you can't do in Python? My guess is nothing.
You're not just wrong -- you're massively and pathetically wrong. A tiny list is enclosed below.
As for what you can do in Python that you can't do in Perl: Python code is actually maintainable. Perl code generally isn't. And Perl makes it hard as hell to make code that even comes close to readable.
The more times you repeat that lie, the less reasonable you sound. Please see my other response for why you have no idea what you're talking about. If you write bad perl code, it's your own fault for being imcompetent.
Now, what can Perl do that Python cannot do? I don't know what you're looking for here. There's a remarkably long list of things you can't do in python than you can do in Perl. Some of these are severe. Others are not.
With python, the object is the way, the truth, and the light. Let no man cometh unto his data save through the object. In perl, OO is an option, not a requirement.
With python, you cannot pass in chunks of anonymous code and access variables in that code chunk in the correct scope. That's because Python has no understanding of proper closures. Perl does.
With python, you cannot generate C code to compile into an a.out.
With python, the pattern matching is not tightly integrated into the language. It is merely loosely bolted on, which introduces inefficiencies and quoting clumsinesses.
With python, class methods and object methods are treated dissimilarly. This is unclean.
With python, you cannot access your overridden superclass's method in a portably symbolic fashion -- there's no SUPER or super().
With python, you cannot implement a class in whatever way makes sense to you. You must use its system. That means, for example, that you cannot use a closure as an object. No big surprise, I suppose. Python never did figure out closures.
With python, you cannot correctly garbage collect lost circular references when the interpreter thread shuts down. This makes it completely unsuitable for use in embedded applications. It fails to follow proper finalizer semantics for things it forgets about!
With python, you cannot tie arbitrary semantics to variables and handles through the tie machanism to trigger implicit object calls.
With python, you cannot set watch points on variables.
With python, you cannot catch compile-time errors using function prototypes.
With python, you cannot determine your calling context, nor behave differently dependent upon the same.
With python, writing an eval string is a pain in the royal butt due to the insane whitespace problem.
With python, you have significantly less control of compile-time versus run-time issues. Yes, this matters.
With python, you have no equivalent to CPAN or the CPAN.pm module to support a system for automatatic registration, distribution, replications, and installation of 3rd-party modules.
With python, you cannot write poetry, because of the white space issue -- again.
With python, you have no equivalent to Apache's mod_perl.
There are doubtless many others. These are just off the top of my head. You should visit the Perl OO links I gave in a different followup so you actually know what you're talking about next time.
It's fascinating to look at the variance in free Unix use across different demographic borders. Some of the real data agree with the commonly held myths, and other data disprove these. One thing that surprised me (although no one else who heard it) was that BSD runs neck-and-neck in Japan with Linux, allegedly accounting for 50% of the free Unix use. It will be interesting to see whether TurboLinux will change that.
When you're discussing pronunciation, it's significantly more portable to speakers all over the world to use the standard International Phonetic Alphabet. Although there is no perfect transcription of those sigils into ASCII, our own Evan Kirshenbaum makes a valiant and reasonably accepted attempt to do so in the documents from the link above. There's even a picture of the real characters.
Using that system, the pronunciation I'm most familiar with as spoken by anglophones would be/'su z@/, although folks from Germany of course say something that seems more to the English ear to be/'zu z@/ or even/'zu zE/ instead.
Without providing substantiating evidence, I'm afraid that your blithe remark comes off as either disingenuous or underinformed. You can hardly tell Slashdot.org or Deja.com that they aren't getting a tremendous productivity, performance, portability, programmability, and maintanability win through using Apache + mod_perl + Perl for their dynamic HTML generation.
To be fair, you should actually compare the technologies -- and not in your Prisoner Of Bill little box, either. Feel free to post, and we'll be happy to show you how underwhelming PHP is compared with dynamic Perl solutions.
Those of you who haven't seen Writing Apache Modules in C and Perl", by Dr. Dr. [he has too many degrees:-] Lincoln Stein and Doug MacEachern, really should check it out.
Hackish OO features are a strange brickbat to throw at Perl, because Perl5's OO-features were strongly influenced by Python's
Very much so. Larry Wall had been using C++ for a few years before he added object support to Perl. He did so at least partially so he could interface with C++ using a simpler language.
When it came time for the object design, he rejected much of the C++ model. That's probably just as well, since C++ has so many oddities not found in any other language with object support. Python's model seemed sufficiently clean and appealing that, as with so many other tools and languages where Larry "cherry-picked" the coolest property from eclectic sources, he took most of the object stuff from Python.
For example, the object's self reference (the "this" pointer) coming in as the initial argument in a method call rather than as a formally defined variable comes right from Python.
Of course, we weren't really content to stop there. One difference from Python is that the class itself can serve as something of a meta-object. This has some rather nifty ramifications to this. If you're filling out a check-list of features, you'll find that Perl OO programming supports classes and objects, single and multiple inheritance, instance methods and class methods, access to overridden methods (a virtual SUPER class), constructors and destructors, operator overloading, proxy methods via autoloading, delegation, a rooted hierarchy for all objects (class UNIVERSAL), and two different levels of garbage collection.
Before you diss it too much, you should know what Perl OO is actually about. If you're looking for more information or examples on Perl OO, here are some suggestions:
The Perl Cookbook (yes, my name is on the cover) has a chapter on objects. You can download the source through the Examples link there (either normal gzip or else Wintel zip format).
A new book (that yes, I tech-edited, but no, which I don't get royalties on) is coming out by Damian Conway, called simply enough Object Oriented Perl. Damian is our Melville.:-) We've accepted three of this prolific fellow's papers in the refereed track at the next Perl Conference. One of them is even a technical paper that's written completely in a certain kind of poetry.
I don't mean to pretend that Perl's OO doesn't have its host of issues. The biggest one is that unless you're careful in your design, one class needs to get unnaturally chummy with its parent class to avoid accidentally overriding or interfering with not just functional members (methods) but also data members (attributes).
But as Larry has said: `Concentrate on Perl's strengths, not its weaknesses.'
What? Spend more time writing code then trying to count the curly braces?
You would prefer perhaps mental telepathy?
If you're counting braces in C, Java, troff, awk, C++, Perl, Javascript or any of the rest, you're doing something fundamentally wrong. That's the computer's job. Perhaps you should try a more sophisticated editor than ed.:-) Really, balanced braces and alignment of code are the job of your editor to help you with.
Our very own Jon Katz, to all appearances recently taken prisoner by the Evil Empire and spirited away to their torture chambers in Redmond, doubtless writes from his prison cell:
The film?s very existence totally exposes the insanity of Hollywood?s ratings system
And then later:
South Park goes out in a blaze of glory, not only because it?s funny and bizarre, but because it?s out at precisely the right moment
So, now Slashdot is even posting feature articles in MS-HTML. That's why there are question marks up there. Checking with the server, however, yields this for that page:
Cache-Control: private Pragma: no-cache Server: Apache/1.3.6 (Unix) mod_perl/1.20 Content-Type: text/html Client-Date: Thu, 01 Jul 1999 18:05:40 GMT Client-Peer: 206.170.14.75:80 Title: Slashdot:South Park The Movie
So it says it's text/html, but it's not. It's MS-HTML.
Is this the price of acquisition, or are the article filters not checking for valid characters? If the current codeset were available, I'd send in more bug fixes. Will we ever see it, or has it gone the way of all fleeceware in the acquisition, locked away from prying eyes?
What's next? No more "clean" interface, maybe? Mandatory pop-up adverts with sound-clips? ActiveX controls and client-side Visual Basic with epileptic spinners?
Erik no more begat the "open [sic] source movement" than did Richard beget the "free [sic] software movement". Both existed before them, and would continue to exist without them. We've always had software that was gratis, or software that was unencumbered, or software with politically and/or economically motivated restrictive licences, or software that always had the source code available. Sometimes more than one of these applies to the same software suite. (Except of course for encumbered and unencumbered, which are mutually exclusive if you deem them boolean properties.)
Let's not confuse the spokeman with the thing. The thing has been with us always.
It's really only been a couple years where there has been a solid free kernel...
Either you're just too young to know better, my aging memory is experiencing parity check errors, or both, but I really could have sworn that BSD has been rock solid, gratis, and unencumbered for well over two years now. I agree that the only other Unix that comes close to qualifying is Linux, but there's still a great deal of lot of work to be done.
Re:GNU do say what they mean
on
RMS Responds
·
· Score: 2
Ever had a close look at the GNU Website lately? Notice how they they define software freedom, then explain the purpose of copyleft? Notice how they explain how you can be free without copyleft (like X), but they defend why copyleft is so much better? (and it is).
This seems pretty plain language to me. Please don't slander GNU by saying they use tricks and don't say what they mean. If you go to their website it's very plain.
I'm quite familiar with that rhetoric. If in order to understand what "free software" is, I need to read a lengthy treatise on the matter, something is obviously wrong -- very, very wrong. Those are simple words. They should be used in the simple ways that the whole world uses them. It's far easier to change oneself than the world.
Remember when gay used to mean happy and carefree? Do you constantly speak of your "gay friend" (who is not homosexual) and expect people should just figure out what you mean? Or do you instead provide them with a manual than explains just what you mean?
Neither, of course. You don't use words that are so easily misunderstood that their default interpretation is completely wrong. To continue to do so calls into question the motivation. I do not believe these people are studid. Therefore, they know that their words deceive people. Therefore, they know that they could easily avoid deception by using common words in the ways that they're expected to be used. Therefore, they are doing it with complete intent. This leads inexorably to "deception". (If my premise that they are not stupid is incorrect, then so too may be my conclusion that they are lying.)
And there's just no good reason to deceive people this way.
Re:Freedom != No Restrictions
on
RMS Responds
·
· Score: 2
Those who see restrictions as the antithesis of freedom should devote a little more thought to the subject.
You mean, like Richard?:-)
Re:What a tangled web *YOU* weave!
on
RMS Responds
·
· Score: 2
...it's probably best not to use such pretentiously flowery prose.
Far be it from me to restrict vocabulary and syntax in my writing to that of a level solely appropriate to some fifth-grade reading class. Why, even in the fifth grade, we were reading The Rime of the Ancient Mariner! Weren't you? It's important with children to push the edge, you know, so that kids have something to strive for. You don't become a better chess player only by playing those whom you can casually vanquish. But perhaps if you asked him nicely enough, Rob would be so kind as to add a "reading level" score on these postings as well, so you could filter out those that are beyond your grasp.
Quite honestly, I'd put that piece at something like the eighth-grade level, because I was intentionally trying to keep it simple enough that even high school readers here would understand. It is hardly a matter of pretense to make full and proficient use of one's mother tongue, nor should it be something to be quickly disparaged, if for no other reason because in so doing, you in effect say more about your own personal inadequacies than you do about those of the writer whom you're criticizing.
There was nothing pretended, feigned, dissembling, or fictitious in that particular piece of writing. For such matters, you need but look at the author of its parent article, who continues to define `free' as `encumbered'. That is an act of pretense, of dissembling. And you will note that it requires no ninth-grade terms to carry out this sleight of words. Pretense is completely unrelated to word size. However could you have thought otherwise?
To continue, neither was that language what one could in honesty call `flowery' by any reasonable stretch of the imagination. Perhaps you are not a native speaker of English, which would I suppose explain a great deal. But to anyone with more than a fifth-grade education, that was hardly what even a high-school student could construe as even moderately florid.
USA Today is hardly a sterling example of fine writing, you know. Well, or perhaps you don't. Therein may lie a large measure of the difficultly. If you've never been exposed to anything else, how could you know better?
Perhaps you need a more illustrative example of purple prose, that upon your next encounter with the same you might readily distinguish it from the more pedestrian writing endemic to this and to most other electronic fora. Here's something I wrote quite some time ago in which I in a sort of game purposefully employ the writer's art to what could charitably be called an attention-taxing extreme.
That reminds me of how I despite diligent and even prayer-filled attempts to rid myself of such traumatic experiences to this very day still recall in dreams sleeping and waking those interminably long and bleary-eyed nights sequestered chez Larry in Mountain View this past July during which I would cobble together tortuous monstrosities of innumerable clauses and moods and styles and dubious-at-best antecedents bereft of periods or even semi-colons, chthonic monstrosities long since banished to the nethermost depths of RCS purgatory whence they cry out in anguish and in irrepentant shamelessness to be brought forth again to the light of day and of my fellows so that others might with their own disbelieving eyes see how very miserable were the aborted words that a once-shimmering brain then laden with fatigue toxins was nonetheless able to spew out, all the while blisslessly unaware that those very words would cause not just Sharon and Gloria but indeed the entire Wall household immured with us for the duration to not once but rather on repeated occasions erupt in fits and paroxyms of giggles and gaffaws while feigning learnèd attempts at unravelling just what in tarnation I was in fact trying to convey when I started those labyrinthine sentences so painfully like this one.
That was florid. The other piece was not. Do you now understand the difference?
Perhaps I simply overestimated the average literacy level to which America has plummeted. I was unaware that I should be writing children's books. If this is the case, I suppose I'll have to write a spell checker based on some fifth-grader's reading assignments. I fear that if I were to adopt that mind-numbing strategy, something valuable would be lost.
Hi Tom, nice to see that you haven't quit your GPL-bashing...
While I may have been drawn into that, such was not my goal. I support anyone's right to use whatever licence they choose, including the GPL. It's their property, and they should be able to do with it whatever they want, even things I don't agree with. So long as a multiplicity of licences are available to choose from, we're fine.
But as soon as someone starts defining "encumbered" as "free", they've overstepped the bounds of honesty. There's nothing inherently wrong with encumbrance, mind you. It's unpleasant in certain cases, but it's not "wrong". If there were, I would be arguing against the GPL, and really I'm not. I'm arguing against deception.
I'm simply advocating talking to people in the language that they the listeners understand. I'm further pointing out that a consequence of intentionally using misleading language is to lose the respect of your peers, because you're now venturing into the realm of into spin control and other forms of artful deception.
An open community has no place for such tricks. Say what you mean, and mean what you say, and do so in a way that those hearing your message hear what you've actually said, not what they merely think you said.
The whole point of the FSF is that by using the software, you should also accept the ideas behind it
Is it really so hard to understand why this is precisely what so many have so hard a time swallowing?
Imagine acquiring a piece of artwork gratis, and then learning that it could only be hung in a room by itself, with nothing else on the walls, and that if you did try to hang something else on your wall, even something you yourself painted to complement the other portrait, you would be forced to give that painting of yours away.
People would balk at being told what they can do with something that's free. They do.
Re:Clarity of Perception
on
RMS Responds
·
· Score: 2
I've given up calling this stuff "free software".
Good for you! As I have said in other fora than these, the simple point I am trying to make, the point from which I shall not waver, is that irrespective of intentions, the words which the FSF uses do end up tricking people, and that this is inherently a bad thing. Ask ten teenagers or even housewives what free software is, and they'll give you a different answer from the one used by the FSF. This simple and repeatable test is proof positive that it's long past time to adjust the message to use the vocabulary which your listeners understand. Otherwise, they're not hearing what you're saying. And you wouldn't want that, now would you?:-)
Re:What a tangled web we weave...
on
RMS Responds
·
· Score: 2
There are two reasons why people might choose to protect their software under the GPL...
Quite possibly so, but there seems to be a misconnect here. I never said that no one should ever want to use the GPL or to support the FSF. My point was that their insistence on non-intuitive use of language is a form of deception, and that this hurts their cause.
Again, there are two mis-statements in their publicity:
`The FSF is about free software, not open software.' (It's the other way around. They believe in encumbrance, which is ipso facto non-free.)
`GNU is not Unix.' (Of course it is.)
I would be far quicker to support them if they would cease and desist from using intentionally misleading language -- without changing the mechanics of anything else they do! So would a vast number of others of my acquaintance. Perhaps for some things, the GPL is a good encumbrance. I didn't say it had no valid use. But an encumbrance, a ligature, a tar-baby legalistic string that binds in perpetuity--all these things it remains. I repeat: this may in some cases be desirable! But it's far from free.
I can't stand dishonesty, even in a good cause. In fact, I'm probably even less tolerant of it in such cases.
Re:What a tangled web we weave...
on
RMS Responds
·
· Score: 2
You might ask, why did RMS bother to invent the GPL? Why not just public-domain all his code, and advocate that others do likewise?
No, I would not ask that question. I think I understand why he did it, and I'm glad he did. I do not believe that everyone should be trying to further free software, and obviously neither does he, since the GPL isn't. What I cannot countenance is calling a heart a spade. Only spades are spades. It's the tortuous language of the propaganda that sets me off. It does not ring honest. It's hard to believe someone who keeps calling hearts spades, even when their message is at its heart sound, or when they're talking about unrelated matters. Once you've compromised your honesty, it's hard for people to believe you.
I think the annoying complexities you're talking about aren't due to trickery or duplicity on RMS's part. I think they were necessitated by the legal climate in which he found himself.
What do you mean? If you were to rewrite the message so that it were targetted not to lawyers but the Common Man, what would be different?
I've already said what I think should be different. Do you have other notions?
Re:Libre software vs free software...
on
RMS Responds
·
· Score: 3
OK, then you like the public domain model, the do-whatever-you-want-with-it model.
For some things, yes, I do. For others, I don't. The GPL is also a valid model. And no, these aren't the only two. But what set me off is that despite the obvious fact that the GPL is an open source software module, not a free software model (in either sense of free). That means that reality is 180 degrees reversed from what RMS said. It irks me to read X and see that the author means !X. There's no need to apply spin and hairs-plitting. Honesty is the best policy, and that's not what I keep reading.
What a tangled web we weave...
on
RMS Responds
·
· Score: 5
It's disappointing that we must once again embark upon yet another long, spiteful, and completely useless Gnu-vs-Free Software flamewar on Slashdot. Hasn't this topic been beaten to death long, long ago? Oh well; once more into the breach.
Like any radical political organization, the FSF surrounds itself with terminology-twisting rhetoric whose mission is more one of proselytization than it is one of disseminating honest truth. Repetition of half-truths does not make them more true; it just makes them better known. And in any marketing campaign, that's all that eventually counts. Lamentably.
There are two main myths of which the FSF must disabuse themselves of if they hope to be taken seriously by anyone of reputable intellectual and moral integrity. And to do so requires only an alternation of their rhetoric, not a change in licensing policies or software components. One can contemplate that in a completely different discussion.
The first myth is that the FSF has anything to do with free software. It doesn't. Free software is against their principles. That they say otherwise can only be justified by the application of Orwellian newsspeak as common words become twisted into their counterintuitive antitheses for reasons of pure propaganda.
What the FSF espouse is open software, not free software. They require only that software be forever open. This is not necessarily bad, of course. But it is not free to tell someone else what they can do with their lives. They do not allow it to be free in the libre sense, nor do they require it to be free in the gratis sense either. And note that `gratis' is what freeware means to everyone on the street. You can't change that perception. You can, however adapt to it. For some reason, the FSF refuse to do that.
Free software has no restrictions on it. Period. Anything more than `do whatever you'd like with this' is no longer free. Furthermore, the notion that anyone has the right to force others to obey what they must do with their own artistic output is about as far from free as one can imagine. It's also highly immoral, because it removes the option of choice. No choice, no morality.
The thing that chafes the honest people of this world is that it is deceptive to redefine a common word, which is what they've done. I don't care whether they've got a document somewhere where they say `Oh by the way, the word ``free'' in this document means ``comes with catsup''; that doesn't change the fundamental treachery. They didn't need to do this. They could have chosen a more honest and commonly accepted set of terms to effect the same ultimate goal. They didn't. Either they were wickedly clever, or pathetically stupid. And whatever else he is, Richard has never been stupid. I wish he could see that he's hurting himself.
More people need to be aware of the inherent deception that something calling itself `the free software foundation' is dedicated to creating software which is neither gratis nor libre, and certainly isn't free in the way that freeware is assumed to be free. Whether you call it damage control, marketing spin, or evil deception, the bottom line is that calling something that it's not is bound to produce confusion. As I've said a million times before, the solution is simple. Just find a new word, one that's honest and broadly understood. Don't change any licences. Just fix the damn word. Something that claims to be free software, should be. You shouldn't need a complex licence to understand this. If it's something that isn't intuitive to a twelve-year old, it's too hard. `Do as thou wilt' is free.
The second myth is that GNU is not Unix. Like the perversion of the simple word `free' into something that makes sense in no context but that of frothing fanatics, once again we see self-satisfied cleverness smugly wrapped up in word play for the smart people and consequently leaving the common man confused or tricked. Remember the environment in which this tired turn of phrase was coined: the fervent AT&T Unix policing of the word itself. This was obviously intrusive and destructive on their part, and it is no great wonder that RMS should have chosen terminology that would inherently distance himself from that minefield. Unix started in an open environment, and the crap AT&T subsequently pulled nearly killed it.
But in the end, nothing is changed. GNU is Unix, or they wouldn't try to say otherwise. If it looks like a duck, walks like a duck, and smells like a duck, then it most certainly is a duck--or if you prefer, a rose by any other name would still smell as sweet. If you reverse engineer the Unix/bin/cat program, even without ever looking at the source code, producing at last something whose input and output and very name are virtually indistinguishable from your model, then you end up with is a reimplementation of the Unix/bin/cat program. It's still a cat.
This doesn't mean that the FSF are of no use, nor that the GPL has no use. It would be dishonest to make that claim. But there are clearly places where these are not useful. One obvious example of where it is not useful is when it comes to avoiding costly reinvention of the wheel. Consider the miserable programmer who would like to use GNU readline or gdbm or some clever search algorithm from some other GPL-licensed program within a program that needs to use closed and proprietary Oracle SQL libraries. You cannot force Oracle to open its software, so you're screwed. Have a nice time reinventing your own industrial-strength database. No employer will put up with that nonsense, so instead you get to reinvent readline(). That does nothing to further the science or art. It's counterproductive. The real world is full of compromises like this. The inflexibility of the GPL interferes with people trying to get an honest job done, and ends up causing needlessly wasted efforts What a shame!
Of course, there are clearly other places where the FSF and the GPL in fact are useful. They shouldn't go away. If they did, something important would be lost. I do not want to lose that.
What must go away is is the deception. If they'd only stop prevaricating, they could be taken a lot more seriously. But so far--and doubtless in the foreseeable future--what appears to be an unfortunate combination of ignorance and arrogance has prevented them from admitting their fundamental error. This sucks.
The notably oxymoronic `FSF' are engaged in the artful lying of telling half-truths for deceptive and consequently dishonorable purposes, just like any other marketroid, ad-man, con artist, Scientologist, or similar shyster. Remove the lie and keep the religion. They have something to say, and it should be heard. But delete the lies.
It should not hurt their cause to tell the simple truth. What does inflict grievous harm upon their cause is they way that they insist upon splitting hairs like so many lawyers and pharisees rather than honest men. I don't know why they don't see and stop this needlessly selfdestructive rhetoric.
But I begin to wonder: are the lies somehow indispensable to the promulgation of the cult? Can the GPL exist without the deceptive rhetoric? Can the FSF? That would be a sad thing, were it in fact the case. It really shouldn't have to be that way.
Many posters have indicated that this was a benchmark designed by Microsoft to make sure that it only measured the performance of the things that they were expecting to do well on.
Fine. Why don't you design a benchmark that you think the free Unixes will do better at? I mean computer performance, not price performance.:-) One obvious thing that comes to mind is this risible Samba thing being replaced by NFS. Another is generating dynamic pages instead of static ones. But that's just the start. What else would prove interesting?
And what about running a variety of operating systems on the same hardware? What about BSD? What about Solaris for an x86?
Ever see what happens when someone tries to combine something like the proprietary Oracle libraries and something like GNU DBM or GNU readline or GNU getopts into one program? Do you know what happens?
It goes boom. This is not a pretty picture. In fact, the developer is forbidden from doing this. Gosh, that's just wonderful, eh?
And that which was loosed, well 'twas never quite free.
With meaning so muddled as you have produced,
I wonder what else you can't manage to see.
The system in Scientific American works by analysing not merely the contents, but the relationship of the links. It then classifies sites and documents according to the pattern of links into and out of them. This helps in priortizing "authoritative" sites, for example.
You should check out the article and its bibliography.
Here's another for you:
} } Yes, that was a complete program. Enjoy.In fact, a Perl function can dynamically determine at run time:
- the number of arguments passed to it
- the precise or abstract types of each of those arguments
- whether its return value is expected to be zero (void context), one (scalar context), or multiple values (list context).
This is virtually impossible in any other programming language. It's completely laughable in C, and even Python is lacking the cojones to do it. I don't know what you're smoking kid, but you definitely need to lay off. Your trollisms are leaking through. Let's see now:Now, what can Perl do that Python cannot do? I don't know what you're looking for here. There's a remarkably long list of things you can't do in python than you can do in Perl. Some of these are severe. Others are not.
- With python, the object is the way, the truth, and the light. Let no man cometh unto his data save through the object. In perl, OO is an option, not a requirement.
- With python, you cannot pass in chunks of anonymous code and access variables in that code chunk in the correct scope. That's because Python has no understanding of proper closures. Perl does.
- With python, you cannot generate C code to compile into an a.out.
- With python, the pattern matching is not tightly integrated into the language. It is merely loosely bolted on, which introduces inefficiencies and quoting clumsinesses.
- With python, class methods and object methods are treated dissimilarly. This is unclean.
- With python, you cannot access your overridden superclass's method in a portably symbolic fashion -- there's no SUPER or super().
- With python, you cannot implement a class in whatever way makes sense to you. You must use its system. That means, for example, that you cannot use a closure as an object. No big surprise, I suppose. Python never did figure out closures.
- With python, you cannot correctly garbage collect lost circular references when the interpreter thread shuts down. This makes it completely unsuitable for use in embedded applications. It fails to follow proper finalizer semantics for things it forgets about!
- With python, you cannot tie arbitrary semantics to variables and handles through the tie machanism to trigger implicit object calls.
- With python, you cannot set watch points on variables.
- With python, you cannot catch compile-time errors using function prototypes.
- With python, you cannot determine your calling context, nor behave differently dependent upon the same.
- With python, writing an eval string is a pain in the royal butt due to the insane whitespace problem.
- With python, you have significantly less control of compile-time versus run-time issues. Yes, this matters.
- With python, you have no equivalent to CPAN or the CPAN.pm module to support a system for automatatic registration, distribution, replications, and installation of 3rd-party modules.
- With python, you cannot write poetry, because of the white space issue -- again.
- With python, you have no equivalent to Apache's mod_perl.
There are doubtless many others. These are just off the top of my head. You should visit the Perl OO links I gave in a different followup so you actually know what you're talking about next time.It's fascinating to look at the variance in free Unix use across different demographic borders. Some of the real data agree with the commonly held myths, and other data disprove these. One thing that surprised me (although no one else who heard it) was that BSD runs neck-and-neck in Japan with Linux, allegedly accounting for 50% of the free Unix use. It will be interesting to see whether TurboLinux will change that.
Using that system, the pronunciation I'm most familiar with as spoken by anglophones would be /'su z@/, although folks from Germany of course say something that seems more to the English ear to be /'zu z@/ or even /'zu zE/ instead.
To be fair, you should actually compare the technologies -- and not in your Prisoner Of Bill little box, either. Feel free to post, and we'll be happy to show you how underwhelming PHP is compared with dynamic Perl solutions.
Those of you who haven't seen Writing Apache Modules in C and Perl", by Dr. Dr. [he has too many degrees :-] Lincoln Stein and Doug MacEachern, really should check it out.
When it came time for the object design, he rejected much of the C++ model. That's probably just as well, since C++ has so many oddities not found in any other language with object support. Python's model seemed sufficiently clean and appealing that, as with so many other tools and languages where Larry "cherry-picked" the coolest property from eclectic sources, he took most of the object stuff from Python.
For example, the object's self reference (the "this" pointer) coming in as the initial argument in a method call rather than as a formally defined variable comes right from Python.
Of course, we weren't really content to stop there. One difference from Python is that the class itself can serve as something of a meta-object. This has some rather nifty ramifications to this. If you're filling out a check-list of features, you'll find that Perl OO programming supports classes and objects, single and multiple inheritance, instance methods and class methods, access to overridden methods (a virtual SUPER class), constructors and destructors, operator overloading, proxy methods via autoloading, delegation, a rooted hierarchy for all objects (class UNIVERSAL), and two different levels of garbage collection.
Before you diss it too much, you should know what Perl OO is actually about. If you're looking for more information or examples on Perl OO, here are some suggestions:
I don't mean to pretend that Perl's OO doesn't have its host of issues. The biggest one is that unless you're careful in your design, one class needs to get unnaturally chummy with its parent class to avoid accidentally overriding or interfering with not just functional members (methods) but also data members (attributes).
But as Larry has said: `Concentrate on Perl's strengths, not its weaknesses.'
If you're counting braces in C, Java, troff, awk, C++, Perl, Javascript or any of the rest, you're doing something fundamentally wrong. That's the computer's job. Perhaps you should try a more sophisticated editor than ed. :-) Really, balanced braces and alignment of code are the job of your editor to help you with.
Is this the price of acquisition, or are the article filters not checking for valid characters? If the current codeset were available, I'd send in more bug fixes. Will we ever see it, or has it gone the way of all fleeceware in the acquisition, locked away from prying eyes?
What's next? No more "clean" interface, maybe? Mandatory pop-up adverts with sound-clips? ActiveX controls and client-side Visual Basic with epileptic spinners?
Alas. What a sad day!
Erik no more begat the "open [sic] source movement" than did Richard beget the "free [sic] software movement". Both existed before them, and would continue to exist without them. We've always had software that was gratis, or software that was unencumbered, or software with politically and/or economically motivated restrictive licences, or software that always had the source code available. Sometimes more than one of these applies to the same software suite. (Except of course for encumbered and unencumbered, which are mutually exclusive if you deem them boolean properties.)
Let's not confuse the spokeman with the thing. The thing has been with us always.
Remember when gay used to mean happy and carefree? Do you constantly speak of your "gay friend" (who is not homosexual) and expect people should just figure out what you mean? Or do you instead provide them with a manual than explains just what you mean?
Neither, of course. You don't use words that are so easily misunderstood that their default interpretation is completely wrong. To continue to do so calls into question the motivation. I do not believe these people are studid. Therefore, they know that their words deceive people. Therefore, they know that they could easily avoid deception by using common words in the ways that they're expected to be used. Therefore, they are doing it with complete intent. This leads inexorably to "deception". (If my premise that they are not stupid is incorrect, then so too may be my conclusion that they are lying.)
And there's just no good reason to deceive people this way.
Quite honestly, I'd put that piece at something like the eighth-grade level, because I was intentionally trying to keep it simple enough that even high school readers here would understand. It is hardly a matter of pretense to make full and proficient use of one's mother tongue, nor should it be something to be quickly disparaged, if for no other reason because in so doing, you in effect say more about your own personal inadequacies than you do about those of the writer whom you're criticizing.
There was nothing pretended, feigned, dissembling, or fictitious in that particular piece of writing. For such matters, you need but look at the author of its parent article, who continues to define `free' as `encumbered'. That is an act of pretense, of dissembling. And you will note that it requires no ninth-grade terms to carry out this sleight of words. Pretense is completely unrelated to word size. However could you have thought otherwise?
To continue, neither was that language what one could in honesty call `flowery' by any reasonable stretch of the imagination. Perhaps you are not a native speaker of English, which would I suppose explain a great deal. But to anyone with more than a fifth-grade education, that was hardly what even a high-school student could construe as even moderately florid.
USA Today is hardly a sterling example of fine writing, you know. Well, or perhaps you don't. Therein may lie a large measure of the difficultly. If you've never been exposed to anything else, how could you know better?
Perhaps you need a more illustrative example of purple prose, that upon your next encounter with the same you might readily distinguish it from the more pedestrian writing endemic to this and to most other electronic fora. Here's something I wrote quite some time ago in which I in a sort of game purposefully employ the writer's art to what could charitably be called an attention-taxing extreme.
That was florid. The other piece was not. Do you now understand the difference?Perhaps I simply overestimated the average literacy level to which America has plummeted. I was unaware that I should be writing children's books. If this is the case, I suppose I'll have to write a spell checker based on some fifth-grader's reading assignments. I fear that if I were to adopt that mind-numbing strategy, something valuable would be lost.
But as soon as someone starts defining "encumbered" as "free", they've overstepped the bounds of honesty. There's nothing inherently wrong with encumbrance, mind you. It's unpleasant in certain cases, but it's not "wrong". If there were, I would be arguing against the GPL, and really I'm not. I'm arguing against deception.
I'm simply advocating talking to people in the language that they the listeners understand. I'm further pointing out that a consequence of intentionally using misleading language is to lose the respect of your peers, because you're now venturing into the realm of into spin control and other forms of artful deception.
An open community has no place for such tricks. Say what you mean, and mean what you say, and do so in a way that those hearing your message hear what you've actually said, not what they merely think you said.
Imagine acquiring a piece of artwork gratis, and then learning that it could only be hung in a room by itself, with nothing else on the walls, and that if you did try to hang something else on your wall, even something you yourself painted to complement the other portrait, you would be forced to give that painting of yours away.
People would balk at being told what they can do with something that's free. They do.
Again, there are two mis-statements in their publicity:
- `The FSF is about free software, not open software.' (It's the other way around. They believe in encumbrance, which is ipso facto non-free.)
- `GNU is not Unix.' (Of course it is.)
I would be far quicker to support them if they would cease and desist from using intentionally misleading language -- without changing the mechanics of anything else they do! So would a vast number of others of my acquaintance. Perhaps for some things, the GPL is a good encumbrance. I didn't say it had no valid use. But an encumbrance, a ligature, a tar-baby legalistic string that binds in perpetuity--all these things it remains. I repeat: this may in some cases be desirable! But it's far from free.I can't stand dishonesty, even in a good cause. In fact, I'm probably even less tolerant of it in such cases.
I've already said what I think should be different. Do you have other notions?
Like any radical political organization, the FSF surrounds itself with terminology-twisting rhetoric whose mission is more one of proselytization than it is one of disseminating honest truth. Repetition of half-truths does not make them more true; it just makes them better known. And in any marketing campaign, that's all that eventually counts. Lamentably.
There are two main myths of which the FSF must disabuse themselves of if they hope to be taken seriously by anyone of reputable intellectual and moral integrity. And to do so requires only an alternation of their rhetoric, not a change in licensing policies or software components. One can contemplate that in a completely different discussion.
The first myth is that the FSF has anything to do with free software. It doesn't. Free software is against their principles. That they say otherwise can only be justified by the application of Orwellian newsspeak as common words become twisted into their counterintuitive antitheses for reasons of pure propaganda.
What the FSF espouse is open software, not free software. They require only that software be forever open. This is not necessarily bad, of course. But it is not free to tell someone else what they can do with their lives. They do not allow it to be free in the libre sense, nor do they require it to be free in the gratis sense either. And note that `gratis' is what freeware means to everyone on the street. You can't change that perception. You can, however adapt to it. For some reason, the FSF refuse to do that.
Free software has no restrictions on it. Period. Anything more than `do whatever you'd like with this' is no longer free. Furthermore, the notion that anyone has the right to force others to obey what they must do with their own artistic output is about as far from free as one can imagine. It's also highly immoral, because it removes the option of choice. No choice, no morality.
The thing that chafes the honest people of this world is that it is deceptive to redefine a common word, which is what they've done. I don't care whether they've got a document somewhere where they say `Oh by the way, the word ``free'' in this document means ``comes with catsup''; that doesn't change the fundamental treachery. They didn't need to do this. They could have chosen a more honest and commonly accepted set of terms to effect the same ultimate goal. They didn't. Either they were wickedly clever, or pathetically stupid. And whatever else he is, Richard has never been stupid. I wish he could see that he's hurting himself.
More people need to be aware of the inherent deception that something calling itself `the free software foundation' is dedicated to creating software which is neither gratis nor libre, and certainly isn't free in the way that freeware is assumed to be free. Whether you call it damage control, marketing spin, or evil deception, the bottom line is that calling something that it's not is bound to produce confusion. As I've said a million times before, the solution is simple. Just find a new word, one that's honest and broadly understood. Don't change any licences. Just fix the damn word. Something that claims to be free software, should be. You shouldn't need a complex licence to understand this. If it's something that isn't intuitive to a twelve-year old, it's too hard. `Do as thou wilt' is free.
The second myth is that GNU is not Unix. Like the perversion of the simple word `free' into something that makes sense in no context but that of frothing fanatics, once again we see self-satisfied cleverness smugly wrapped up in word play for the smart people and consequently leaving the common man confused or tricked. Remember the environment in which this tired turn of phrase was coined: the fervent AT&T Unix policing of the word itself. This was obviously intrusive and destructive on their part, and it is no great wonder that RMS should have chosen terminology that would inherently distance himself from that minefield. Unix started in an open environment, and the crap AT&T subsequently pulled nearly killed it.
But in the end, nothing is changed. GNU is Unix, or they wouldn't try to say otherwise. If it looks like a duck, walks like a duck, and smells like a duck, then it most certainly is a duck--or if you prefer, a rose by any other name would still smell as sweet. If you reverse engineer the Unix /bin/cat program, even without ever looking at the source code, producing at last something whose input and output and very name are virtually indistinguishable from your model, then you end up with is a reimplementation of the Unix /bin/cat program. It's still a cat.
This doesn't mean that the FSF are of no use, nor that the GPL has no use. It would be dishonest to make that claim. But there are clearly places where these are not useful. One obvious example of where it is not useful is when it comes to avoiding costly reinvention of the wheel. Consider the miserable programmer who would like to use GNU readline or gdbm or some clever search algorithm from some other GPL-licensed program within a program that needs to use closed and proprietary Oracle SQL libraries. You cannot force Oracle to open its software, so you're screwed. Have a nice time reinventing your own industrial-strength database. No employer will put up with that nonsense, so instead you get to reinvent readline(). That does nothing to further the science or art. It's counterproductive. The real world is full of compromises like this. The inflexibility of the GPL interferes with people trying to get an honest job done, and ends up causing needlessly wasted efforts What a shame!
Of course, there are clearly other places where the FSF and the GPL in fact are useful. They shouldn't go away. If they did, something important would be lost. I do not want to lose that.
What must go away is is the deception. If they'd only stop prevaricating, they could be taken a lot more seriously. But so far--and doubtless in the foreseeable future--what appears to be an unfortunate combination of ignorance and arrogance has prevented them from admitting their fundamental error. This sucks.
The notably oxymoronic `FSF' are engaged in the artful lying of telling half-truths for deceptive and consequently dishonorable purposes, just like any other marketroid, ad-man, con artist, Scientologist, or similar shyster. Remove the lie and keep the religion. They have something to say, and it should be heard. But delete the lies.
It should not hurt their cause to tell the simple truth. What does inflict grievous harm upon their cause is they way that they insist upon splitting hairs like so many lawyers and pharisees rather than honest men. I don't know why they don't see and stop this needlessly selfdestructive rhetoric.
But I begin to wonder: are the lies somehow indispensable to the promulgation of the cult? Can the GPL exist without the deceptive rhetoric? Can the FSF? That would be a sad thing, were it in fact the case. It really shouldn't have to be that way.
Fine. Why don't you design a benchmark that you think the free Unixes will do better at? I mean computer performance, not price performance. :-) One obvious thing that comes to mind is this risible Samba thing being replaced by NFS. Another is generating dynamic pages instead of static ones. But that's just the start. What else would prove interesting?
And what about running a variety of operating systems on the same hardware? What about BSD? What about Solaris for an x86?
Ever see what happens when someone tries to combine something like the proprietary Oracle libraries and something like GNU DBM or GNU readline or GNU getopts into one program? Do you know what happens?
It goes boom. This is not a pretty picture. In fact, the developer is forbidden from doing this. Gosh, that's just wonderful, eh?