Domain: perl.com
Stories and comments across the archive that link to perl.com.
Comments · 775
-
Re:Windows clusters don't make sense
top - pslist
ptree - pslist
w - psloggedon
ls -al - dir /adhs, fsutil (both standard)
finger - finger (standard)
unzip - expand (standard, for CABs), cygwin unzip, rar
mount - (automatic), fsutil, linkd (from resource kit)
make - make (comes with SDK)
grep - find (standard)
piping with | > < are the same
perl
cygwin for other UNIX processing utils. -
Re:Latent Sematic Indexing
it sounds like it's just a big ol' LSI System
A Perl implimentation of LSI can be found at Building a Vector Space Search Engine in Perl
However, there are at least three problems. First, it doesn't look LSI can answer questions like "Who is the Prime Minister of Canada?"
Second, the approach is patented by Telcordia Technologies.
Third, there are scalability problems with LSI. The author of the Perl article writes:
For all its advantages, LSI also presents some drawbacks. The poor scalability of the singular value decomposition (SVD) algorithm remains an obstacle to indexing very large collections. While techniques have been developed for making incremental updates to a scaled collection, these changes typically cannot exceed a certain threshold without triggering a rebuild [7,8]. These constraints make LSI ill suited to the kinds of large, rapidly changing document collections typically found on the Web.
A further disadvantage to LSI is the difficulty in interpreting the underlying reduced term space [4]. This makes it difficult to select an optimum number of singular values to retain in the SVD for a given collection, or allow domain exert adjustment of relevance values in the reduced space once the SVD has been calculated.
As a result, the author is now pursuing something called Contextual Network Graphs and has written a Perl module that was updated as recently as last August.
-
Re:Hold Crap!
It allows programming to be FUN.
A succinct case for Perl as a first language is made by Simon Cozens, one of the co-authors of the book:
It's ideal because it's a real-world language, unlike one designed specifically for teaching, such as BASIC (Visual or otherwise). It's a high-level language that deals naturally with natural concepts like strings and lines of text, unlike something like C; and it allows easy data and text manipulation without a tortuous syntax, unlike something like Python or Tcl.
There's an informed discussion of the question at PerlMonks.
A more interesting question is what is the best second language. Now that programming has your attention, should you move to something that teaches the fundamentals like Assembler or C or do you move to something with a broader scope like C++ and Java? Or do you choose something mind-expanding like Lisp or Smalltalk?
-
GPL'd libraries purged of GNU virus
I have just now written a version of readline() that:
(1) conforms to the standard GNU readline() API
(2) in fact actually uses the standard GNU readline() function
(3) does *NOT* poison your code with the GPL
Because we now have the existence proof that there somewhere exists a
non-infective version of the library API ,this means that readline()
is now safe for anyone to link against without any viral contamination.
Enjoy!
Of even greater interest is that my small proof-of-concept example is
not specific to readline(). All GPL'd library code can be effectively
purged of the virus.
Freedline can be obtained Here
Rejoice! -
Perl isn't just GPL.
Also available under The Artistic License. You might like it over the GPL.
-
Sexy Picture of Chris DiBona Enclosed
a real sexy picture of Fat Bastard Chris DiBona
-
Think about this
If my calculations are correct then when you run another Debian emulated on top of the Mac OS X Panther, which itself runs under PearPC on the underlying Debian, then when you run apt-get dist-upgrade there is already a new stable version of Debian released.
Oww. That hurt to think about.
Oh, really? Than you should think about this:
The best compliment I've gotten for CPR is when my ActiveState coworker Adam Turoff said, "I feel like my head has just been wrapped around a brick". I hope this next example makes you feel that way too:
#!/usr/bin/cpr
int main(void) {
CPR_eval("use Inline (C => q{
char* greet() {
return \"Hello world\";
}
})");
printf("%s, I'm running under Perl version %s\n",
CPR_eval("&greet"),
CPR_eval("use Config; $Config{version}"));
return 0;
}Running this program prints:
Hello world, I'm running under Perl version 5.6.0
Using the eval() call this CPR program calls Perl and tells it to use Inline C to add a new function, which the CPR program subsequently calls. I think I have a headache myself.
(from Pathologically Polluting Perl by Brian Ingerson)
Lameness filter encountered. Post aborted! Reason: Please use fewer 'junk' characters. Hopefully my explanation will dilute those "junk characters" and will let me post this comment. It's interesting that this lame filter stops me from quoting programs but doesn't stop anyone from posting full-screen ASCII-art swastikas and pornography. But anyway...
Thanks to the Inline module, it is possible to include fragments of C code in Perl programs. You can write part of your Perl program in C (for example one speed-critical subroutine) and it is automatically compiled to native binary machine code and linked as a shared object (see this comment of mine and read the paragraph starting from "Actually, inlining other languages..."). CPR stands for "C Perl Run." From the description:
Is it C? Is it Perl? It's neither, it's both. It's CPR! CPR (C Perl Run) is a "new language" that looks like C. You don't need to compile it. You just run it, much like Perl. As an added bonus, you'll get access to the full internals of Perl via the CPR API. The idea is that you just put a CPR hashbang at the top of your C program and run it like a script. The CPR interpreter will run your C code under Perl.
In other words, CPR program is a C program which is run by Perl, just as if it was a C code inlined in a Perl program.
Now, in this case, the C program I quoted (which is itself run by Perl), includes a Perl code inlined in C by CPR_eval(). What is inside that inlined Perl code is an inlined C code (use Inline...) which is a C function greet() that returns a C pointer to C string "Hello world". The next part of the original (outermost) C program is a C printf() function printing two C strings. Those C strings, arguments to printf(), are returned by two invocations of CPR_eval(), both of which inline Perl code. The second one just returns Perl interpreter version, but the first one is more interesting. The first CPR_eval() returns a C string to printf() which is converted from a Perl string returned by the Perl code inlined in that CPR_eval(), which is a call to Perl greet() subroutine which was defined earlier by the C function inlined in the Perl code inlined in the C code by the first CPR_eval() invocation. It all happen inside a C main() fu
-
Think about this
If my calculations are correct then when you run another Debian emulated on top of the Mac OS X Panther, which itself runs under PearPC on the underlying Debian, then when you run apt-get dist-upgrade there is already a new stable version of Debian released.
Oww. That hurt to think about.
Oh, really? Than you should think about this:
The best compliment I've gotten for CPR is when my ActiveState coworker Adam Turoff said, "I feel like my head has just been wrapped around a brick". I hope this next example makes you feel that way too:
#!/usr/bin/cpr
int main(void) {
CPR_eval("use Inline (C => q{
char* greet() {
return \"Hello world\";
}
})");
printf("%s, I'm running under Perl version %s\n",
CPR_eval("&greet"),
CPR_eval("use Config; $Config{version}"));
return 0;
}Running this program prints:
Hello world, I'm running under Perl version 5.6.0
Using the eval() call this CPR program calls Perl and tells it to use Inline C to add a new function, which the CPR program subsequently calls. I think I have a headache myself.
(from Pathologically Polluting Perl by Brian Ingerson)
Lameness filter encountered. Post aborted! Reason: Please use fewer 'junk' characters. Hopefully my explanation will dilute those "junk characters" and will let me post this comment. It's interesting that this lame filter stops me from quoting programs but doesn't stop anyone from posting full-screen ASCII-art swastikas and pornography. But anyway...
Thanks to the Inline module, it is possible to include fragments of C code in Perl programs. You can write part of your Perl program in C (for example one speed-critical subroutine) and it is automatically compiled to native binary machine code and linked as a shared object (see this comment of mine and read the paragraph starting from "Actually, inlining other languages..."). CPR stands for "C Perl Run." From the description:
Is it C? Is it Perl? It's neither, it's both. It's CPR! CPR (C Perl Run) is a "new language" that looks like C. You don't need to compile it. You just run it, much like Perl. As an added bonus, you'll get access to the full internals of Perl via the CPR API. The idea is that you just put a CPR hashbang at the top of your C program and run it like a script. The CPR interpreter will run your C code under Perl.
In other words, CPR program is a C program which is run by Perl, just as if it was a C code inlined in a Perl program.
Now, in this case, the C program I quoted (which is itself run by Perl), includes a Perl code inlined in C by CPR_eval(). What is inside that inlined Perl code is an inlined C code (use Inline...) which is a C function greet() that returns a C pointer to C string "Hello world". The next part of the original (outermost) C program is a C printf() function printing two C strings. Those C strings, arguments to printf(), are returned by two invocations of CPR_eval(), both of which inline Perl code. The second one just returns Perl interpreter version, but the first one is more interesting. The first CPR_eval() returns a C string to printf() which is converted from a Perl string returned by the Perl code inlined in that CPR_eval(), which is a call to Perl greet() subroutine which was defined earlier by the C function inlined in the Perl code inlined in the C code by the first CPR_eval() invocation. It all happen inside a C main() fu
-
Perl equivalent is...
The Perl equivalent is Class::DBI. This is quite a good module for working with databases, as it can save you from writing a lot of code. This article discusses the power of Class::DBI combined with the Template Toolkit, the best pure-MVC templating system there is. Maypole is a system built around these two modules that lets you create a complete Web-based database interface in as little as ten lines of code! Another Maypole article is here.
-
Perl equivalent is...
The Perl equivalent is Class::DBI. This is quite a good module for working with databases, as it can save you from writing a lot of code. This article discusses the power of Class::DBI combined with the Template Toolkit, the best pure-MVC templating system there is. Maypole is a system built around these two modules that lets you create a complete Web-based database interface in as little as ten lines of code! Another Maypole article is here.
-
Re:More tricks
No wonder some folks complain about GTK and Perl.
=D
Really, I didn't even really have a good idea of what a closure was until I learned to use them in Perl. It just seemed natural in Scheme. Sort of like how I didn't really understand certain parts of English grammar until I started learning other languages, even though I could use them fluently. -
Re:VM: The Way to Go?You say that it "easier to get good performance from higher-level languages than machine code". That's a weird comparison. "Machine code" is a way of implementing higher level languages CPUs do not interpret Perl or Java. You need intermediate languages or runtimes. Perl has such an intermediate form today. "After locating your script, Perl compiles the entire script into an internal form." That's from the Perl documentation. If you want to have a discussion on this topic you need to be prepared to compare Perl's current internal representation to a byte-code based one. Most of the universe (Java,
.NET, Python, Smalltalk) seems to be moving towards bytecodes but maybe you have an argument that working with parse trees is more efficient?I'd suggest you read a bit more.
-
Re:No thanks and fuck him and fucking language
Seriously, the guy is basically the computer anti-christ from Revelations.
He comes and people proclaim him the savior, only after everyone has been well marinated in the OO KoolAid(tm) do people realize, damn we've been had, this whole this sucks, is not productive and the prophesied code-reuse never happened.
It turns out the drunken monkey fulfilled the code reuse promise.
If I ever met the guy, I would beat him within an inch of his life for all the fucking extra work I've had to do to pull these Java-Only idiots through even the simplest troubleshooting or development tasks. Oooh! Java is so great - good then learn how to open a fucking socket listener and handle a few connections.
Sorry, I'm very bitter from doing all the work while a team of asses sat around complaining that there was work to be done and collecting a salary. -
Re:Improving your Presentations
"I'd highly recommend anyone out there who is looking to improve their presentations to check out "Presenting to Win", by Jerry Weissman. Excellent book on giving presentations."
While we're on the essay reccomendations, Perl now has a page up on giving presentations, geared towards the shorter presentations -
Other options
-
My Top Ten Tools
-
My Tools
-
Re:Microsoft the underdog.
I think your argument is correct. Who could possibly think there's other companies or organizations that build influential software that people use all the time?
No, truly, Microsoft is the only place to create influential software... -
Re:RFC
Not an RFC, but another great joke gone to implementation
-
Re:This is another reason why C should be deprecat
for best effect use 'PERL' instead of 'Perl' or 'perl', makes you sound even more like you are talking out of your ass
Yeah!!!
I mean with Perl.com typing it as Perl all over the site, not to mention Larry Wall's Very Own Perl Page typing it as Perl, you'll look l33t spelling it as PERL!
For the record, I didn't read it as a troll, but as humour...
-
Assm and Perl
Performance is much more a matter of structure (exponential complexity) than language (poor linear complexity). As to level, "high level" languages limit you to their implementation of a few concepts. Depending on where the heavy lifting is, Perl could easily outperform optimized C.
Speaking about Perl and Assembly, it is important to mention that there are modern object-oriented assembly languages with asynchronous I/O, events, threads, multiple inheritance, garbage collection, built-in Unicode support, etc. See: Parrot Assembly, and IMCC:
"IMC stands for Intermediate Code; IMCC stands for Intermediate Code Compiler. You will also see the term PIR which is for Parrot Intermediate Representation and means the same as IMC, but for some each Parrot developer has his favorite term. PIR was the original term, where IMC seems to be the vernacular. It is an intermediate language that compiles either directly to Parrot Byte code, or translates to Parrot Assembly language. It is the preferred target language for compilers for the Parrot Virtual Machine. PIR is halfway between a High Level Language (HLL) and Parrot Assembly (PASM)."
How Is IMCC different than Parrot Assembly language?"PASM is an assembly language, raw and low-level. PASM does exactly what you say, and each PASM instruction represents a single VM opcode. Assembly language can be tough to debug, simply due to the amount of instructions that a high-level compiler generates for a given construct. Assembly language typically has no concept of basic blocks, namespaces, variable tracking, etc. You must track your register usage and take care of saving/restoring values in cases where you run out of registers. This is called spilling.
"IMC is medium level and a bit more friendly to write or debug. IMCC also has a builtin register allocator and spiller. IMC has the concept of a "subroutine" unit, complete with local variables and high-level sub call syntax. IMCC also allows unlimited symbolic registers. It will take care of assigning the appropriate register to your variables and will usually find the most efficient mapping so as to use as few registers as possible for a given piece of code. If you use more registers than are currently available, IMCC will generate instructions to save/restore (spill) the registers for you. This is a significant piece of every compiler.
"While it is possible to write more efficient code by hand directly in PASM, it is rare. IMC is still very close to PASM as far as granularity. It is also common for IMCC to generate instructions that use less registers than handwritten PASM. This is good for cache performance."
For a good introduction to Parrot, read Parrot: Some Assembly Required by Simon Cozens. There is a great article (also on ONLamp.com) Building a Parrot Compiler by Dan Sugalski (I have no idea why it wasn't posted on the Slashdot front page).
(By the way, for those who read off-line, here is a printable version of the linked Why Learning Assembly Language Is Still a Good Idea article in one piece.)
-
Fr1sty PSOSTAS are for widoze lusersGNAA Launches Counter-Attack Against FBI-AOL Alliance! The_Mystic_F
June 7th, 2004
Reporting from The MotherlandIn the wee hours of Monday morning tireless GNAA (Gay Nigger Association of America) soldiers were gathering intelligence reports on AOL. GNAA has been at war for some time with the AOL-Time Warner Corporation and recently tensions have risen to a boiling point.
"It was clear that things were about to get nasty," recalls GNAA member penisbird while he took part in a massive gay orgy, "but we never expected this, ah yeah, you give the best rim-jobs Shaquille O'Neil."
While launching some minor trolling raids into AOL territory, the surprise news hit them. The FBI had decided to join the ranks of AOL's dreaded KKK group.
"It came as a surprise, the FBI has always leaned on the side of Whitey, but this is further than we ever expected them to go," reports GNAA member rkz.
So GNAA, never a group to take things lying down, grabbed their ginormous cocks and battled back.
GNAA members Ghostface and Method Man quickly plunged balls deep into AOL's wide open servers. In the ensueing battle AOL proved to be a paper tiger and the gay niggers that they had kept as prisoners were liberated in the pre-dawn raid. All employees were forced to listen to the "You've got mail!" soundbyte until they all committed suicide.
"Wu-Tang Clan ain't nutin' to fuck wit'," proclaimed a triumphant Ghostface.
The FBI has remained on the sidelines during the intense battle that has gone on between GNAA loyalists and AOL catamites. They have yet to even confirm that the alliance exists. GNAA operatives speculate that the move was a bluff by AOL.
"It was a bluff," quoth penisbird.
We will simply have to wait and see how events unfold from here.
About GNAA:
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.
Are you GAY ?
Are you a NIGGER ?
Are you a GAY NIGGER ?
If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!
Why not? It's quick and easy - only 3 simple steps!First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE and watch it. (You can download the movie (~280mb) using BitTorrent, by clicking here.
Second, you need to succeed in posting a GNAA "first post" on slashdot.org, a popular "news for trolls" website
Third, you need to join the official GNAA irc channel #GNAA on irc.gnaa.us, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!
If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is Niggernet, and you can connect to irc.gnaa.us as our official server. If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here.
If you have mod points an -
I worked for this company for a few years. So....GNAA Launches Counter-Attack Against FBI-AOL Alliance! The_Mystic_F
June 7th, 2004
Reporting from The MotherlandIn the wee hours of Monday morning tireless GNAA (Gay Nigger Association of America) soldiers were gathering intelligence reports on AOL. GNAA has been at war for some time with the AOL-Time Warner Corporation and recently tensions have risen to a boiling point.
"It was clear that things were about to get nasty," recalls GNAA member penisbird while he took part in a massive gay orgy, "but we never expected this, ah yeah, you give the best rim-jobs Shaquille O'Neil."
While launching some minor trolling raids into AOL territory, the surprise news hit them. The FBI had decided to join the ranks of AOL's dreaded KKK group.
"It came as a surprise, the FBI has always leaned on the side of Whitey, but this is further than we ever expected them to go," reports GNAA member rkz.
So GNAA, never a group to take things lying down, grabbed their ginormous cocks and battled back.
GNAA members Ghostface and Method Man quickly plunged balls deep into AOL's wide open servers. In the ensueing battle AOL proved to be a paper tiger and the gay niggers that they had kept as prisoners were liberated in the pre-dawn raid. All employees were forced to listen to the "You've got mail!" soundbyte until they all committed suicide.
"Wu-Tang Clan ain't nutin' to fuck wit'," proclaimed a triumphant Ghostface.
The FBI has remained on the sidelines during the intense battle that has gone on between GNAA loyalists and AOL catamites. They have yet to even confirm that the alliance exists. GNAA operatives speculate that the move was a bluff by AOL.
"It was a bluff," quoth penisbird.
We will simply have to wait and see how events unfold from here.
About GNAA:
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.
Are you GAY ?
Are you a NIGGER ?
Are you a GAY NIGGER ?
If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!
Why not? It's quick and easy - only 3 simple steps!First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE and watch it. (You can download the movie (~280mb) using BitTorrent, by clicking here.
Second, you need to succeed in posting a GNAA "first post" on slashdot.org, a popular "news for trolls" website
Third, you need to join the official GNAA irc channel #GNAA on irc.gnaa.us, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!
If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is Niggernet, and you can connect to irc.gnaa.us as our official server. If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here.
If you have mod points an -
GNAAGNAA Launches Counter-Attack Against FBI-AOL Alliance!
The_Mystic_F
June 7th, 2004
Reporting from The MotherlandIn the wee hours of Monday morning tireless GNAA (Gay Nigger Association of America) soldiers were gathering intelligence reports on AOL. GNAA has been at war for some time with the AOL-Time Warner Corporation and recently tensions have risen to a boiling point.
"It was clear that things were about to get nasty," recalls GNAA member penisbird while he took part in a massive gay orgy, "but we never expected this, ah yeah, you give the best rim-jobs Shaquille O'Neil."
While launching some minor trolling raids into AOL territory, the surprise news hit them. The FBI had decided to join the ranks of AOL's dreaded KKK group.
"It came as a surprise, the FBI has always leaned on the side of Whitey, but this is further than we ever expected them to go," reports GNAA member rkz.
So GNAA, never a group to take things lying down, grabbed their ginormous cocks and battled back.
GNAA members Ghostface and Method Man quickly plunged balls deep into AOL's wide open servers. In the ensueing battle AOL proved to be a paper tiger and the gay niggers that they had kept as prisoners were liberated in the pre-dawn raid. All employees were forced to listen to the "You've got mail!" soundbyte until they all committed suicide.
"Wu-Tang Clan ain't nutin' to fuck wit'," proclaimed a triumphant Ghostface.
The FBI has remained on the sidelines during the intense battle that has gone on between GNAA loyalists and AOL catamites. They have yet to even confirm that the alliance exists. GNAA operatives speculate that the move was a bluff by AOL.
"It was a bluff," quoth penisbird.
We will simply have to wait and see how events unfold from here.
About GNAA:
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.
Are you GAY ?
Are you a NIGGER ?
Are you a GAY NIGGER ?
If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!
Why not? It's quick and easy - only 3 simple steps!First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE and watch it. (You can download the movie (~280mb) using BitTorrent, by clicking here.
Second, you need to succeed in posting a GNAA "first post" on slashdot.org, a popular "news for trolls" website
Third, you need to join the official GNAA irc channel #GNAA on irc.gnaa.us, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!
If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is Niggernet, and you can connect to irc.gnaa.us as our official server. If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here.
If you have mod points -
Perl as a first languageForget the myth of Perl. It is a full featured language made by a linguist. That makes it fine as a first language.
Beginning programmers took quickly to Perl because "it allows you to express yourself naturally." For instance, the automatic conversion between string and numeric types is what non-programmers expect:
the string "3" doesn't mean 51; it means 3. And if you add "4" to it, you expect to get "7" back.
In this article you'll find an interview with Simon Cozens about this very issue. There are experiences about theaching perl as a first language that will surprise you.
Cozens firmly believes that Perl should be a first programming language. "Oh, absolutely! It's ideal because it's a real-world language, unlike one designed specifically for teaching, such as BASIC (Visual or otherwise). It's a high-level language that deals naturally with natural concepts like strings and lines of text, unlike something like C; and it allows easy data and text manipulation without a tortuous syntax, unlike something like Python or Tcl. In fact, I don't know if there's a better first programming language."
-
Perl
I may be biased, but Perl is robust.
You can start her off with very simple line-by-line programming (e.g. print "Hello World") and progress toward to structures.
Perl has the added benefit that it has instant gratification, little object-orientation, and above all is free. This is the Windows version.
If there still is any doubt, I taught myself to programming reading the camel book in middle school. It is very beginner friendly! -
Re:Brace yourself...
The Perl 5 string concatenation operator (full stop) has changed into an underscore in Perl 6. The reason was given ages ago - The full stop is now for a method call, like in many other programming languages. Yeah, I thought it looked ugly the first time I saw that. I don't really care.
I suspect (in other words, guess) the difference with "&&" and "and" will be the same as it is currently: They have different precedence. ("and" being tighter than "&&".) I don't really know.
You may find the Exegesis on the operator issues helpful.
-
Re:There's no such word as "virii"I'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!
The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."
Here's a good explanation from cdknow.com, quoted here in its entirety because the people who most need to read this won't click on a link.
The correct English plural of virus is viruses. Please consult any good dictionary before making up words.
For the purists, in Latin, there is a rarely-used plural form:
virus, viri (neuter)
(Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)
The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)
So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.
Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."
Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.
More plural-of-virus resources:
perl.com, the canonical and exhaustive source
Jonathan de Boyne Pollard's Frequently Given Answer
Merriam-Webster's "Word for the Wise," January 20, 2000. -
Re:ViriiI'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!
The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."
Here's a good explanation from cdknow.com, quoted here in its entirety because the people who most need to read this won't click on a link.
The correct English plural of virus is viruses. Please consult any good dictionary before making up words.
For the purists, in Latin, there is a rarely-used plural form:
virus, viri (neuter)
(Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)
The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)
So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.
Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."
Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.
More plural-of-virus resources:
perl.com, the canonical and exhaustive source
Jonathan de Boyne Pollard's Frequently Given Answer
Merriam-Webster's "Word for the Wise," January 20, 2000. -
Re:There's no such word as "virii"I'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!
The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."
Here's a good explanation from cdknow.com [cknow.com], quoted here in its entirety because the people who most need to read this won't click on a link.
The correct English plural of virus is viruses. Please consult any good dictionary before making up words.
For the purists, in Latin, there is a rarely-used plural form:
virus, viri (neuter)
(Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)
The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)
So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.
Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."
Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.
More plural-of-virus resources:
perl.com [perl.com], the canonical and exhaustive source
Jonathan de Boyne Pollard's Frequently Given Answer [tesco.net]
Merriam-Webster's "Word for the Wise [m-w.com]," January 20, 2000. -
There's no such word as "virii"I'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!
The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."
Here's a good explanation from cdknow.com, quoted here in its entirety because the people who most need to read this won't click on a link.
The correct English plural of virus is viruses. Please consult any good dictionary before making up words.
For the purists, in Latin, there is a rarely-used plural form:
virus, viri (neuter)
(Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)
The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)
So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.
Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."
Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.
More plural-of-virus resources:
perl.com, the canonical and exhaustive source
Jonathan de Boyne Pollard's Frequently Given Answer
Merriam-Webster's "Word for the Wise," January 20, 2000. -
Computers and Math
Computer programming requires a very intuitive grasp of boolean logic (Discrete math), symbolic logic (Algebra) and set theory (Discrete math again). Also, a good short to mid term memory is more important than intelligence. For many people, programming is a state of mind.
For example, the speed of a bubble sort is O(n^2). A trivial bubble sort has to iterate over a list for every element in that list. So, assuming n items in the list, the bubble sort needs to go through the list n times, each time going through the list (in a nested loop) n times. Giving you a speed of n*n, or n^2. Anyway, a merge sort is O(n*log(n)), but it requires 2n memory, whereas a bubble sort is done in n memory. So, which would be better for your application?
Network administration usually also requires a bit of math.
For example, the IP addresses 10.1.1.1 and 10.1.5.8 are in the subnet 255.255.248.0. To do this, I converted both IPs to binary, and found the most significant 0, and then 0'ed out all of the bits below that. Then I converted back to decimal.
(I simplified the examples, because explaining subnets or sorting is beyond the scope of this post.)
In short, I rarely do basic math, but some of the more advanced stuff is critical. I would suggest grabbing a copy of a programming language, and attempting to modify a simple program to do something else, to see if you have what it takes to be a programmer.
I'd suggest Perl, but that's my opinion, and opinions about languages vary greatly. Perl is one of the more natural languages, and may be more forgiving for you. Then again, it may cause more problems because you're not explicit enough in telling it what you want, in which case try Python.
Good luck. -
Perligata
How does Latin Perl sound to you?
The Sieve of Eratosthenes is one of oldest well-known algorithms. As the better part of Roman culture was ``borrowed'' from the Greeks, it is perhaps fitting that the first ever Perligata program should be as well:
#!
/usr/local/bin/perl -w
use Lingua::Romana::Perligata;
maximum inquementum tum biguttam egresso scribe.
meo maximo vestibulo perlegamentum da.
da duo tum maximum conscribementa meis listis.
dum listis decapitamentum damentum nexto
fac sic
nextum tum novumversum scribe egresso.
lista sic hoc recidementum nextum cis vannementa da listis.
cis.
The use Lingua::Romana::Perligata statement causes the remainder of the program to be translated into the following Perl:
print STDOUT 'maximum:';
my $maxim = <STDIN>;
my (@list) = (2..$maxim);
while ($next = shift @list)
{
print STDOUT $next, "\n";
@list = grep {$_ % $next} @list;
}
Note in the very last Perligata statement (lista sic hoc...da listis) that the use of inflexion distinguishes the @list that is grep'ed (lista) from the @list that is assigned to (listis), even though each is at the "wrong'' end of the statement, compared with the Perl version.
Actually, Perligata is more serious than it may seem.
On one level, it uses Latin -- which packs much of the meaning of sentences into word endings rather than word order -- as a case study for a programming language that doesn't enforce a particular mandatory word order on language statements. That is, in English, "boy chases dog" has a much different meaning than "dog chases boy", but in Latin you could write it either way because the inflection on the words controls the meaning. Likewise, in most programming languages, x = y has a different meaning than y = x, but if you had a language that was agnostic about "sentence order" then you could write it either way. Using Latin allowed him to demonstrate this in practice.
Why would anyone care? Well, when Perligata was written, Perl6 was just starting to be considered, and Damian was wondering what core concepts had to be maintained and which were open to revision. Among the assumptions he wanted to consider was word order, and Perligata is a case study in how you can throw it out the window without breaking anything.
Coming down to Earth, this technique could have other applications as well. For example, the techniques used in Perligata could be applied in a source filter to convert VBScript to Perl at run time. There are issues to consider, of course, but it could work, if you wanted it badly enough. To cite a real example, one of the core plans for Perl6 is that it should be able to run existing Perl5 code, and the techniques demonstrated in Perligata will probably be used to make that possible.
Likewise, the object framework for Perl 6 is very flexible, allowing people to hand-roll almost any style of OO programming they are comfortable with. If you pair this with things like the built in Unicode support (and, allegedly, no obstacles to using Unicode symbols directly in Perl6 code for things like variables, functions, overridden operators, etc), there's no reason why people couldn't prepare "localized" versions of Perl6. It'll be interesting to see if this ends up happening, but I wouldn't be surprised at all if
-
MoreThis is a great idea, but there's not a great deal on there. I've been making up CDs full of free and open source Windows software for a couple of years now, which (along with Knoppix and Toms) prove to be extremely useful. Here's just some of what's on there (note that some of the links don't actually point to the Windows version of that software; you might need to dig around a bit):
- Abiword - Word processor, supports
.doc, .rtf, GPL. - Open Office - Whole Office suite, including a database frontend and BASIC macro language.
- Perl - Scripting language
- Python - Scripting language
- Cygwin - UNIX emulator. Can create Windows programs, reliant on a cygwin1.dll.
- MinGW - Port of some of the UNIX utilities (BASH, gcc, vi...) to Windows.
- djgpp - UNIX emulator for DOS.
- Mozilla, Firefox, Thunderbird - Web browser, e-mail client, IRC client, lots more.
- Filezilla - FTP client.
- xchat - IRC client.
- putty, pscp, psftp and others - Telnet/SSH clients.
- Gaim - Client for IRC/Yahoo/MSN/ICQ/AIM and more.
- gzip - Compression (usually better than
.zip). - tar - Extracts/Makes tar archives.
- bzip2 - Totally ace compression (usually better than gzip).
- Info-ZIP - Support for
.zip. Good free substitute for Winzip. - 7-zip - Support for multiple compression formats.
- frhed - Hex editor
- Ext2fs - Several programs for doing Ext2 under Windows.
- Antiword - Converts documents out of the proprietary
.doc format. - MySQL - RDBMS.
- Apache - Web/Proxy server
- sendmail - Mail server
- squid - Proxy server
- freeamp - Audio player
- winlame - MP3 encoder
- cd-ex - MP3/OGG encoder?
- gimp - Very detailed graphics program.
- imagemagick - Graphic manipulation. Provides the 'convert' utility under UNIX.
- freeciv - Civilisation clone.
- gnuplot - Plotting package.
- TightVNC - A fork of VNC, with enhancements.
- RealVNC - The original VNC.
- rdesktop - Access Windows Terminal Services and Remote Desktops.
- Nmap - Well known port scanner.
- John the Ripper - Password cracker. Does NT and MD5.
- Abiword - Word processor, supports
-
Ah, computers.
Now we have languages that are hard enough for gurus to read half the time, and others that are so wonderful and elegant that I believe janitors of today could learn and use quite easily.
I remember using my first computer at age 5 and playing around with BASIC, and I could do a reasonable amount with it. Lets be glad though that most of us have moved on :> -
on linux/freebsd...i always make sure i've got at least these available: slashcode has some weird funky rule that makes only lets this code post if i type in this line of filler
-
Perl, the Web, and Rapid development
While the idea of a 3 year old book on web development appeals to the poetry in my soul, I think it is misleading. In the last few years the Perl dev community has been making really significant progress in enabling rapid development methodologies, in particularly using tools like Class::DBI
A book which claims to detail how to do web development with Perl and MySQL and doesn't address the following issues is painfully out of date:
* Class::DBI
* SPOPS
* Kake's How to avoid writing code
With the Perl Foundation funded work on Maypole being the most recent efforts in this direction. -
Interesting notes on Parrot
Please let us all keep in mind that only three years ago Parrot was merely an April Fool's joke (and quite brilliant at that). See the original Perl and Python Announce Joint Development press release on use Perl, the interview with Larry Wall and Guido van Rossum on Perl.com and the O'Reilly book announcement: Programming Parrot in a Nutshell by Guido van Rossum and Larry Wall. Does anyone remember the Perl + Python = Parrot Slashdot story? I am sure that back then absolutely no one was expecting that it might all come true some day. That's amazing how much has happened during those last few years.
-
It does bode *very* well for Perl 6
Aha! So even Larry Wall admits Perl is all "gobbledygook"! This does not bode well for Perl 6.
As a matter of fact, it does bode well for Perl 6. Even very well, I might add. As Larry Wall has said in his famous State of the Onion speech on TPC4: "Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community." Also, please let me quote the first Apocalypse: "What I will be revealing in these columns will be the design of Perl 6. Or more accurately, the beginnings of that design, since the design process will certainly continue after I've had my initial say in the matter. I'm not omniscient, rumors to the contrary notwithstanding. This job of playing God is a little too big for me. Nevertheless, someone has to do it, so I'll try my best to fake it. And I'll expect all of you to help me out with the process of creating history. We all have to do our bit with free will." Now, I can assure you that those four years were not wasted as you seem to imply. I think Larry Wall has used the right words on OSCON 2003:
- We the unwilling,
- led by the unknowing,
- are doing the impossible
- for the ungrateful.
- We have done so much for so long with so little
- We are now qualified to do anything with nothing.
How true...
-
Perl6 is a mistakeI've been using perl pretty much constantly since the Pink Camel, and believe me, Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal. Recently I've started using Ruby as well, and I intend to move my department over to it instead of wasting time with Perl 6.
One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language (and not one with loads of irritating whitespace thank you very much).
The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.
Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.
On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this. Does he want Perl 6 to be flex or something?
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. To put it bluntly, Perl scripts will still look less beautiful than our friend Mr Goatse. I'd prefer to use a language which has always been pure synthesis of science and engineering, not some half-baked imposter.
Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD^H^H^H^H Perl is dying. Larry is buggering it up the ass without lubricants, just like Shoeboy is doing to Larry's daughter.
-
Many Informative Links
I have submitted a story but it was rejected, so please let me resubmit it as a first post instead.
The long awaited Apocalypse 12 by Larry Wall has been just announced by chromatic on perl6-language mailing list. It is one of the most important documents explaining the Perl 6 language design. (All of the previous design decisions are available as Apocalypses by Larry Wall, Exegeses by Damian Conway and Synopses by Luke Palmer, Damian Conway and Allison Randal.) Apocalypse 12 talks about Object Oriented aspects of Perl 6, i.e. about Objects, Classes, Roles (also known as Traits), Multiple Dispatch and also covers some non-OO decisions:
"The official, unofficial slogan of Perl 6 is "Second System Syndrome Done Right!". After you read this Apocalypse you will at least be certain that we got the "Second System" part down pat. But we've also put in a little bit of work on the "Done Right" part, which we hope you'll recognize. The management of complexity is complex, but only if you think about it. The goal of Perl 6 is to discourage you from thinking about it unnecessarily." --- Larry Wall.
(Lameness filter didn't allow me to post the table of contents. Reason: Please use less whitespace.)
You can access the entire document as a print friendly version. The standard version of Apocalypse 12 is divided into 20 parts. Enjoy.
If you are new to Perl 6 and Parrot, then Perl 6 Essentials by Allison Randal, Dan Sugalski and Leopold Tötsch might be a great introduction. The second edition should be published soon.
-
Many Informative Links
I have submitted a story but it was rejected, so please let me resubmit it as a first post instead.
The long awaited Apocalypse 12 by Larry Wall has been just announced by chromatic on perl6-language mailing list. It is one of the most important documents explaining the Perl 6 language design. (All of the previous design decisions are available as Apocalypses by Larry Wall, Exegeses by Damian Conway and Synopses by Luke Palmer, Damian Conway and Allison Randal.) Apocalypse 12 talks about Object Oriented aspects of Perl 6, i.e. about Objects, Classes, Roles (also known as Traits), Multiple Dispatch and also covers some non-OO decisions:
"The official, unofficial slogan of Perl 6 is "Second System Syndrome Done Right!". After you read this Apocalypse you will at least be certain that we got the "Second System" part down pat. But we've also put in a little bit of work on the "Done Right" part, which we hope you'll recognize. The management of complexity is complex, but only if you think about it. The goal of Perl 6 is to discourage you from thinking about it unnecessarily." --- Larry Wall.
(Lameness filter didn't allow me to post the table of contents. Reason: Please use less whitespace.)
You can access the entire document as a print friendly version. The standard version of Apocalypse 12 is divided into 20 parts. Enjoy.
If you are new to Perl 6 and Parrot, then Perl 6 Essentials by Allison Randal, Dan Sugalski and Leopold Tötsch might be a great introduction. The second edition should be published soon.
-
Many Informative Links
I have submitted a story but it was rejected, so please let me resubmit it as a first post instead.
The long awaited Apocalypse 12 by Larry Wall has been just announced by chromatic on perl6-language mailing list. It is one of the most important documents explaining the Perl 6 language design. (All of the previous design decisions are available as Apocalypses by Larry Wall, Exegeses by Damian Conway and Synopses by Luke Palmer, Damian Conway and Allison Randal.) Apocalypse 12 talks about Object Oriented aspects of Perl 6, i.e. about Objects, Classes, Roles (also known as Traits), Multiple Dispatch and also covers some non-OO decisions:
"The official, unofficial slogan of Perl 6 is "Second System Syndrome Done Right!". After you read this Apocalypse you will at least be certain that we got the "Second System" part down pat. But we've also put in a little bit of work on the "Done Right" part, which we hope you'll recognize. The management of complexity is complex, but only if you think about it. The goal of Perl 6 is to discourage you from thinking about it unnecessarily." --- Larry Wall.
(Lameness filter didn't allow me to post the table of contents. Reason: Please use less whitespace.)
You can access the entire document as a print friendly version. The standard version of Apocalypse 12 is divided into 20 parts. Enjoy.
If you are new to Perl 6 and Parrot, then Perl 6 Essentials by Allison Randal, Dan Sugalski and Leopold Tötsch might be a great introduction. The second edition should be published soon.
-
Re:Still way outdated, Apple fanatics please read.Windows XP? I prefer Windows 2000 myself
If you continue to base your opinions on a copy of Windows 3.1 you once used ten years ago - OS 9 was arguably even worseI didn't post above, but I currently use both XP and 2000 daily. Make your own decisions but I also use OS X daily and it's far and away the most pleasant working environment I've encountered to date. That doesn't mean it's perfect, by any stretch of the imagination, but that's not the point now, is it.
As for "OS 9," um, who's talking about OS 9?
If you want Unix, install Linux... FreeBSD... SuSE... Debian... Lycoris... Lindows... There are choices in the Windows world.
Well, by the time I've finished clicking through the (Continue) buttons in an OS X install I've managed to install both the entire GUI environment and the entire Unix OS. I can also install other Unix systems on Mac hardware, but frankly I've got everything I need right here.
I don't need to install anything else except Logic Pro 6, Ableton Live, MetaSynth, ArtMatic Pro, MetaTrack, Voyager, VTrack, Absynth, OmniGraffle, OmniOutliner, OmniDiskSweeper, Studiometry, FileMakerPro, Adobe Creative Suite, LaunchBar, MySQL, Perl 5.8.3, Fink, Plone, Keynote, BBEdit, FastTrack Schedule Pro, Sonasphere, Toast 6, ZBrush, and a few more but I'll get to those tomorrow.
I run all these (plus my email, internet, contacts management, calendaring, etc) in the same operating environment; not an emulation shell, not after dual-booting, but in the very same operating system and simultaneously.
To top it all off OS X comes with a full set of developer tools, documentation and optimization utilities, plus Cocoa+Obj-C is a match made in heaven.
There's no need to pay Apple for a decent Unix experience.
Well, I believe there is. I enjoy the ability to support quality whether it's a film, a restaurant, a music venue, a book, clothing, my neighborhood, an artist, etc. every single day.
The hardware is just a hunk of material until you've discovered/designed an interface with which to use it. Solely on a base consumer level, I'm very happy to pay Apple for what is, in daily practice, a superior computer operating system. From the level of both a technology consultant and a media creator, the solution is very simple.
OS X is a very impressive "Holy Grail" for all my current activities. Strap me in because I'm ready to get to work.
-
Re:Sigh....
Hmmm... you don't don't *look* like Simon Cozens
:) -
Re:What day is it launching on?
Yeah but an even cooler joke would be throwing something up that everyone thinks is an April Fool's joke, and then doing it for real. A meta-April Fool's joke, if you will.
You mean like Parrot?
Quoting from the Parrot FAQ:
The name "Parrot" relates to Simon Cozens's April Fool's Joke where Larry Wall and Guido van Rossum announced the merger of the Perl and Python languages.
Except now it's real, it's the already-implemented runtime engine for Perl 6, and the ability to run a variety of dynamic languages like Perl, Python, Ruby, PHP, etc is explicitly part of the design.
Heh...
:-) -
Re:protecting from viruses
Actually, viruses is correct.
Check out dictionary.com, and this essay entitled "What's the plural of 'virus'?". -
Re:Power Power Power
Oh please, the death throes of Perl? Maybe you should read this.
-
Re:Still need antibodies
* I've heard virii is now passe' -- any confirmation?
*virii is not, and has not ever been, correct. For that matter, neither is *viri, as used in this product title. Basically, virus was a numberless noun in Latin, so it had no Latin plural, and viruses is the only valid English plural.
This page has more information than you probably ever wanted to know on the subject.
-
OT: Viruses or just Virus
* I've heard virii is now passe' -- any confirmation?
It's not just passe, it's grammatically nonsensical. Pluralize it as if it was English. "Virii" would require the nonexistant "virius" to be correct, and "viri" is the plural of "vir" already. Some scholars think that virus had no plural form and should be treated like "fructus" and just use the same word for singular and plural.