Perl6 has a gazillion things that differentiate it from Perl5.
- Parrot. Oh. My. God. The ability to mix Python and Ruby libraries in with Perl libraries is huge.
- Grammars. The fact that Perl6 will be written in Perl6. I can write my own -real- syntax as a CP6AN library.
- More importantly, I can -remove- syntax. Like, literally remove the syntax. This makes hardened Perl a real possibility. That means greater penetration into certain areas Perl just wasn't useful for.
- Proper autoboxing. This is something Ruby has over us. No more.
- A completely portable ASM I can address. That's nice.
- Properly first-class functions that serialize nicely. This and proper autoboxing makes the P6 version of DBM::Deep a lot easier to write.
- Oh, yeah. There's Lispy macros.
Now, why might I use Perl5 over all that sugary goodness? Well, in the first 5-6 years, very little of the CP6AN code will be truly battle-tested. I might be wanting to reuse Perl5 libraries and don't want to trust the Ponie emulation. The same reason why 5.6 interpreters are still in heavy use and why I haven't bothered to even download 5.10 - change is expensive.
But, unless there's something horribly wrong, I will be choosing P6 over P5 for all new projects. Once 6.0.2 is released, of course.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|