<?xml version="1.0" encoding="windows-1252"?>
<node id="835737" title="Re: How to Implement Perl 6 in Ten Years" created="2010-04-20 05:07:13" updated="2010-04-20 05:07:13">
<type id="11">
note</type>
<author id="961">
Anonymous Monk</author>
<data>
<field name="doctext">
&lt;blockquote&gt;
you have to get the grammar engine correct to have any hope of implementing it well. How you do that is an interesting question
&lt;/blockquote&gt;

&lt;p&gt;
Oh I'll tell you how you do that. It's very simple. You get people skilled for this exact task ! Those skills are acquired in universities(preferably good ones) where professors teach courses like "Formal Languages and Automata" or "Compiler theory". If you have a bunch of people who are open-source contributors but don't have the knowledge or haven't studied the right things, they cannot contribute properly or can do so, but inefficiently because they don't know what they're supposed to know in theory and they're already trying to put it in practice. Let's go over this again, &lt;i&gt;They don't know it in theory and they're trying to put it in practice!&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
How does that sound to you ?
&lt;/p&gt;

&lt;p&gt;
Most likely the people Perl6 needs as contributors are already hired on paid jobs by companies which develop compilers and related software.
&lt;/p&gt;

&lt;p&gt;
If Perl6 attracts web developers instead of compiler people how is the compiler going to evolve ? It's probably going to evolve into a hack because most &lt;i&gt;web developers&lt;/i&gt; out there don't even have a formal education much less knowledge about the courses mentioned.
&lt;/p&gt;

&lt;p&gt;
If you can't get &lt;b&gt;real&lt;/b&gt; compiler people to use Perl6 and help with it, the average open-source rookie won't be able to deal with this. He needs to know what he's doing. But instead you have a big dream(that Perl6 is) and people that are not necessarily skilled to make that dream reality.
&lt;/p&gt;</field>
<field name="root_node">
835419</field>
<field name="parent_node">
835731</field>
<field name="reputation">
-11</field>
</data>
</node>
