<div dir="ltr">+1 to &quot;I&#39;ve never understood the appeal of loosely-typed languages for complicated projects like games&quot;<div><br></div><div>While I really like Lua, I mainly think of it as just glue.  In my opinion the typesafe heavy lifting should all be written in C++ and the scripting language should only be used as a sophisticated configuration file.</div>
<div><br></div><div>Of course, an add-on is different, it needs to do more than just coordinate pre-existing functionality, it needs to add functionality (by definition).  C# would be excellent for that as the add-on gets more complicated and real software engineering starts to be needed.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 26, 2013 at 11:25 AM, Tom Edwards <span dir="ltr">&lt;<a href="mailto:contact@steamreview.org" target="_blank">contact@steamreview.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    Mono/CLR is the right choice for game development. It&#39;s a
    memory-managed environment which performs better than scripts, can
    be strongly-typed or loosely-typed depending on language chosen, and
    has a cross-platform IDE plus debugger ready to go (on Windows you
    can use Visual Studio!).<br>
    <br>
    It&#39;s easy to use CLR or native libraries; compiling your own CLR
    code is really fast; the runtime provides tonnes of useful built-in
    classes; it has the concept of code security and sandboxing running
    all the way through; and any transition would be smoothed
    considerably by IronPython.<br>
    <br>
    Coming at this from the other angle, I&#39;ve never understood the
    appeal of loosely-typed languages for complicated projects like
    games. They are nice for small, simple tasks but become a nightmare
    to work with as a codebase grows. I maintain a Blender add-on with
    nearly 200KB of code and my life would be much improved if I could
    use C# instead of Python.<div><div class="h5"><br>
    <br>
    <div>On 26/09/2013 4:49, Jason Wilkins
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">I can understand your frustration Campbell.  I&#39;ve
        never participated in any of those previous discussions, but
        this is something that has been kicking around in the back of my
        mind for a while, and seeing that we have a Blender gamedev list
        reminded me of it yet again.  It could just be that having one
        language is good enough for 90% of people and going from 1 to 2
        is a big enough step that nobody really wants to take it for the
        10% that really care. 
        <div>
          <br>
        </div>
        <div>In computer science if you have 2 of something you should
          support an infinity of it ;-)
          <div><br>
          </div>
        </div>
        <div>If I really really want to use Lua then I&#39;ll get it done.</div>
        <div><br>
        </div>
        <div>I&#39;ll have to think about the LLVM or Mono suggestion.  LLVM
          especially is something I need to learn more about for reasons
          outside of Blender, so I&#39;d have a good reason to look into
          that.</div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Thu, Sep 26, 2013 at 10:40 AM,
          Campbell Barton <span dir="ltr">&lt;<a href="mailto:ideasman42@gmail.com" target="_blank">ideasman42@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>On Fri, Sep 27, 2013 at 1:33 AM, Jason
              Wilkins<br>
              &lt;<a href="mailto:jason.a.wilkins@gmail.com" target="_blank">jason.a.wilkins@gmail.com</a>&gt;
              wrote:<br>
              &gt; I&#39;ve used SWIG, and it did occur to me that if I
              wrote a SWIG interface file<br>
              &gt; that it would bring in lots of languages all at once.<br>
              &gt;<br>
              &gt; It doesn&#39;t support just &quot;any&quot; language.  I wish it
              had V8 or spidermonkey<br>
              &gt; support, for example.<br>
              &gt;<br>
              &gt;<br>
              &gt; On Thu, Sep 26, 2013 at 10:29 AM, Jacob Merrill &lt;<a href="mailto:blueprintrandom1@gmail.com" target="_blank">blueprintrandom1@gmail.com</a>&gt;<br>
              &gt; wrote:<br>
              &gt;&gt;<br>
              &gt;&gt; What about this? - <a href="http://www.swig.org/" target="_blank">http://www.swig.org/</a><br>
              &gt;&gt;<br>
              &gt;&gt; this seems like a way to make &quot;ANY&quot; language grab
              the same handles in the<br>
              &gt;&gt; BGE.<br>
              &gt;&gt;<br>
              &gt;&gt; I could be mistaken...<br>
              <br>
            </div>
            If we have more languages I would want to check on runtimes
            that<br>
            already support a verity of languages.<br>
            - LLVM/JVM/Mono for eg... who knows, maybe PyPy or Parrot...<br>
            <br>
            (in all seriousness Mono seems most compelling and has
            worked well for<br>
            Unity3D), then we can support one runtime as well as
            different<br>
            languages.<br>
            <br>
            LLVM has the advantage we already bundle it with OSL, so
            worth<br>
            investigating too.<br>
            <br>
            But to get back to reality - this conversation keeps
            re-opening and<br>
            nothing ever comes of it.<br>
            Yes - we can support whatever languages we like - but this
            just ends<br>
            up being a huge project when you consider integration with
            the rest of<br>
            Blender and ongoing maintenance.<br>
            <span><font color="#888888"><br>
                --<br>
                - Campbell<br>
              </font></span>
            <div>
              <div>_______________________________________________<br>
                Bf-gamedev mailing list<br>
                <a href="mailto:Bf-gamedev@blender.org" target="_blank">Bf-gamedev@blender.org</a><br>
                <a href="http://lists.blender.org/mailman/listinfo/bf-gamedev" target="_blank">http://lists.blender.org/mailman/listinfo/bf-gamedev</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Bf-gamedev mailing list
<a href="mailto:Bf-gamedev@blender.org" target="_blank">Bf-gamedev@blender.org</a>
<a href="http://lists.blender.org/mailman/listinfo/bf-gamedev" target="_blank">http://lists.blender.org/mailman/listinfo/bf-gamedev</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
Bf-gamedev mailing list<br>
<a href="mailto:Bf-gamedev@blender.org">Bf-gamedev@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-gamedev" target="_blank">http://lists.blender.org/mailman/listinfo/bf-gamedev</a><br>
<br></blockquote></div><br></div>