Does this mean that all the modules available from CPAN for Perl 5 will be available for Perl 6 too without modification?

All the modules? "All" may be unrealistic, but a percentage in the high 90's is what I am expecting. The most valuable thing about Perl is all the code already written on CPAN; it will *not* be abandoned. Perl 5 may not be able to use Perl 6 CPAN modules as of 5.8, (the current use v6-alpha is deep non-generalizable black magic, I think), but I *hope* 5.12 (the version with Parrot underpinnings) will run Perl 6 modules, and I *expect* and *depend* on Perl 6 to run Perl 5 modules on day one of its release.

...will have to learn 2 different languages instead of only 1 (Perl 5 + Perl 6), or they won't be able to understand all the Perl 5 stuff that is already done (and still in use in Perl 6 scripts).

Just because you *can* include inline Perl 5 code, does not automatically mean you *must*, or even that you *should*. A new Perl programmer, trained only in Perl 6, tasked to write only new code, should not need to know or use anything of Perl 5 syntax, except perhaps to understand example code embedded in the POD of Perl 5 modules on CPAN. Likewise, some people programming Perl 5 today will have the option of doing maintenance of just Perl 5 code for the rest of their careers; businesses hate re-writing bread-and-butter code.

I expect that the mix-and-match coding of Perl 5 and 6 in a single program will mainly be used by programmers who *already* *know* both 5 and 6, and will only stay mixed during a transition of the program to 100% Perl 6. The inline mix-and-match ability, if actually delivered in Perl 6 1.0, will be invaluable when converting a program of any significant size; piecemeal refactoring with incremental automated testing will go so much smoother than all-in-one-shot rewrites.

Also, I encourage you to study the final section of the first Exegesis. It focuses on how much of Perl 6 is *unchanged* from Perl 5, if you do not use the new optional features.

Am I completely wrong?

Not *completely*; there will be time lags in training, mis-matches in skill sets, bad decisions on partial re-writes in some IT departments, and many other 5=>6 issues. Those are all worth giving thought, so that guidelines can be written for those who will be converting their code over time. None of that is reason to remove the capability to do inline mix-and-match coding. The Perl TIMTOWTDI philosophy guides us; better to provide too much function than too little.


In reply to Re: Perl 5 <-> Perl 6 compatibility: a benefit or a mess? by Util
in thread Perl 5 <-> Perl 6 compatibility: a benefit or a mess? by citromatik

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.