[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[humorix] Perl + Python + Parrot + C + ... + Java = Polymorph



----
Warning:  humorous content ahead.
To prevent overdosage for the sensitive readers, please
take your discussions to humorix-l@nl.linux.org...
----

Perl + Python + Parrot + C + ... + Java = Polymorph
April 3, 2001

In what has been heralded as the greatest innovation in the
computer industry since the invention of 1's and 0's, a fat
guy working in his basement has created a new
meta-programming language called Polymorph.  

"It may not be a cure for cancer (probably), but it is a
cure for holy wars," boasted Norbert Walmsley, the creator
of Polymorph.  "Why fight over Perl and Python, or C++ and
Java, when when you can program in every one
simultaneously?"

That's right, simultaneously.  Taking a cue from quantum
mechanics, Polymorph allows code from many languages to
co-exist in a state of superposition within the same source
file.  Of course, when the compiler touches the source, the
code settles down into a single state.

"Every programmer has encountered a situation where they've
been forced to program in Language A by decree of their
Pointy Haired Boss, but they'd rather be hacking in
Language B but at the same time they would also like to
borrow a feature or three from Language C and D.  
Polymorph makes that possible," says Mr. Walmsley. 
"Instead of restricting yourself to one language, you can
program in an infinite number of languages at once, and the
Polymorph compiler will take care of the details."

In addition, Polymorph also allows the programmer to create
their own personal programming language on the fly. 
According to the four-color glossy that accompanies
Polymorph, "If you think all existing languages suck, then
fine.  Just take a quick 12 question survey which Polymorph
will use to create your own tailor-made language from
scratch."

The Humorix Vast Research Labs Of Doom(tm) installed a beta
copy of the software and filled out the survey, which looks
like this:

1. What is your opinion on Object Oriented Programming?
  a) It's the best thing since sliced bread.
  b) It's the best thing since instant coffee.
  c) What now?
  d) It's an evil conspiracy concocted by "The Man" to
     achieve world domination by ensuring that all software
     projects are impossible to maintain and eventually
     implode on themselves.
  e) It's a buzzword bandied about by PHBs and nothing more.
  
2. What type of compiler warnings do you prefer?
  a) None.  If it's possible to compile my program, I don't
     want to know about them.
  b) As obfuscated and terse as possible.  Real men know
     the difference between "Warning 10,232A" and "Warning
     10,232C" and like it, dammit!
  c) As misleading as possible.  I've grown accustomed to
     warnings in other languages that are completely
     inaccurate, citing an error on line 124 for instance
     when it's actually on line 1, and I wouldn't have it
     any other way.
  d) What now?
  e) Warnings?  No, I would prefer for the compiler to read
     my code, read my mind, and make the appropriate
     changes to the code to fix bugs transparently.  Why
     should I do all the work?

3. How do you feel about language syntax?
  a) Compilers should have strict rules for spacing,
     punctuation, and keywords, and then blow up
     spectacularly if even one ASCII character is out of
     alignment.
  b) Syntax?  People who watch "Star Wars" can understand
     Yoda perfectly, just as a compiler should understand
     my code perfectly no matter how intoxicated I am when
     I write it.
  c) What now?
  d) Spending hours debugging code that goes awry just
     because of a misplaced semicolon is one of the great
     pleasures that a programmer can have.

4. What type of source code do you find it easier to read,
   understand, and compose?
  a) Code that is virtually indistinguishable from line
     noise.
  b) Code that is so verbose that it requires 500 lines
     just to spit out "Hello world!"
  c) Code that is virtually indistinguishable from English
     prose because I don't want the FBI or MPAA to know
     what I'm up to.
  d) Code that other, inferior programmers would consider
     to be "write-only code".
  e) Why the heck would somebody want code that's easy to
     read, understand, and compose?

5. If you could be an animal featured on the cover of an
   O'Reilly book, which one would you choose?
  a) Camel
  b) Mole
  c) Raccoon
  d) Lion
  e) Tiger
  f) Mice
  g) Monkey
  h) Dog
  
6. What is your favorite ASCII character?
  a) parenthesis
  b) square bracket  
  c) at-sign
  d) curly brace
  e) hash mark
  f) pipe symbol
  g) underscore
  h) tilde

