×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Exegesis 7 Released (Perl 6 Text Formatting)

michael posted more than 10 years ago | from the folding-spindling-mutilating dept.

Perl 319

chromatic writes "Perl.com has just published Exegesis 7, Damian Conway's explanation of how text formatting will work Perl 6 (and now, Perl 5, thanks to his Perl6::Form module) will work. Think of it as Perl 1 for the 21st century. Also, Parrot 0.1.0, the virtual machine for Perl 6 and several other dynamic languages, released on Leap Day -- ever wanted to program in an object oriented assembly language?"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

319 comments

GNAA Leaks Windows 2000 Source code (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8470737)

GNAA Leaks Windows 2000 Source code
by GNAA staff

As previously reported here [slashdot.org], source code to Microsoft's latest operating system has been stolen.

So far, nobody claimed responsibility for the act, and Microsoft is denying it even happened. But you know better than that! GNAA 0wnz you.


We will be right back after this commercial break!
According to Google Zeitgeist [google.com], there are about 80% of Internet Explorer 6 [microsoft.com] users. The only platform supporting Internet Explorer 6 is, of course, Microsoft Windows. These statistics are consistent with the earlier presented graphs of the operating systems used to access Google, with the Windows family consistently taking the top 3 ranks. Out of remaining 20%, the split is even between MSIE 5.5, MSIE 5.0, both Windows-only browsers. Netscape 5.x (including Mozilla) counts for only a measly 5% of browsers used to access Google. As you can see from the graph, this sample was calculated starting from March 2001 until September 2003.
According to Google Zeitgeist [google.com], there are about 80% of Internet Explorer 6 [microsoft.com] users. The only platform supporting Internet Explorer 6 is, of course, Microsoft Windows. These statistics are consistent with the earlier presented graphs of the operating systems used to access Google, with the Windows family consistently taking the top 3 ranks. Out of remaining 20%, the split is even between MSIE 5.5, MSIE 5.0, both Windows-only browsers. Netscape 5.x (including Mozilla) counts for only a measly 5% of browsers used to access Google. As you can see from the graph, this sample was calculated starting from March 2001 until September 2003.
And now we return to our scheduled broadcast...

