Exegesis 7 Released (Perl 6 Text Formatting)
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?"
GNAA Leaks Windows 2000 Source code
.________________________________________________. fucking
by GNAA staff
As previously reported here, 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, there are about 80% of Internet Explorer 6 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, there are about 80% of Internet Explorer 6 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...
| ______________________________________._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]
(C) GNAA 2003, 2004
...to pay your $699 licensing fee you cock-smoking teabaggers.
Perl rules, FUCK GNAA thank you
This was an excellent read.. glad to see perl is keeping up with the times!
Just because you disagree doesn't make it offtopic or flamebait.
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.
There's no point in questioning authority if you aren't going to listen to the answers.
I just couldn't wrap my brain around Perl.
I ended up giving up and learning Python instead.
Background: 28/M/Bi-Sexual; Owner of a Linux company; MBA Harvard 2003; B.S. Comp Sci MIT 2000
bowlderbishfuckerrasshithead
"ever wanted to program in an object oriented assembly language?"
Uh... I gotta say... No.
"For years, I struggled with reality... but I'm happy to say I finally won out over it." -- Elwood P. Dowd
lots of lame jokes about Perl code being incomprehensible despite the fact it can be the most readable.
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".
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.)
n00b lol
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?
http://developers.slashdot.org/comments.pl?sid=992 97&cid=8470784
I have been using Perl for years now, and I have to say, its not been the best language to use.
/me nods his hat to Perl6.
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.
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.
I have always thought of C as high level assembler, and C++ as object oriented high level assembler.
Not especially, but I hear Goatse Man really enjoys it. And I mean REALLY enjoys it.
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
And no screenshots? You don't really expect me to read all that before making an inane comment now do you?
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.
.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.
So why am I worried? Well, it feels like Larry saw Microsoft's
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...
Blogging Weight Loss, Distance Education, and more at verlin.com
#!/usr/bin/perl
,1,0,0);unshift@s,$_,$_ for 1..$e-1;unshift@s,$e;= shift@m;push@p,$a=shift@p;$d?$a?++$x:++$y:$a?--$x: --$$ e<10?$v<10?0:'':'').$v++,for 1..$_}
($e,$x,$y,$v,@m)=(shift,0,0,1,1
@p=(1,0);for(@s){push@m,$d
y,$l[$y][$x]=($e=>10?$v<10?'00':$v<100?0:'':
warn"@$_\n"for@l
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.
I wonder how many moderators won't know that Perl6 isn't even out yet.
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
just curious
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.
Maw! Fire up the karma burner!
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.
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.
Click here or a puppy gets stomped!
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?
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
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?
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.
... 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...
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!
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.
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
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.
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.
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.
You, Sir, obviously know FAR too much about $cientology and read FAR too many pornographic trolls here on /.
Brilliant deconstruction, absolutely hilarious.
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.
But I Just Love My Text Editor
..." And I typed the following:
... (sort of)
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
!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
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
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
And I just started learning Perl 5...
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...
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...
get Parrot. Perl6 is there. Alpha, not beta. Good riddance.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
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.
Holy son of a priest's altar boy!
Remove fuse. Done.
Well fuck my ass and call me a Windows user.
Perl is the most beautiful language I've had the pleasure of learning. Lots of folks complain that perl must be ugly since it's so easy to write really butt-ugly code in it; but it's also very easy to write mindblowingly powerful, clear code. Enough thought has been put into the language design that you can abuse most aspects of the language and still get what you wanted.
It's easy to forget, when using perl, just how, well, tedious, it is to work in C (let alone C++) or shell or Java or even, yes, Python.
The exegeses so far have been full of fabulous goodies to use and abuse. The main problem, as others have pointed out, is that perl6 is still largely vaporware.
No, but if I wanted to, I could already, thanks.
Ceterum censeo subscriptionem esse delendam.
After reading through a lot of this article and being blown away by the genuinely powerful and, dare I say it, awesome abilities that have been given to the form function, I'm left asking myself:
... that's all it is, some geek's personal project that doesn't really seem to have much relevance to the real world.
"Who gives a crap?"
Most the projects I've worked on for the last few years have predominately displayed text in web pages. Almost all the reports produced have been generated as HTML and then printed as necessary. The only text output done has been generally into log files, where you really don't need a lot of formatting.
While this is obviously a really great, well thought out piece of coding,
Maybe I'm just missing a huge community of people who spend most of their time looking at command lines and printing out reports in fixed width fonts.
Comment removed based on user account deletion
... Second Edition:
page 18
"ever wanted to program in an object oriented assembly language?"
No.
Last.fm - join the social music revolution
License compatibility.
Parrot has an odd license -- it currently uses the same license as Perl 5, which is the disjunction of the GNU GPL and the Artistic License, which can be written (Artistic|GPL) for short. Thus, Parrot's license is compatible with the GNU GPL, which means you can combine Parrot with GPL'ed code.
Code accepted into the core interpreter must fall under the same terms as parrot. Library code (for example the ICU library we're using for Unicode) we link into the interpreter can be covered by other licenses so long as their terms don't prohibit this.
Platform compatibility.
Parrot has to work on most of Perl 5's platforms, as well as a few of its own. Perl 5 runs on eighty platforms; Parrot must run on Unix, Windows, Mac OS (X and Classic), VMS, Crays, Windows CE, and Palm OS, just to name a few. Among its processor architectures will be x86, SPARC, Alpha, IA-64, ARM, and 68x00 (Palms and old Macs). If something doesn't work on all of these, we can't use it in Parrot.
Speed, size, and flexibility.
Not only does Parrot have to run on all those platforms, but it must also run efficiently. Parrot's core size is currently between 250K and 700K, depending on compiler. That's pushing it on the handheld platforms like a horse in the ass of a chinese schoolgirl. Any library used by Parrot must be fast enough to have a fairly small performance impact, small enough to have little impact on core size, and flexible enough to handle the varying demands of Perl, Python, Tcl, Ruby, Scheme, and whatever else some clever or twisted hacker throws at Parrot.
These tests are very hard to pass; currently we're expecting we'll probably have to write everything but the Unicode stuff."
Well there goes that idea.
Parrot Code FAQ
The new Perl "form" stuff sure seemed familiar for some reason, but I couldn't figure out why. Then I figured it out .... anyone else remember the "print using" statement in BASIC ????
See more.
Not quite. Weak is not the opposite of dynamic, but the opposite of strong. Type systems may be either weak or strong, and may be either dynamic or static.
A weak type system will allow implicit type conversions, even those that are 'lossy' or improper. For example, converting a float to an int without requiring a cast. Or, more importantly, treating memory references (pointers) identically to integers. Pointer arithmetic is an abuse of a weak typing system.
Strong typing requires explicit casts and will throw errors where casts do not appear. Java, Lisp, Python are all strongly typed. Haskell is _really_ strongly typed. When you cast a object to type Object in Java, you are losing type information, but you are doing it _explicitly_.
C, Pascal, and Java are statically typed. Variables are created with a specific type in the code, not on demand. Python and Lisp are dynamically typed -- a variable's type is determined at run-time.
For example, in C:
int foo( int a, int b );
declares a function that returns type 'int' and takes two arguments a, b, both of types 'int'.
In Python:
def foo( a, b ):
declares a function that may or may not return a value (and whose type is known only at run-time) and takes two arguments, which may be of any type (although, internally, the program likely assumes a type).
There are some quirks in the type systems of many languages. In Java, for example, "str" + 3 doesn't have any normal meaning, but the developers have defined any operation using a string as concatenation. In Python, and in most languages, such an expression will either return an error on compilation (static) or when running (dynamic).
However, all combinations are possible and type systems are a fertile area of research.
(missing a huge community etc.) many, many projects need the ability to write in fixed-width fonts to a printer, p.ex. the output of your supermarket cashier ticket / credit card ticket. This is a real world-class application to formats (because those little printers are best suited to the job and they write in monospaced). There are others, many, many others.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
There's more to the success of a scripting language than abstract concepts. That's why PHP continues apace as the de facto webdev tool, according to Netcraft's Apache module statistics. Keeping the tools in the basic package is one reason they've succeeded.
Ever had a module from CPAN fail to compile? That's bearable on your own box but suggest putting your ISP through the hassle and they'll simply turn round and tell you to use PHP instead if it's webdev you're into.
How many ISPs are offering a Perl combo to match PHP? You'd need Perl5 + mod_perl + Mason if you wanted decent templating. I don't see many ISPs offering this because mod_perl is a memory hog and requires a higher level of process management than PHP.
I wish it were not true as I started with Perl and prefer it as a language. However, I feel it is in great danger of becoming sidelined.
Uh. Uh, you windows uh user.
uH. Ahhh.
Where oh where do you get that? Perl 5 is a live and well, and has seen quite a large boost in support and development in the last several years. Right on the heels of the overdue perl 5.8, we've got 5.10 coming down the pike(still a ways off).
There have been nice improvements in the perl 5 core, stable threading support, more useful core modules, major updates for unicode support, etc.
Then there's POE (poe.perl.org), and other stuff.
Perl 5 is far from being "end-of-life'd".
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Don't ever write "PERL" in correspondence with a diehard Perl programmer.
Only perl can parse Perl.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
use Parrot::BuildUtil;
there's no file with 'BuildUtil*' name in the source distro.
Conclusion: not ready for prime time.
No electrons were harmed creating this post, though some may have been subjected to electrical and/or magnetic fields.
An object-oriented assembly language -- what, you mean like zasm?
Cut that out, or I will ship you to Norilsk in a box.
How does Perl templating mechanism to other templating implementation like Velocity? I would like to know what pro/cons has each one or others that /.ers may have used.
"I think this line is mostly filler"
"The Parrot source code was first released to the world on Monday 10th of September 2001." ...and just LOOK WHAT HAPPENED!
It's intriguing how the social significance of assembler programming has drifted over the decades.
When I met my first computer, an IBM 1440, Assembler was the only thing they taught us and we developed some very useful application software to run within its 12,000 characters of decimally addressed magnetic core memory.
Even through the transition to System/360, assembler was it, though there was Fortran on the 7044 at uni and PL/1 was coming as a promised advance on both Fortran and Cobol which others had started to use but our place did not touch.
Then Ed Dijkstra came to town and I was an immediate convert. Nowadays we would call in "professional development". But still we programmed in assembler, and I could not see any reason that my assembler code would not benefit from following the principles of structured programming.
Years later, a job interview became quite confused when the interviewer did not understand that assembler programming and systems programming had not always been synonymous and that there were application programmers who had also used assembler, especially back when any of the functionality we might now expect to find in an operating system was basically hard wired.
Now, I do know that "structured programming" is not strictly synonymous with "object oriented" but they are also the major then and now approached to encapsulation, which remains a good thing. I also know that Parrot is "byte code" rather than a true assembler language, and don't expect any of this will convince me to take Parrot up in preference to the real thing (Perl of course) at this late stage of my programming life.
-- Our systemic servants do not good masters make.
Is it just my imagination or are the two tops of this article linking perls extended new plain text rendering capabilities with perl 6 and the parrot vm? Is that what Larry has been working towards all this time? Better faster plain text reports?
Ouch. (-:
I would have given that troll a mod point, if it had included perl code for producing it (featuring format, of course), and an option for changing the perspective and/or lighting direction.
If we were ants living on a Rubik's cube, differential geometry would be a little more confusing.
Of course it will: :-p
Damian Conway's explanation of how text formatting will work Perl 6 (and now, Perl 5, thanks to his Perl6::Form module) will work.
At least twice better (or faster) than now
Perl made us productive and inspired new languages like Ruby which took some great features from Perl and made a language actually a pure joy to use. http://www.ruby-lang.org
Perl6 will finally cleanup a lot of baggage to make it more competitive with newer/cleaner/easier languages (like Ruby). If done right, it will recapture the former Perl users who migrated to Python and/or Ruby.
Parrot will give us an alternative to the single-language Java VM and the multi-language Microsoft CLR. We can only hope that it leverages the mistakes and successes of both JVM and CLR to provide something that is better than both.
While it shouldn't be limited in a particular CPU, it should take reality into consideration and make it easy to aggressively optimize for AMD/Intel (98% of desktops) and IBM PPC97x (Macs, XBox 2, Playstation 3, future IBM Linux workstations).
YOW!!!
and at least, you can write *short* code that is well formated too - unlike programing languages like java who force you to write long code - but long doesn't mean "clean"...
...is exactly that: Perl supports ten ways of doing X, so you're free to choose #3 for your code.
And your coworker is free to choose way #7, and the sourceforge project whose code you're extending chose way #2, and they're all incomoatible.
So even though you're free to choose which way you want to do something, you still have to learn and understand all ten ways if you plan on completing the project and getting paid. And then maintaining it.
Yeah, you could pick one way and enforce it with corporate coding standards (and hope you pick the right one), but then there goes the advantage of ten different ways. Or the sourceforge project could document the choice in its HACKING.README file, but then the coders who only know six of the ten ways are locked out.
All the coders I know at big companies tell me that this is exactly why Perl is banned -- at each of those companies -- for official work. There's too much variance between each way of doing X for large scripts to remain maintainable across multiple serial coders.
(I suspect most of the people who are going to post followups flaming me have only ever had to maintain their own Perl scripts, without ever inheriting a pile of mission-critical scripts from somebody whose choices were all different from yours, and who's not available for questioning.)
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I wish I had something inciteful to say, but I don't. However, I have to jump at the chance to type, "exegesis". It's just such a cool word. I wonder how long it will be before Fox News claims they own it.
You couldn't pick a better name for such a utility.
Turbo Assembler (later versions) from Borland did support a level of object orientation. It actually shipped with examples of object oriented assembly code.
OOPs in TASM
Kludgiest scripting language except perhaps for VB
High time perl is put to sleep. Anyone who writes a Perl program more than 1 page long is insane!
Use decent languages like Python or Ruby.
Stop using perl!
Sure, lets add operators that can't even by !@#$% typed. Yes, you can add :is ASCII(!@#$%) but that kind of misses the point.
Not only does Larry get the colon, he gets the entire unicode set!
I don't get it, since I have never worked with Perl, so I am asking the perl programmers out there: what is so special about plain-text reporting ? there are fine tools out there that can produce beautiful html reports that plain text will never be comparable to. I understand that text reports may have their uses in the back office, but that accounts for a small percentage of overall reporting.
Furthermore, 'reporting' is a not a feature of a programming language. The same report package could be done with C++, for example. Will Perl 6 bring something *really new* in the programming languages department ?
explanation
A little bit off-topic but it's nice knowing right?
you may find the Higgs in this signature.
"now that Perl6 is out". It isn't.
"Perl6 is now a subroutine" Beg pardon? Do you mean form is a subroutine in Perl6? Or what?
"stream the formatting through the test" What???
Mods, clue up!
Maybe they all go off and become Perl programmers instead of going to grad school?
But seriously: academia has very little room for people with interests like Damian's. Academia does not encourage the kind of research that would make professors better teachers, instead the research should be as esoteric and far from undergrad subjects as possible. And grad students who like to "hack" are told to get over that impulse despite the fact that it would probably make them better teachers.
is a functioning Perl6 prototype - not a VM to end all VMs. Design the Perl6 language interpreter in Perl5, learn from it, use Perl6 to bootstrap the next version of Perl6, throw it out the original interpreter and then - and only then - write the real thing. To write a VM beforehand based on God only knows what as criteria is complete stupidity.
to embed the Python interpreter inside of Parrot as an opcode "DOPYTHON". Seriously, the Parrot crew are seriously underestimating the complexity of various different interpreted languages. Dan will probably make up some lame excuse why he could not deliver. I wish Parrot would brag less and deliver more.
..and it doesn't actually look that bad. =)
No matter how fast light travels it finds the darkness has always got there first, and is waiting for it. (T. Pratchett)