7. Which of the following statements best fits your
   programming philosophy?
  a) GOTOs have gotten a bad rap over the years.
  b) If it's not object-oriented, it's crap.
  c) If it IS object-oriented, it's really crap.
  c) The fastest way to shoot yourself in the foot is to
     use pointers.
  d) Comments are for weenies.
  e) Automatic garbage collection should be conducted by
     garbagemen, not programming languages.
  f) Message passing is a bad idea because it can allow one
     process to send spam messages to other processes
     advertising the latest "GET CPU CYCLES QUICK" scheme.
  g) If something can go wrong, you're obviously using a
     Microsoft programming language.

8. Which format do you prefer for entering numbers?
  a) Binary, because there's no use wasting precious CPU
     cycles converting numbers from decimal into binary
     when I can do that myself just fine.
  b) Octal, because Real Men use octal.
  c) Hexidecimal, because numbers like DEADBEEF are so cool
  d) Base 42, because I'm the only person on the whole
     planet that know how to use it.
  e) If it's not a power of two, I don't want to know about
     it.

9. What type of writing do you typically use for informal
   e-mails and chat room conversations?
  a) i like to write like e e cummings no puncuation all
     lowercase all the time
  b) I LIKE TO MAKE HEAVY USE OF MY SHIFT KEY SO EVERYONE
     WILL LISTEN TO ME!!!!! (CAPS LOCK? WHATS THAT?)
  c) I just LOvE writing in MixedCase because everyThing is
     a so much better exPressed as a TradeMark conconted by
     MarkeTingDROIDS.
  d) (I (suffer (from (a (severe (lisp))))))
  e) EverythingCanBeExpressedAsADomainName.com

10. What best describes the life cycle that your software
    typically goes through?
  a) I write it, it compiles, I'm finished with it.
  b) I write it. I'm the only one who understands any of
     it, thus maintaining job security.
  c) I write it, it compiles, I publish it on Sourceforge
     as Open Source software and let other schmucks debug
     it for me.
  d) I write it, the language sucks, it has lots of bugs, I
     get fired.
  e) I write it, it's the best piece of software ever
     created in its class, I get laid off when my dotcom
     goes boom, the code never sees the light of day.

11. Let's say the program you're writing may possibly try
    to divide by zero.  If this exception occurs, how
    should your program cope?
  a) Pretend that the error didn't happen.  The program
     will spit out bad data, but that's a user problem, not
     a programmer problem.
  b) Redefine the laws of mathematics so that any number
     divided by zero is equal to 42.  Problem solved.
  c) Spit out an ominous error message and terminate. 
     There's nothing more satisfying than watching the
     faces of end-users as they stare at an "Unknown Fatal
     Error" message they had nothing to do with.
  d) Don't worry about it because such errors only occur in
     programs written by inferior programmers.

12. What type of development and editing environment do you
    use?
  a) I use toggle switches on the front of my machine to
     input programs and data.  For those rare instances
     when I want permanent storage of my programs, I use a
     magnet to manipulate the individual bits on a floppy
     diskette.
  b) Can you say punch cards?
  c) I open up 50 xterms and then run vi in each one.
  d) I haven't left the friendly confines of Emacs in over
     two years.  Who needs an operating system?

Once the questionnaire is completed, Polymorph generates
the specifications for your own language.  The specs are
coded in "Meta-Polymorph", a programming language used to
define programming languages.  The syntax and structure for
Meta-Polymorph can itself by modified by hacking code
written in Meta-Meta-Polymorph, and so on.

"This is going to revolutionize the computer industry,"
beamed Mr. Walmsley. "Now anybody will be able to write
their own programs with little prior training or
experience.  Errr... wait a minute.  That's a bad thing! If
Joe Schmoe can write his own programs, what does that mean
for the outrageously high salaries of today's programmers? 
Maybe I need to rethink this whole thing."


................................................................
James Baughn
-
Humorix:      Linux and Open Source(nontm) on a lighter note
Archive:      http://humbolt.nl.linux.org/lists/
Web site:     http://www.i-want-a-website.com/about-linux/