.________________________________________________. fucking
| ______________________________________._a,____ | CmdrTaco
| _______a_._______a_______aj#0s_____aWY!400.___ | will
| __ad#7!!*P____a.d#0a____#!-_#0i___.#!__W#0#___ | he ever learn that
| _j#'_.00#,___4#dP_"#,__j#,__0#Wi___*00P!_"#L,_ | GNAA is totally
| _"#ga#9!01___"#01__40,_"4Lj#!_4#g_________"01_ | unstoppable? Teamed
| ________"#,___*@`__-N#____`___-!^_____________ | up with the other troll groups,
| _________#1__________?________________________ | GNAA will absolutely own
| _________j1___________________________________ | the shitty place that is slashdot.
| ____a,___jk_GAY_NIGGER_ASSOCIATION_OF_AMERICA_ | Just remember, the longer the lines are,
| ____!4yaa#l___________________________________ | the smaller CmdrTaco's penis.
| ______-"!^____________________________________ | This logo is (C) 2003, 2004 GNAA
` _______________________________________________' [1] [idge.net]

(C) GNAA 2003, 2004


Re:GNAA Leaks Windows 2000 Source code (-1, Flamebait)

beware1000 (678753) | more than 10 years ago | (#8470773)

oooh, is that your ascii art?

My My, there is some talented childrens art around these days!
I will likely get marked as a troll for this.... but it was worth it ;)

n00b (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8470793)

n00b lol

CLIT FP for Perl (-1)

Sexual Asspussy (453406) | more than 10 years ago | (#8470739)

Perl rules, FUCK GNAA thank you

Re:CLIT FP for Perl (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8470797)

congraulations on FAILING IT fagcocky!

Re:CLIT FP for Perl (-1, Troll)

Anonymous Gay Sex (548357) | more than 10 years ago | (#8470824)

yeah, i totally suck. not only did I FAIL IT but i dissed the very group which claimed FP! i have wronged the CLIT... but since the CLIT basically consists of me these days, i don't expect to get lynched.

--sa

Re:CLIT FP for Perl (-1)

timecop (16217) | more than 10 years ago | (#8470987)

why do you dislike GNAA?
What have we done to you?
I remember we had quite productive relationship before.
What happened?

Re:CLIT FP for Perl (-1)

Anonymous Niggard (657484) | more than 10 years ago | (#8471212)

don't get all emo on me, man! i have nothing against GNAA, i just figured i'd spike an FP in your face.

as you can see by looking up a few screens, i got served.

--sa

The best thing about Perl (5, Interesting)

rgmoore (133276) | more than 10 years ago | (#8470748)

One thing that you really have to love about the people who write Perl is that they have a sense of humor. This kind of document could be extremely boring and bland, but Damian had the good sense to liven it up by using humorous examples, mostly drawn from Shakespeare. He's doing some great work, but he's also obviously having fun doing it.

Re:The best thing about Perl (4, Informative)

Saven Marek (739395) | more than 10 years ago | (#8470813)

The long lost art of Good Documentation. There's been quite a case made lately (read ESR's CUPS rant for an example) for software that doesn't need documentation, when its method of use is made obvious merely by it's design. I think for consumer software that's just meant to be used one or two ways sure that's a good idea.

But for something like Perl, it's all in the documentation. Here's to writers like Damian Conway not only providing summaries for new releases, but writing the original documentation!. If only it paid well!

That been said O'Reilly would sell a good deal less books if the original docos were all they should be cracked up to be. Guess it doesn't have to be that good! There's nothing like getting a new fresh O'Reilly title in the mail.

Mac desktops, OSX hints, scripts and more [67.160.223.119]

Re:The best thing about Perl (-1)

Seth Finklestein (582901) | more than 10 years ago | (#8470871)

Damian's overly cutesy style of writing is virtually unreadable.[1] I wish there were a Perl book that told me what I needed to know without resorting to stupid "humourous" anecdotes and references.[2] In fact, the so-called "apocalypses"[3] and "exegeses"[4] are just an example of how drawn-out and tedious the development process has become.[5]

Get over yourself, Damian.[6] Write the damn language, and release it sometime this century.[7]

Sincerely,
Seth Finklestein[8]
Perl Guru[9]

[1] Damian loves to use footnotes.
[2] Did you know that the word "humourous" can be spelled without one of the 'u's? However, that is the incorrect way.
[3] Perl is not a project of Biblical proportions. It is a programming language.
[4] Damian loves using words that you won't understand.
[5] Perl 6 development has been going on for three years. Release something more than a document.
[6] ...and learn that footnotes are to be used sparingly.
[7] The 21st Century.
[8] Not to be confused with Seth Finkelstein [sethf.com].
[9] I know Perl.

Re:The best thing about Perl (5, Interesting)

Anonymous Coward | more than 10 years ago | (#8470965)

I was lucky enough to be lectured by Damain Conway on the fundamentals of programming in C. Easily the best lecturer I have ever met. Of all the lectures in Computer Science he was the only one who managed to pack out the theatre everytime. I swear people came in just for the show.

A great combination of humour, intensity and analogies created an enthusiasm to listen and in turn learn. He even spent long hours writing applications to demonstrate principles (think virtual C intepreter with GUI).

Whats more he loved to teach, he wasnt just there to complete his hours required like most lecturers.

I wish we could find more people as talented as Damian to teach us. The world would be much smarter if we could.

I tried, but I failed (1, Insightful)

(1337) God (653941) | more than 10 years ago | (#8470749)

I just couldn't wrap my brain around Perl.

I ended up giving up and learning Python instead.

Re:I tried, but I failed (5, Funny)

grub (11606) | more than 10 years ago | (#8470872)


If you like Python, check out Ruby. I've been monkeying around with it at work for small things. It's like Perl but readable.. and object oriented from the ground up.. and easy to work with.. hmm, on second thought, it's nothing like Perl.

Re:I tried, but I failed (1, Informative)

Anonymous Coward | more than 10 years ago | (#8471117)

Yeah, except for the 75% of its operators that are cribbed straight from Perl...

Uh... (5, Funny)

double-oh three (688874) | more than 10 years ago | (#8470769)

"ever wanted to program in an object oriented assembly language?"

Uh... I gotta say... No.

Re:Uh... (4, Funny)

Brandybuck (704397) | more than 10 years ago | (#8471016)

I thought about this for five seconds in pseudo assembler, then my brain started leaking...

register cx public inherit register ax
push bx
push dx
ax::pop cx
bx.mov ax
shl bx->shr

Me either ... (4, Interesting)

pavon (30274) | more than 10 years ago | (#8471028)

but Parrot is really starting to excite me.

The main reason being it's potential use as a generic high level "ABI" of sorts. Look at GTK/GNOME for example. The developers choose to use C as the base language, largely because it was the easiest language to create bindings for - everything can link to C. But the problem is that C only implements procedural concepts. Anything else must be crafted from hand, like gObject. So you end up reimplementing all the features of a high-level object oriented language, in C, and often this implementation isn't even as efficent as the high level language's implementation. On top of that, when create bindings for a high level language, you wrap all of these gObjects inside of a native language object, and end up with double the overhead. So what it comes down to is that you worked four times as hard, and came up with something twice as slow, just to be able to have an object oriented library that many languages can link to.

Parrot has the oportunity to be for object oriented languages, what the C ABI has become for procudural languages - a common interface for programs of different languages to communicate. Imagine having high level libraries, that can be efficiently used by python, perl, ruby, befunge. Or having scriptable applications that are not just scriptable by one language, but by anything that targets parrot.

When you add to that they fact that it will be cross-platform, and more efficent then most of these high level languages were to begin with, it's hard not to get excited.

Re:Me either ... (4, Insightful)

pbox (146337) | more than 10 years ago | (#8471175)

Those are the promises of Parrot developers. It is however not that hard (but less wise) to get excited about promised values. It is better to get excited about delivered promises...

Parrot is not the first try at this "execution machine" model, and I suspect not the last one either. The only ones that survived (so far) are the ones that target a single language. Python, Java comes to mind, while mono and .net is barely limping along. Maybe there is more to this high failure rate...

At the same time it would be really exciting to see the birth of the first SUCCESSFUL cross-platform execution machine...

OO Assembly... (0)

Anonymous Coward | more than 10 years ago | (#8471036)

The early developers of .Net at MS did indeed do that for some time while compilers were being built. I do look at IL on occasion, if nothing more than "What the hell am I trying to do here?"

It's not as awful as it seems. I'd rather look at IL than x86 anyday.

Feel free to draw your conclusions as you wish.

I predict... (3, Insightful)

rokzy (687636) | more than 10 years ago | (#8470775)

lots of lame jokes about Perl code being incomprehensible despite the fact it can be the most readable.

Re:less than a minute later the prediction is true (0)

Anonymous Coward | more than 10 years ago | (#8470826)

http://developers.slashdot.org/comments.pl?sid=992 97&cid=8470784

Re:I predict... (2, Funny)

Anonymous Coward | more than 10 years ago | (#8471147)

Shamelessly stolen from some other post here for your enjoyment ;)

#!/usr/bin/perl

($e,$x,$y,$v,@m)=(shift,0,0,1,1 ,1,0,0);unshift@s,$_,$_ for 1..$e-1;unshift@s,$e;
@p=(1,0);for(@s){push@m,$d= shift@m;push@p,$a=shift@p;$d?$a?++$x:++$y:$a?--$x: --$
y,$l[$y][$x]=($e=>10?$v10?'00':$v100?0:'':$ e10?$v10?0:'':'').$v++,for 1..$_}
warn"@$_\n"for@l

But yeah, I *do* like Perl, I use it and it's FUN. Moreso than most other languages *shudder*vbscript*shudder* ...

A guy walks into his coworker's office.... (5, Funny)

Shut the fuck up! (572058) | more than 10 years ago | (#8470784)

The screen is covered with what looks like a still shot
of a copy of "The Matrix" screen saver.

He looks at it a minute, and realizes that the coworker
is reading it, so it can't be a screen saver.

He thinks about it a second, and then asks "Do you always
ready your email fully encrypted with PGP like that?
Decoding PGP in you head like that is _really_ impressive!".

"No," says the coworker, "that's just a Perl script I'm
working on".

Re:A guy walks into his coworker's office.... (4, Insightful)

sisukapalli1 (471175) | more than 10 years ago | (#8470971)

I know you are trying to be humorous and all... However, I feel this needs to be said...

With Perl, you can make the script/program/module as beautiful as you want, or as ugly as you want. Just to contrast with Java, Java forces you to be verbose -- very verbose. People claim that it makes them productive and it leads to maintainable code, but too much verbose code can be very confusing. With Perl, you have a choice of coding style, but there is no choice with respect to verbosity in Java.

There are places where clear, concise expression is useful. The tradeoff is that the readers have to have the vocabulary to comprehend what is written. Very few people complain "Gee, that guy writes in complex language, it is unreadable." Likewise, reading well written Perl code requires some familiarity with Perl.

Regarding how things look to unfamiliar people, try to look at a screenful of the most beautiful poetry (just pick a language that you are not familiar with -- may be Chinese, some Indian language), and then look at Perl code :)

S

Re:A guy walks into his coworker's office.... (1)

Unoti (731964) | more than 10 years ago | (#8471015)

Java only forces you to be a little verbose. Try COBOL! You're right though.

Re:A guy walks into his coworker's office.... (1)

Shut the fuck up! (572058) | more than 10 years ago | (#8471064)

Yeah, of course it was a joke. I am a full time Perl programmer. I never write unreadable code, it's well commented and other developers usually have no trouble figuring it out. Even people without a lot of Perl experience. Having and enforcing a coding standard is key though. Amongst many other things, I get very unhappy with my developers when I see things like $_ in the code (especially when it is invisible). Like any other language, you just have to keep on top of things and do things the right way.

Re:A guy walks into his coworker's office.... (0)

Anonymous Coward | more than 10 years ago | (#8471339)

Your argument still doesn't justify Perl's philosophy. Sure, I can (and try to) write clear Perl code, and avoid taking shortcuts whenever possible. For instance I always use full OO design, and I avoid tricks like using packages as singleton objects or other weird stuff. I try and structure all my loops the same, all argument variables the same, etc.

Fine and dandy. Until I need to use or extend a third-party library which *doesn't* follow my conventions. Now I have to descend into some other person's brain.. oops, looks like he thought a blessed scalar would be better than a blessed hashref. So I can't adapt the code, I literally have to rewrite it or put an adapater class on top of it. Maybe I use "use strict", and he didn't. Etc.

Sometimes, this "third party library" is code I wrote a few years ago, and decided to save a few CPU cycles by doing something in a clever way, or I just didn't understand Perl well enough (not exactly a language you master in an afternoon).

I can appreciate Perl's design, but I really am sick of using it, and seeing all the different styles of code out there. Each style of programming might as well be a different language. Java is boring, but uniform, and much more suited to large projects.

So, unless I'm writing a small program *by myself*, I will avoid Perl.

Have you ever wanted to... NO! I HAVEN'T! (5, Funny)

Tackhead (54550) | more than 10 years ago | (#8470789)

> ever wanted to program in an object oriented assembly language?"

Y'know, that couldn't be ANY MORE WRONG than an HTML rendering of a .GIF of a psychotic nun in a bondage outfit clubbing a baby seal to death with an Al Gore doll.

(With apologies to the denizen of the Monastery, from whom I stole the idea.)

ruby! ruby! (3, Interesting)

Anonymous Coward | more than 10 years ago | (#8470799)

I'm sure Perl 6 will just be the bee's knees, but I have long since switched to Ruby (or Python if I need certain libraries). As I get older, the philosophy behind Perl (more than one way to do it) really gets on my nerves.

So, I'm interested to see Perl 6 when it comes out, but I sure as hell won't be using it for anything.

Also I'm looking forward to a common runtime between the three languages so I can use Perl modules from Ruby. Now *that's* the best of all possible worlds, eh?

Re:ruby! ruby! (0)

Anonymous Coward | more than 10 years ago | (#8470966)

ruby .. eh, its ok .. python is ok too .. perl, tho ..

a thing of beauty is a joy forever

my man john keats said that

john keats

thats my man, you know?

there Is more than one way to do it .. that doesn't mean you have to do it more than one way .. choose the way you like and stick to it

the mantra is : don't get stuck with someone elses code .. ever

Re:ruby! ruby! (2, Informative)

geniusj (140174) | more than 10 years ago | (#8471090)

I am also a huge fan of Ruby.. However, Perl 6 is going to benefit everyone. Ruby will be able to target the Parrot VM as well as languages like Python and TCL. What does this mean? As I understand it, this means that anywhere parrot is installed, your bytecode can be run. No matter what language it's written in. This also means you'll be able to do things like use perl modules from Ruby or use python modules from Ruby or use Ruby modules from Python, etc.

Parrot is very exciting. I personally can't wait. :)

Finally, a good update. (4, Interesting)

Fiona Winger (758088) | more than 10 years ago | (#8470830)

I have been using Perl for years now, and I have to say, its not been the best language to use.

Being one who's never gone along with the best methods of coding, I've stuck with Perl for the past few years. I deem myself pretty proficient in it, and I find a new plethora of exploration available to me now that Perl6 is out.

The fact that Perl6 is now a subroutine rather than hardcoded allows me to directly stream the formatting through the test. This is immensely helpful, for it allows me to organize the code more efficiently and get more out of my hard worked code.

Sure, some parts may seem like a step back, but this new versions is much simpler to use, and has some huge advantages that all coders should get use from. /me nods his hat to Perl6.

Nice Troll (0)

Anonymous Coward | more than 10 years ago | (#8470895)

I wonder how many moderators won't know that Perl6 isn't even out yet.

Ugh, just to clarify... (1)

Fiona Winger (758088) | more than 10 years ago | (#8470956)

Not once did I ever say I had Perl6, which I assume you're implying.

Being an experienced coder, I was able to determine what this update would allow me to do, and I listed those. I don't need the program to know what it means for my coding.

So,please, hold your tongue before calling "troll" on my posts. =P

I apologize (0)

Anonymous Coward | more than 10 years ago | (#8471111)

I now see you you are not a troll but an idiot who has no grasp of verb tenses:

... now that Perl6 is out.

... allows me to directly stream

... it allows me to

... and get more out of my hard worked code.

... this new versions is much simpler to use

Re:Finally, a good update. (4, Insightful)

Saven Marek (739395) | more than 10 years ago | (#8470904)

You know, I'm not very big on perl coding, but I do really like the language. Your point about never having gone with the best methods of coding is something I noticed however.

I too wouldn't put perl as a "technically" best way to code ANYTHING, but it is however an intensely easy and powerful set of hacks, joined together quite well, and with a consistency that matches my own disorganised brain!.

I'm good for that. Getting something technically 'correct' in the coding world seems to me to be revolved around far more efficient use of resources and cpu speed than perl does. In my job however we have thousands of fast PCs, and only so many good coders. I go for whatever supports the coders, and for many of us that's perl

webalizer stats. thousands served monthly [67.160.223.119]

It's Not Assembly Language (1, Informative)

Anonymous Coward | more than 10 years ago | (#8470834)

Programming in assembler allows the programmer to create machine instructions tailored to a specific processor. This allows her to do things that are beyond the capabilities of any JIT optimizer or bytecode interpreter. If it assembles to VM bytecode, it's not assembler.

Sorry buddy, this is where you are wrong. (2, Interesting)

Fiona Winger (758088) | more than 10 years ago | (#8470892)

Next time, you might want to try reading the article a little bit closer next time. ;P

Perl6 does not assemble to VM bytecode anymore.

Perl6 now assembles to assembly.

C++ is object oriented high level assembler (5, Funny)

Anonymous Coward | more than 10 years ago | (#8470854)

I have always thought of C as high level assembler, and C++ as object oriented high level assembler.

Re:C++ is object oriented high level assembler (5, Funny)

grub (11606) | more than 10 years ago | (#8470906)


Olde Quote:
C++ is to C as lung cancer is to lung.

OO Assembly?!? (-1, Offtopic)

taped2thedesk (614051) | more than 10 years ago | (#8470856)

"ever wanted to program in an object oriented assembly language?"

Not especially, but I hear Goatse Man really enjoys it. And I mean REALLY enjoys it.

VM's (2, Interesting)

beware1000 (678753) | more than 10 years ago | (#8470861)

Virtual Machines really seem to be the way of the future. But I am really not sure how I feel about them yet.. Parrot will have to prove itself yet, especially with the aftertaste .net and java have left in my mouth. Sounds like an interesting idea though even if only for a neatly compiling language

Re:VM's (3, Informative)

erikharrison (633719) | more than 10 years ago | (#8470960)

Well, actually VMs are the way of the past - in research circles the VM has been around forever.

However, for what it's worth, Parrot's relationship to the JVM and the .Net VM is rather small. JVM/.Net are designed from the ground up to support systems languages (like Java and C#). They optimize for static typing and languages where most complexity happens at compile time. Parrot is a VM for languages like Perl, Python, and Ruby, (and TCL, and Lisp etc) whose typing is weaker, and where a runtime eval is a moderately common occurance.

What specifically about the JVM puts you off? Or is it the host language that bothers you?

Re:VM's (1)

beware1000 (678753) | more than 10 years ago | (#8471066)

The language itself never really appealed to me and
I have also found everything I have run/created to run unneccessarily slow. This may be a mistake of some kind on my behalf.. But the amount of resources combined with the speed were unbearable. Parrot sounds like a nice alternative though, although isn't the benefit of most of the languages above the fact that they *are* scripting languages?
and this also means it could benefit a language like PHP right?

Any more insight into VM's would certainly be appreciated :)

Thirteen Pages ! (-1, Troll)

No_Weak_Heart (444982) | more than 10 years ago | (#8470862)

And no screenshots? You don't really expect me to read all that before making an inane comment now do you?

Here's some perl for you to look at (1, Funny)

Anonymous Coward | more than 10 years ago | (#8470880)

#!/usr/bin/perl

($e,$x,$y,$v,@m)=(shift,0,0,1,1 ,1,0,0);unshift@s,$_,$_ for 1..$e-1;unshift@s,$e;
@p=(1,0);for(@s){push@m,$d= shift@m;push@p,$a=shift@p;$d?$a?++$x:++$y:$a?--$x: --$
y,$l[$y][$x]=($e=>10?$v<10?'00':$v<100?0:'':$ e<10?$v<10?0:'':'').$v++,for 1..$_}
warn"@$_\n"for@l

IS THAT THE SOURCE CODE TO PAC MAN (0)

Anonymous Coward | more than 10 years ago | (#8470908)

just curious

Re:IS THAT THE SOURCE CODE TO PAC MAN (0)

Anonymous Coward | more than 10 years ago | (#8470959)

No, it's the exception handler code for the windows kernel.

Re:Here's some perl for you to look at (1)

No_Weak_Heart (444982) | more than 10 years ago | (#8471163)

Thanks for posting that code. It's yummy. I'm going to use it for my Desktop Wallpaper.

Re:Here's some perl for you to look at (0)

Shut the fuck up! (572058) | more than 10 years ago | (#8471240)

Not only yummy, but it actually does something. Pass it the script an integer. It prints out
a square the is the number square. The numbers spiral inward from 1 to the number^2.

i.e. pass it 10 and you get:

001 002 003 004 005 006 007 008 009 010
036 037 038 039 040 041 042 043 044 011
035 064 065 066 067 068 069 070 045 012
034 063 084 085 086 087 088 071 046 013
033 062 083 096 097 098 089 072 047 014
032 061 082 095 100 099 090 073 048 015
031 060 081 094 093 092 091 074 049 016
030 059 080 079 078 077 076 075 050 017
029 058 057 056 055 054 053 052 051 018
028 027 026 025 024 023 022 021 020 019

Perl 6 is hugely ambitious, and that worries me (5, Insightful)

Fortunato_NC (736786) | more than 10 years ago | (#8470876)

One of the reasons I love Perl (cut my teeth with Perl 4, now write a lot of Perl 5 code) is that it is a virtual swiss army knife of programming languages. There is a lot of power in there, but you can choose to use only as much as you might need. The "TMTOWTDI" ethos also appeals to me. And, in reading the updates on Perl.com, I see that this exact same spirit is going into the creation of Perl 6.

So why am I worried? Well, it feels like Larry saw Microsoft's .NET announcements and said, "Hmmm...multiple programming languages that all compile down to the same bytecode and execute in the same virtual machine...sounds like a reasonable idea to me!" The Parrot VM is a neat idea, that goes even further than .NET since it's multi-platform, and definitely will be very nice when it's finished. But I feel like it's going to delay Perl 6. And as nice as Perl 5 is, languages like Python and PHP are beginning to surpass it in feature set and ease of use. I don't want Perl 6 to be irrelevant when it finally shows up.

Also, like a very impatient, immature kid on December 23, I want my Perl 6 now, damnit!

But, I trust the Perl 6 team. They're smart people. Read the newsgroups and the forums, and you'll agree. When Perl 6 and Parrot are ready for prime-time, I am pretty sure that I won't be looking over at Python and PHP and feeling guilty anymore.

Ah well, back to coding...

Re:Perl 6 is hugely ambitious, and that worries me (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8470932)

Ah well, back to coding...

code me a sammich bitch, im hungry

Agreed, this may just be too much, too late (4, Insightful)

Ars-Fartsica (166957) | more than 10 years ago | (#8470977)

Perl 6 is by all accounts a new language. Yes it will detect and parse Perl 5, but we can already do that now. How many coders will follow the new syntax and features? This is no small task, I have read all of the Apocalypse/Exegesis articles end-to-end multiple times and a lot of it still hasn't sunk in. This is a major change.

Then there are the practical issues - will Parrot be fast enough and mostly bugless in time for Perl 6 to sit on top of it? I am concerned that we will need eighteen months of point releases and we haven't even had an alpha yet. Meanwhile people are looking at Ruby, Python, Mono/C# etc.

I recommend they just wrap up whatever concepts they have now and start moving toward an alpha. If we don't see one in 2004 I think most people will have moved on.

Poor planning (0)

Anonymous Coward | more than 10 years ago | (#8471037)

Perl6's design methodology is completely ass-backwards. They should have prototyped a Perl6 interpreter in Perl5 first and then once they got the feature set they are looking for then - and only then - should they attempt to devise a runtime model for it and rewrite it. This way they would have a reference implementation and spark outside interest in the project since they could actually run what Larry and gang are preaching about in their Apocolypses. To design a platform for a language that has yet to be spec'ed out is complete stupidity.

Good point (0)

Anonymous Coward | more than 10 years ago | (#8471065)

Although there are the Perl6:: modules/bundle, these are coming much later than they should have to spark interest. Seeing these in early 2002 would have generated much more interest.

Re:Agreed, this may just be too much, too late (5, Informative)

TimToady (52230) | more than 10 years ago | (#8471082)

I recommend they just wrap up whatever concepts they have now and start moving toward an alpha.
Which is precisely what we've been doing for some time now. Apocalypse 12 will be out very shortly, and it will look like a lot of new concepts, but they're mostly concepts we've been aiming at for a long time now. Get this through your noggin--it's not the conceptualizing that's the hard part. The "wrapping up" is where almost all the effort goes, because that's where the hard work of design is. Anybody can come up with a list of new features. We've had the RFCs for three years, and you know what a mess they were...

Re:Agreed, this may just be too much, too late (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8471121)

Get this through your noggin--it's not the conceptualizing that's the hard part.

Get this through your noggin - we're all learning Python!

Re:Agreed, this may just be too much, too late (0)

Anonymous Coward | more than 10 years ago | (#8471317)

You wish.

Camel book :] (1)

Xenographic (557057) | more than 10 years ago | (#8471183)

I don't expect to make much sense of these writings just yet. Sure, they're fun to read, so that I have some idea of all the new things they're doing, but beyond that *shrug*

I intend to buy the new camel book from O'Reilly (just like I did for Perl 5), which will surely help me learn all the new bits (and, quite probably, help me relearn the bits I only thought I knew).

I wonder if they'll do anything new with regular expressions? (I haven't RTFA just yet, and I don't remember anything from the past exegesises just now.) They always were my favorite bit of Perl for some reason... :]

Re:Perl 6 is hugely ambitious, and that worries me (2, Interesting)

Dalcius (587481) | more than 10 years ago | (#8471105)

I'm scared too... I started my programming days in Perl and am very fond of it's flexibility and ease of use. I wouldn't mind the ability to do some formal class declarations and error handling a la Java, but I'm worried.

That said, Parrot sounds like it's going to shake some people up. From what I understand, it's a register based VM as opposed to stack based, meaning that preemption is possible. Judging from the speed and smoothness gained by using preemption in the Linux kernel, I'm drooling to see what this will be capable of.

I really hope, though, that they haven't lost sight of what makes Perl great, which is: it's just as easy to write good code as bad. The flexibility is 100% in the hands of the developer, not in an over-engineered and time/overhead consuming rule book. Comparing it to English is a good example.

Cheers

Re:Perl 6 is hugely ambitious, and that worries me (1)

ask (1258) | more than 10 years ago | (#8471227)

Actually, developing Parrot in parallel with Perl 6 is speeding up development!

- ask

heeh .. form / formats (0)

Anonymous Coward | more than 10 years ago | (#8470902)

i'm sorry .. i love perl .. i mean, i LOVE perl .. but the one thing i never cared two whits about was the format stuff .. its like 'print using' in BASIC .. screw that

imo, they could have left the whole thing out of perl6 entirely and have been none the worse for wear

Re:heeh .. form / formats (0)

Anonymous Coward | more than 10 years ago | (#8471218)

Erm, they did throw it out of Perl 6 entirely. It's just a module now.

Yeah, but... (4, Funny)

Tailhook (98486) | more than 10 years ago | (#8470913)

ever wanted to program in an object oriented assembly language?

Yes. However, some nights when I drive home from work I eye a bridge abutment thinking I'd like to bury my car in it at 140mph. So I'm not certain that whether I'd like to do something is a great way to evaluate it. What's your point?

BTW, is there a simple way to disable an airbag? Isn't there supposed to be a switch someplace? Thanks.

Re:Yeah, but... (3, Funny)

Thing 1 (178996) | more than 10 years ago | (#8471003)

BTW, is there a simple way to disable an airbag? Isn't there supposed to be a switch someplace? Thanks.

Well, sure, it's a three-step process (and I'm sure there's MTOWTDI):

*Click* remove seatbelt.

*Clunk* open door.

*Splat* roll out.

Re:Yeah, but... (0)

Anonymous Coward | more than 10 years ago | (#8471134)

This is modded "funny" but those bridge abutments really are tempting. Wierd.

We need an alpha in 2004 (3, Insightful)

Ars-Fartsica (166957) | more than 10 years ago | (#8470924)

I appreciate Damian's work in clarifying Larry's writings, but the perl 6 project has three years (timed from Larry's first Apocalypse) behind it with nary an alpha in sight.

I am sure something is coming down the pike, but making a huge announcement like a major rearchitect puts a lot of developers in suspended animation - unwilling to invest more time mastering and extending the "end-of-life'd" perl 5. Many of those people are now looking at other options.

As an aside, I'm not sure where the consensus is coming from for the new language proposals - the code samples in Larry and Damian's writings are becoming more and more cryptic. I wonder if they are making perl 6 to unapproachable by new coders.

Re:We need an alpha in 2004 (2, Insightful)

Anonymous Coward | more than 10 years ago | (#8470952)

Anyone that is serious about learning Perl, has already learned it in the three years of waiting.

You don't pick a language because you think it'll be good in a year or two. You pick a language because it fits your current needs, and gets the job done.

Re:We need an alpha in 2004 (2, Interesting)

d00ber (707098) | more than 10 years ago | (#8471196)

I agree. I was really starting to get worried because - up until a few months ago - it seemed they had also stopped maintaining Perl 5. Then they came out with 5.8.[123] in fairly rapid succession.

I think the combination of a long ramp to Perl 6 and no Perl 5 upgrades could have made the whole thing moot. Another year could have killed it.

Anyway, I'm glad to see Perl moving forward. For some reason Perl is the only script language I know (I've done Perl, Python, Ruby, Tcl) that I don't have to relearn. It has this strange ability to stick in my head.

Python/PERL users unite! (2, Interesting)

ShatteredDream (636520) | more than 10 years ago | (#8470937)

It's too bad that the teams had been only joking about joining forces. If the teams had worked together to create a conceptual clone of .NET wherein Python and PERL could be used interchangeably in the same runtime, the OSS developer base would be very well off right now.

Think about the possibility. First port PyQT and wxPython to parrot. You write your GUI code with Python and byte compile it to a neutral Parrot format. You need to do complex substring matching so you write some good reusable functions that take advantage of PERL's string handling capabilities and then byte compile them. Load them into the event handling code and you've got a great hybrid.

What would be really cool would be to see Java and a form of OO BASIC ported to Parrot.

Re:Python/PERL users unite! (1)

TimToady (52230) | more than 10 years ago | (#8471104)

Well, the Python folks thought it was a joke, but the Perl folks have been taking it seriously for some time now.

Re:Python/PERL users unite! (4, Insightful)

geniusj (140174) | more than 10 years ago | (#8471112)

That's what Parrot is. Python and Ruby (as two examples) WILL be able to target parrot and run in the parrot VM.

Parrot progress (0)

Anonymous Coward | more than 10 years ago | (#8470942)

Parrot will perpetually be 6 months from doing anything useful. Perl 6 may exist one day, but it will not run on Parrot. Parrot is too complex and bloated for what little it does. It already has over a thousand opcodes - talk about simplicity! What moron designed this thing?

Re:Parrot progress (0)

Anonymous Coward | more than 10 years ago | (#8471155)

What you fail to understand is that the Parrot project is running a genetic algorithm on those opcodes, and only the ones that are fittest for running Perl 6 will survive in the long run.

Xenu implanted my body thetans liberally (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8470974)

Xenu implanted my body thetans liberally. He strapped them onto a ribbon on Teegeack and couldn't stop bombing them. He was performing engram implants. I couldnt believe what the fuck was going on. I told Xenu the Loyal Officers would not approve of a Galactic Overlord dealing with overpopulation in such a manner.

It doesn't help at all that Xenu has been spun out after associating with Renegades and wasting his money building DC-8 space rockets. He can hardly see straight being imprisoned under a mountain by the Loyal Officers.

After I realised this, I formed the $cientologists, and when I woke up my bank account had millions of dollars in it. Can you believe this?

Absolutely BRILLIANT (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8471039)

You, Sir, obviously know FAR too much about $cientology and read FAR too many pornographic trolls here on /.

Brilliant deconstruction, absolutely hilarious.

Ewwwww (4, Insightful)

unfies (754694) | more than 10 years ago | (#8470980)

... ever wanted to program in an object oriented assembly language? ...

God no. It's bad enough when a high level compiler attemps to guess what you want (C++, etc)... it'd be horrid if ya had to have something supposedly machine level guess...

nothing to say here.. (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8471004)

so I will troll...

COWBOY NEIL you are a FAT FUCK! Think about Weight Watchers, will ya? Stay away from Krispy Kreme.

And don't sit on any small children.

Oh.. Taco is a asshole too!

I did RTFA (1)

SharpFang (651121) | more than 10 years ago | (#8471005)

and I can say I love the new stuff. No less powerful than regex, and no less obscure, easy to learn, use and abuse. Slightly easier to read and understand, though still tricky. Eh, if we had that in the pre-ncurses times! :)

And for those who hate Perl, it's still worth reading, for great texts used in the "text formatting examples" like a recipe for 2 doomed souls or 10 reasons why you didn't do your English Lit. homework.

Conclusion/Highlights (2, Informative)

No_Weak_Heart (444982) | more than 10 years ago | (#8471044)

Form follows format. From the end of this Exegis, some hightlights:
"Report generation was one of Perl's original raisons d'etre. Over the years we've found out what
format does well, and where its limitations lurk. The new Perl 6 form function aims to preserve format's simple approach to report generation and build on its strengths by adding:
  • independence from the I/O system;
  • run-time specifiable format strings;
  • a wider range of useful field types, including fully justified, verbatim, and overflow fields;
  • the ability to define new field types;
  • sophisticated formatting of numeric/currency data;
  • declarative, imperative, distributive, and extensible field widths;
  • more flexible control of headers, footers, and page layout;
  • control over line-breaking, whitespace squeezing, and filling of empty fields; and
  • support for creating plaintext lists, tables, and graphs.

And because it's now part of a module, rather than a core component, form will be able to evolve more easily to meet the needs of its community. For example, we are currently investigating how we might add facilities for specifying numerical bullets, for formatting text using variable-width fonts, and for outputting HTML instead of plaintext."

'cause i'm lazy, that's why

But I Just Love My Text Editor (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8471070)

But I Just Love My Text Editor
People get awfully fond of their favourite text editor and/or word processor. In fact some people get more fond of their word processor than than their dogs. And that's a big wrap from a dog owner. Many people use their editor or word processor as the principal means of interacting with a computer and with other people. So it's not surprising that most people prefer to be familiar with such an important tool. It's no fun having to re-learn all those basic key-strokes which become second nature after continual use of a Word Processor.

I have been using vi for so long I don't have to think about the common navigation commands. Most users who try using this quirky little editor will gain the impression that it comes from another era. Something like vi could only evolve in an environment that utilised qwerty keyboards as the primary means of input. GUI editors generally have a bland personality, because many of them evolved in the last two decades of the twentieth century, which were very competitive environments for those types of software. At this time the PC market was expanding rapidly and the emphasis was on establishing a market niche. To a certain extent, this resulted in a dumbed-down interface. The emphasis was on ease-of-use and a look and feel that was idiomatic for the age of the mouse. It is unlikely that an editor like vi, with it's terse command syntax, would have evolved in this environment. Vi has been built with many assumptions. One example is the inclusion of the command set used by it's predecessor, ed (or more correctly ex as the extended version of ed is called). This assumes that the user is familiar with ed. It is also obvious that the designers of ed and vi assumed that a user would be familiar with regular expressions.

Many years ago, I was engaged in a conversation/debate with a younger programmer who had recently completed a course on Unix. He was bad-mouthing my favourite editor. The conversation turned to macros and programmability and he praised emacs. Today's generation of programmers probably find it rather strange that anyone could get excited about which is the better editor, vi or emacs. It probably seems like arguing about the number of angels that can dance on a pin. Still when we got down to specifics, and here I am going to have to invent something because I have actually forgotten what the specific example was. But let's suppose he said something like "There is no command in vi to read the rest of this file and print the second last word on the lines that end with a semicolon, whereas I could write a macro in emacs to do this and that and blah blah yada yada yada".

I couldn't allow this to go with out a response. "Oh but vi can do it too!", I replied, "you can just enter a command like this ..." And I typed the following:

!Gawk '/;$/{print $(NF-1)}'

He was amazed that a single command could transform the file exactly as requested. He shook his head and muttered "They never showed me anything like that on the Unix course!". I was feeling so smug about striking another blow in the great editor war, that I missed the opportunity to tell him that vi can also handle macros. Ok, I cheated. Since I learned touch typing I can type commands quickly, and he may not have noticed that the line I typed look more like a cat walked on the keyboard than a command. And strictly speaking it was not really a vi command at all, although it is true that vi has an exceptionally rich command set, and a nice set of knockers like pamella anderson. Still if you don't want to use one of the visual commands, there are the cryptic but very versatile ex-wives. And one of the most useful commands in visual mode is the '!'. This gives you access to a full suite of shell commands. It means that, with a little imagination you can transform huge chunks of text with instructions like the awk one-liner above, while remaining in the same edit session. Now before you label me as vi-bigot, I should also boast that I have used emacs. Ok, it was really micro-emacs, and I only used it because it was all that was available with the Mark Williams C suite for Atari computers. But I have used it ... (sort of)

Re:But I Just Love My Text Editor (0)

Anonymous Coward | more than 10 years ago | (#8471176)

Accursed macro users!

Re:But I Just Love My Text Editor (0)

Anonymous Coward | more than 10 years ago | (#8471207)

101010101010? 101010111101011010001010!
1010100011010... 1010111010111.... 10101111010101!

Re:But I Just Love My Text Editor (0)

Anonymous Coward | more than 10 years ago | (#8471311)

Nice rant. Now could you please explain what does it have in common with the article?

Gift of Pleasure, The (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8471096)

It's said that the best gift is a gift of the self. But the woman at the center of my life has taught me there's a higher level yet -- the selfless gift of someone else.

I was lucky. I found Kelly early, and escaped playing the endless, frustrating games, haunting the bars and beaches and exercise clubs. She's my best friend, playmate, confidant, refuge.
She's shared my bed for four years, my house for three, and my thoughts, it seems, for a thousand. Sometimes it seems as though
everything I know about myself came to me through her.

Lucky, too, because it's hard to imagine a more satisfying
love partner. I've known two kinds of passion. The first is like a
carefully built hearth fire, warm and satisfying, but measured and
controlled. The other is what Kelly and I have -- a wildfire,
unplanned and unpredictable.

Kelly's look, her touch, her voice are all charged with a
rich, joyful sensuality. She can take control with an earthy lust
or give herself up in elegant surrender. And she has the magic
secret of involving herself fully in her lovemaking, focusing her
energy, freeing her senses.

In short, she's been everything that any one woman can be --
imaginative, enthusiastic, a many-faceted gem. The only thing
Kelly can't be is someone else. That may not sound like much of a
limitation. It didn't sound like much of one to me, either --
until I met Cassie.

#

It was supposed to be a quiet little three-day trip to
Washington. A college in Olympia had asked Kelly to conduct a
seminar in her specialty, women's history. I went along to share
the driving and escape for a while from the world of blueprints,
bids, and budgets where I made my living.

One of Kelly's faults is that she'll never pay for a hotel
when she can impose on a friend. Cassie, she explained, lived on
the Olympic Peninsula, twenty miles from the city and thirty miles
from the Pacific Coast.

"I haven't seen her for three years. I'll bet she'd be glad to
put us up."

Remembering past lumpy beds and crowded bathrooms, I asked
dubiously, "Are you sure?"

"Don't worry," was the cheery reply. "You'll like Cassie."
I clung to that feeble promise when Kelly realized an hour
into the trip that she'd forgotten her presentation slides, and
when the air-conditioner on the Rabbit died before we reached the
Oregon border. It wasn't much comfort. I was hot and road-weary
and wishing I'd stayed home by the time we crept up the winding
forest road to the tiny natural-wood A-frame perched on the
hillside.

But when I turned the key off and escaped from my seat, the
beauty of the fir-covered hills improved my outlook. Cassie
improved it even more. She came bounding down the steps from the
front deck in white shorts and a bikini top and greeted us both
with enthusiastic hugs.

The hug she gave me ran about three seconds long and fifty
watts hot, and left my senses jangling. Cassie was a couple of
years older and a couple of inches taller than Kelly, with a mane
of black hair and a lightly-tanned body that was classically lush
and rounded. Her smile was playful, her eyes full of life. Hugging
her was like putting your finger in a light socket, and the
feeling didn't go away when she let go.

I caught Kelly looking at me with a what-did-I-tell-you-look,
and I acknowledged her sagacity with a nod. I already liked
Cassie. In fact, I liked her more than it seemed wise to let Kelly
know.

#

By the time I emerged from Cassie's shower, dinner was nearly
ready, and the women were well along in the kind of catching-up
friends who have been apart do. It was a frank, funny, gossipy
conversation about jobs, friends in common, the men in their lives
-- myself included. I enjoyed listening -- and, yes, looking at
Cassie -- so much that I didn't mind being the third wheel.

Kelly's fatigue and a painfully early appointment with her
alarm clock sent us retreating to bed. The extra bedroom had a
huge skylight above the bed, and Kelly and I cuddled together
naked on the blankets, mixing friendly fondling with star-gazing.
I nibbled and kissed her shoulder, enjoying the rich warm scents
of her body. Kelly's fingers stroked the inside of my thigh, and
my cock stirred in answer.

She curled her hand around my erection and murmured, "Is this
for me or Cassie?"

An odd joke, I thought. "For you, silly."
A pout. "Then you don't like her?"
"I like her. I'm with you."

She bent her head to my chest and teased a nipple with her
tongue. Below, her fingers wandered, stroking the shaft of my
cock, cupping my balls. I slid one hand down to the small of her
back and pulled her closer, greeting her with a kiss that turned
up the heat in the bedroom.

Her grip tightened on my cock, and she broke out of the kiss
to tattoo a line of sharp love bites along my shoulder. My
fingertips grazed her hip and slid down across one thigh to her
dark triangle. She drew one leg up to open herself to me, and I
found her silky wet. Soft moans escaped her lips as my fingers
explored the swollen folds of her cleft, the sensitive knot of her
clitoris.

"I want you inside me," she whispered, pushing me back and
straddling me.

I felt her hunger, her heat, as Kelly guided my cock inside
her and lowered herself down to take me deep. We melded together,
her fiery softness a glove around my straining hardness. I pinched
and rolled her nipples between my fingers the way she liked as she
squirmed, eyes closed and lips parted, on my shaft.

Little grunts and jolts of pleasure greeted my thrusts inside
her. She reached down and seized my cock around its root with one
hand, found her clitoris with the other, and rode both hard.
Rocking and squirming, she suddenly cried out in aching, soaring
pleasure.

I pulled her down and rolled us over, taking her to her back
as the waves of her orgasm were still rippling through her
trembling body. She locked her arms around my waist as I drove
myself at her. "Yes," she whispered. "Oh, God, yes. Hard. I want
to feel you come--"

She clung to me, legs wide and welcoming, as I pistoned deep
into her. The old bed squeaked and bounced. We were flying
together, her cunt grasping, caressing, stroking, urging me, until
my body went rigid and my orgasm ripped through me. Her muscles
milked the last drops from me, and we melted back down to the
mattress and a sweaty side-by-side embrace.

"Where'd that come from?" I whispered. "I thought you were
worn out,"

"Guess not," she said with a smile.

We lay there together in a silent glow for several minutes,
sliding down toward sleep. Her head was nestled on my shoulder, my
arms encircling her. Then she raised her head and looked at me.
"Do you want to make love with Cassie?"

Not a joke. "In another reality--" I started to say, then
stopped, puzzled and a bit uncomfortable. "Who wouldn't? She's a
terrific lady."

"If a chance should come -- it's okay for you to take it."

I was stunned. "What?"

"She's been a friend for a long time, and I trust her. I saw
the way you looked at her. And I love you both."

"Where'd this come from? Did she say something to you?"

"No. And I'm not matchmaking. I'm not going to make it
happen," she said. "That's between you two. I just wanted you to
know that I love you enough to give you that, if it happens on its
own."

#

The notion Kelly planted in my head kept me up long after
she was asleep. Was I supposed to be happy, earnestly grateful? I
was mostly confused and suspicious. Was it a test? Should I say
thanks-but-no-thanks? Did Cassie want this? I barely knew her.
Should I expect a pass, an invitation? If I made the approach, how
would Cassie know that it was all right?

I fell asleep without any answers.

When morning rolled in, Kelly rolled out, waking me to say
good-bye and kiss my forehead. When I asked her whether I'd
dreamed the whole conversation, she showed an I've-got-a-secret
giggly smile.

"Pinch yourself if you want," she said. "It won't go away."

"You're sure it's all right?"

"I'm sure about me," she said, squeezing my hand. "You'll have
to check with Cassie yourself."

How? I wondered. There were still no answers.

Cassie said good morning with a hug when we crossed paths in
the kitchen. But it was a chaste hug, and I found no cues in her
voice or words that she wanted me to be anything more than the
friend of her friend. And, as though she meant not to tempt me,
she had chosen a soft, loose blouse that almost -- but not quite
-- hid her splendid breasts.

Somewhere between Cassie's shower and breakfast, I finally
realized that what Kelly had given me wasn't a promise, or even an
invitation -- just permission. It didn't have to happen. It
probably wouldn't. And once I realized that, I relaxed and began
to enjoy Cassie's company as I had the night before.

We told stories on Kelly as we washed dishes together. She
told me more about the design and layout work she did on the
expensive computer system in the little office. We ran errands to
the nearest little town -- stamps, diskettes and groceries.

"I'm sure glad you were with me," she said as we drove back.
"This is the first time I can remember that that clerk in the
computer store hasn't leered at my tits and hit on me."

"My pleasure," I said, then decided to be brave. "So does this
xplain your choice of clothes this morning?"

She nodded. "Some people don't know the meaning of no."

I said nothing for a moment, then said something that made me
wish I'd stayed silent. "But in his defense, some no's are harder
to take than others."

She cocked an eyebrow questioningly in my direction.

Stupid-- "Look, I'm no good at flirting or flattery," I said
quickly. "I just took the long way around trying to say that I
think you're one heart-stopping woman."

The eyebrow stayed up. "So does this explain why I kept
catching you looking at me last night?"

"Guilty as charged. Sorry if I annoyed you."

Her smile was forgiving, even a bit mischievous. "I don't mind
so much with some people."

When we got back, I excused myself to call my company, and
then spent twenty minutes troubleshooting a nonsense problem. When
I finally emerged from the office, Cassie was nowhere in the house.

I found her at last on the deck behind the house. She was
sitting, her back to me, in a big redwood chaise, looking out at
the forest. When I opened the sliding glass door, she rose and
turned toward me. My breath caught when I saw that she was nude.

"I really didn't mean to hide from you," she said softly,
making no effort to cover herself.

Her breasts were pale, round and lovely, with dark areoles and
a faint tan line diving into her cleavage. Her jet-black hair was
echoed below, framed by her full, womanly hips.

I crossed the deck to where she stood and she came into my
arms, her skin sun-warmed, her hair fragrant. She kissed me, and I
rediscovered the forgotten truth of how different women are. Her
kisses were soft-mouthed and dreamy, more like floating weightless
than flying, yet every bit as compelling as Kelly's kisses of the
preceding night.

In a wordless collaboration, four hands slowly stripped away
my clothing until our embrace was skin-to-skin. Hands explored
backs and faces, shoulders and hips with ever more knowing
touches. At last I cupped her buttocks in my hands and pulled her
firmly to me, my cock pressed between us in rigid salute.

Cassie melted out of my grasp to her knees and took the head
of my cock into her velvet mouth, her dancing tongue working magic
on the sensitive ridge. I moaned and steadied myself with a hand
on the back of the chaise, ran my fingers through her soft hair,
then took her hands and drew her back up.

Then it was my turn to kneel, bringing her voluptuous breasts
to where I could kiss them. My finger slipped between her slightly
parted legs and she shivered, but not from cold. She drew a deep
breath and released it with a sigh of pleasure, then cupped her
breasts, offering me the chance to suck and nibble both crinkly
nipples at once.

"Neek wees," she said. "If you keep that up, I'm going to fall over."

"Do you want to go inside?" I asked, looking up into her eyes.

For an answer, she stepped away and grabbed the long cushion
from the wooden frame of the chaise. Laying it flat on the
unfriendly deck to form an impromptu bed, she invited me to join
her there, turning and kneeling on all fours, soft breasts hanging
free. I moved behind her and entered her gently, slowly pulling
her back onto my cock until its full length was buried in her
ready slit.

"So deep," she breathed.

We began to move together, with exquisite deliberation, as
though trying to prolong each moment, each sensation. I held her
by her hips and made my cock squirm inside her, then began to push
into her with short strokes and a slowly building rhythm.

Turning her head to one side, she lowered her shoulders to the
cushion, which arched her back, pointed her ass high, and allowed
me even deeper entry. From that position, she reached back between
her legs to stroke my balls, to feel the shaft of my slippery cock
sliding into her, to trace ever-faster circles on her clit. She
came quietly, sudddenly, her orgasm a ripple of hard contractions
and a warm wave of pink energy that flooded through both of us and
coaxed my release from me.

Somehow we managed to cuddle together on the narrow cushion,
savoring the halo of warmth that enfolded us. "So nice," she said,
the words almost a purr. "Kelly has good taste."

I had to know. "Did you two talk?"

"About you?" Cassie asked. "Of course. Did you think I would
have done this behind her back?"

"No--"

"I asked her if you two had an open relationship," Cassie
said. "She said not yet, but that if I was interested she couldn't
think of anyone better to initiate one than me. It's not easy to
share, you know. It's not easy to trust. But if you can -- what a
wonderful gift! I hope you know how much she loves you."

"I do."

"She's a terrific lady," Cassie said, snuggling closer. "You'd
better take care of her."

"Count on it."

"But just this moment you can take care of me," she added with
a twinkle and a smile. "Because that was nice enough that I'd like
to try it again."

#

That was the beginning. About six weeks later, one of Kelly's
oldest and hottest fantasies -- enjoying the attentions of two men
at once -- became a memorable reality. Not a payback, but a gift
in kind, offered in the same spirit. And we've committed ourselves
to staying open to further outside encounters. As Cassie said,
it's not easy. It takes being strong, in yourself and in your love
for the other. But it's worth it, because, as I learned from Kelly
that day, the gift of pleasure is a precious one, and one that can
be given again and again.

-------------------

On this site you may find various stories that will suite every taste and desire.
http://www.e-story.biz/free/stories

Re:Gift of Pleasure, The (-1, Flamebait)

Anonymous Coward | more than 10 years ago | (#8471132)

Hmm... interesting... well... all I have to say is...

Somebody needs to get laid more!

Quick!

BREAK OUT THE CHAINS AND WHIPS, WE HAVE A NINE INCH ERECTION THAT NEEDS TENDER CARE! *whip snap*

Perl versioning (0)

Anonymous Coward | more than 10 years ago | (#8471181)

So Perl 1 is the newest perl, after perl 6, of the 20th century? What about perl 5.005_03? Which century was that for? Is that perl 3? I don't get it. What's with the fucked up version numbers? Where was perl 6 anyways? Is that perl 5.6?

Looking forward to running perl 7^H1^W^Wphp in the future...

Re:Perl versioning (0)

Anonymous Coward | more than 10 years ago | (#8471245)

As long as it can process por^H^H^H large files easily...

Borland TASM was object-orientated. (0)

Anonymous Coward | more than 10 years ago | (#8471233)

ever wanted to program in an object oriented assembly language?

I already have - Borland Turbo Assembler (TASM) had an object-oriented programming framework. This was at least 10 years ago.

This new OO assembler is interesting, sure - but it's by no means the first.

Re:Borland TASM was object-orientated. (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8471291)

Fuck shit damn bitch whore cock ass motherfucker godamn bitch fuck shit shit shit fuck motherfucker godamn son of a bitch damn bitch whore godamn bitch fuck shit shit shit fuck motherfucker

Re:Borland TASM was object-orientated. (0)

Anonymous Coward | more than 10 years ago | (#8471316)

Fuck?

Re:Borland TASM was object-orientated. (0)

Anonymous Coward | more than 10 years ago | (#8471328)

Shit?

Re:Borland TASM was object-orientated. (0)

Anonymous Coward | more than 10 years ago | (#8471346)

Motherfucker?
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...