<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Spencer wrote:</p>
    <p>*&gt;personally be interested in a framework where ChucK can
      advance not just in response to academic research but in
      continuing to improve a nice programming language for musicians. I
      have thought a lot about this over the years and I still don't
      have an answer, but I do care :)<br>
      Thoughts? <br>
    </p>
    <p><br>
    </p>
    <p>I'm not an exper by any means on open source funding, but could
      you build a foundation similar to the Mozilla foundation?  They
      somehow kept their code alive and thriving after netscape went
      away.</p>
    <p><br>
    </p>
    <p>Just my one cent...</p>
    <p>-- Rich</p>
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 1/25/2018 5:36 AM, Spencer Salazar
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CA+ezOE4Ox+ogkzzhWZRh8HwUR2cg6pMU6QVATG2Te1O-JCZ49Q@mail.gmail.com">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Hi all,</div>
        <div><br>
        </div>
        <div>In terms of recent developments you'll notice a flurry of
          commits in the past year or so, mostly by Jack Atherton and
          Ge:</div>
        <div><a href="https://github.com/ccrma/chuck/commits/master"
            target="_blank" moz-do-not-send="true">https://github.com/ccrma/chuck<wbr>/commits/master</a></div>
        <div>Not to steal Jack's thunder but these are related to a very
          interesting research project hes been developing and perhaps
          can talk more about :) And in fact, at the moment we are
          actually at the verge of a new release. </div>
        <div><br>
        </div>
        <div>Chuck Racks recently came out of my group at CalArts,
          though it is still very much in a beta state (and open to pull
          requests :).</div>
        <div><a
            href="https://mtiid.calarts.edu/projects/software/chuck-racks/"
            target="_blank" moz-do-not-send="true">https://mtiid.calarts.edu/proj<wbr>ects/software/chuck-racks/</a></div>
        <div><br>
        </div>
        <div>ChucK is going strong at CalArts, where we teach it to ~50
          multidisciplinary art students every year and many, many more
          through Kadenze. The similarity of ChucK's syntax to e.g.
          Processing, Arduino, and C++ make it an ideal starting point
          for teaching this family of languages in the context of
          creative coding (this is also one reason why we do not start
          with teaching more well-known languages for music such as
          PureData, Max, or SuperCollider). </div>
        <div><br>
        </div>
        <div>We also use ChucK to power most of our advanced music
          computing systems, for instance our entire Machine Orchestra
          architecture, our musical interface design instruction, and
          anything else involving physical hardware. ChucK is still the
          first tool I reach for for "musical systems integration," with
          its ability to synchronize between different hardware
          interfaces, software environments, network endpoints, and
          audio capture + emission. </div>
        <div><br>
        </div>
        <div>Suffice it to say, my colleagues, students, and I have a
          significant interest in seeing ChucK thrive and continuing to
          nurture it in that direction. </div>
        <div><br>
        </div>
        <div>That being said, if you look at the big picture of
          everything I detailed above, developments in ChucK are mainly
          driven by research initiatives (even the Kadenze course was
          originally created as part of an NSF grant). There is no
          research-oriented motivation to e.g. make static strings work
          better, or to improve and update documentation. The only real
          recent push to improve the user-facing aspect of programming
          with ChucK came in anticipation of the ChucK book, published
          in 2015, in which we allocated some funding to fix bugs and
          add some sorely missing features (such as string processing
          and SerialIO) -- huge thanks to Ajay for really pushing this
          effort. </div>
        <div><br>
        </div>
        <div>Aside from that, its hard for me to really see how the nuts
          and bolts development of ChucK has been carried on outside of
          specific research agendas, or especially motivated grad
          students. I am personally be interested in a framework where
          ChucK can advance not just in response to academic research
          but in continuing to improve a nice programming language for
          musicians. I have thought a lot about this over the years and
          I still don't have an answer, but I do care :)</div>
        <div><br>
        </div>
        <div>Thoughts? </div>
        <div><br>
        </div>
        <div>Spencer</div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sat, Jan 13, 2018 at 6:53 PM, JP
          Yepez <span dir="ltr">&lt;<a
              href="mailto:jpyepezimc@gmail.com" target="_blank"
              moz-do-not-send="true">jpyepezimc@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote">
            <div dir="ltr">Hello all,
              <div><br>
              </div>
              <div>I can't say much about the development part itself,
                but in my experience I've noticed that ChucK is still
                being used widely at an academic level. I understand
                it's being used in a few universities that include
                creative technology programs and computer orchestra
                courses in their curriculums, including CalArts,
                Stanford, and VUW (New Zealand). Like Mario mentioned,
                it is a core part of a few Kadenze courses; I've been
                involved as a producer/teaching assistant in a couple of
                them and it seems like it's a popular language among
                students who are just learning how to code, and
                musicians who would like to develop more advanced
                projects. Also, ChucK Racks popped up a couple of months
                ago, which was pretty exciting. So yeah, I think there's
                quite a bit going on, but it certainly would be nice to
                have a more active community (I'm hoping to contribute,
                and hopefully I'll get to it before too long).<br>
              </div>
              <div><br>
              </div>
              <div>About the <b>static strings</b> issue, I think
                they're kind of in a shady spot. Like Gonzalo mentioned,
                you can't have static non-primitives in your code, but
                there is a workaround to this by declaring objects as a
                reference and then initializing them outside of the
                class. However, if you try to do this with strings, it
                will tell you that they're a primitive type and it
                throws an error. The best hack I've found for this is
                through arrays (even if the size of the array is 1 in
                many cases). Here's an example:</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>
                <p class="m_-4532268900663437588gmail-p1">public<span
                    class="m_-4532268900663437588gmail-s1"> </span>class<span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s2">Container</span><span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s2">{</span></p>
                <p class="m_-4532268900663437588gmail-p2"><br>
                </p>
                <p class="m_-4532268900663437588gmail-p3"><span
                    class="m_-4532268900663437588gmail-s1">    </span><span
                    class="m_-4532268900663437588gmail-s3">static</span><span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s4">string</span><span
                    class="m_-4532268900663437588gmail-s1"> </span>staticString[];</p>
                <p class="m_-4532268900663437588gmail-p2"><span
                    class="m_-4532268900663437588gmail-Apple-converted-space">  
                     </span></p>
                <p class="m_-4532268900663437588gmail-p1"><span
                    class="m_-4532268900663437588gmail-s1">    </span>public<span
                    class="m_-4532268900663437588gmail-s1"> </span>static<span
                    class="m_-4532268900663437588gmail-s1"> </span>void<span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s2">init()</span><span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s2">{</span></p>
                <p class="m_-4532268900663437588gmail-p3"><span
                    class="m_-4532268900663437588gmail-s1">        </span><span
                    class="m_-4532268900663437588gmail-s3">new</span><span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s4">string</span>[<span
                    class="m_-4532268900663437588gmail-s5">1</span>]<span
                    class="m_-4532268900663437588gmail-s1"> </span>@=&gt;<span
                    class="m_-4532268900663437588gmail-s1"> </span>staticString;</p>
                <p class="m_-4532268900663437588gmail-p3"><span
                    class="m_-4532268900663437588gmail-s1">        </span><span
                    class="m_-4532268900663437588gmail-s6">"Hello World"</span><span
                    class="m_-4532268900663437588gmail-s1"> </span>@=&gt;<span
                    class="m_-4532268900663437588gmail-s1"> </span>staticString[<span
                    class="m_-4532268900663437588gmail-s5">0</span>];</p>
                <p class="m_-4532268900663437588gmail-p4"><span
                    class="m_-4532268900663437588gmail-Apple-converted-space"> 
                      </span><span
                    class="m_-4532268900663437588gmail-s2">}</span></p>
                <p class="m_-4532268900663437588gmail-p2"><span
                    class="m_-4532268900663437588gmail-Apple-converted-space">  
                     </span></p>
                <p class="m_-4532268900663437588gmail-p1"><span
                    class="m_-4532268900663437588gmail-s1">    </span>public<span
                    class="m_-4532268900663437588gmail-s1"> </span>static<span
                    class="m_-4532268900663437588gmail-s1"> </span>void<span
                    class="m_-4532268900663437588gmail-s1"> </span><span
                    class="m_-4532268900663437588gmail-s2">print(){</span></p>
                <p class="m_-4532268900663437588gmail-p3"><span
                    class="m_-4532268900663437588gmail-s1">        </span>&lt;&lt;&lt;<span
                    class="m_-4532268900663437588gmail-s1"> </span>staticString[<span
                    class="m_-4532268900663437588gmail-s5">0</span>]<span
                    class="m_-4532268900663437588gmail-s1"> </span>&gt;&gt;&gt;;</p>
                <p class="m_-4532268900663437588gmail-p4"><span
                    class="m_-4532268900663437588gmail-Apple-converted-space"> 
                      </span><span
                    class="m_-4532268900663437588gmail-s2">}</span></p>
                <p class="m_-4532268900663437588gmail-p3">}</p>
                <p class="m_-4532268900663437588gmail-p2"><br>
                </p>
                <p class="m_-4532268900663437588gmail-p3">Container.init();</p>
                <p class="m_-4532268900663437588gmail-p3">Container.print();</p>
                <p class="m_-4532268900663437588gmail-p2"><br>
                </p>
              </div>
              <div><br>
              </div>
              <div>You don't really need an init() function, and you can
                initialize the array on the actual script, but I usually
                end up with much larger classes, which is why I like to
                keep things clean.</div>
              <div>Hope this helps!</div>
              <div><br>
              </div>
              <div>Best,</div>
              <div><br>
              </div>
              <div>JP</div>
              <div><br>
                <div class="gmail_extra">
                  <div>
                    <div class="m_-4532268900663437588gmail_signature">
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div>
                              <div dir="ltr">
                                <div><br>
                                </div>
                                <b>JP Yepez</b>
                                <div>
                                  <div><span>New Media Artist - Musician
                                      - Researcher</span></div>
                                  <div>Website:  <a
                                      href="http://www.jpyepez.com/"
                                      target="_blank"
                                      moz-do-not-send="true">http://www.jpyepez.com/</a></div>
                                  <div>Email:      <a
                                      href="mailto:jpyepezimc@gmail.com"
                                      target="_blank"
                                      moz-do-not-send="true">jpyepezimc@gmail.com</a></div>
                                  <div>------------------------------<wbr>--------------------------</div>
                                  <div><a
                                      href="https://www.instagram.com/jpyepez/"
                                      target="_blank"
                                      moz-do-not-send="true"><img
                                        moz-do-not-send="true"></a><span>
                                      <a
                                        href="https://twitter.com/jpyepezmusic"
                                        target="_blank"
                                        moz-do-not-send="true"><img
                                          moz-do-not-send="true"></a><span>
                                        <a
                                          href="https://www.linkedin.com/in/jp-yepez-063928123/"
                                          target="_blank"
                                          moz-do-not-send="true"><img
                                            moz-do-not-send="true"></a></span></span><br>
                                  </div>
                                  <div><br>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div>
                    <div class="h5">
                      <br>
                      <div class="gmail_quote">On Sun, Jan 14, 2018 at
                        12:19 AM, mario buoninfante <span dir="ltr">&lt;<a
                            href="mailto:mario.buoninfante@gmail.com"
                            target="_blank" moz-do-not-send="true">mario.buoninfante@gmail.com</a>&gt;</span>
                        wrote:<br>
                        <blockquote class="gmail_quote">Hi,<br>
                          <br>
                          I'd like to ask the same question about the
                          development status.<br>
                          <br>
                          the only thing I can say is that also if the
                          development seems to be a bit stuck, on the
                          other side I noticed that they're pushing on
                          the educational side (see Kadenze courses),
                          and if you look at the github repository,
                          there's been some update in the last 2 years.<br>
                          <br>
                          but as you guys said, it's important to know
                          what's the plan ;)<br>
                          <br>
                          it's a couple of years I'm really diving into
                          ChucK and I strongly believe that is a good
                          programming language which opens up a lot of
                          possibilities that other languages don't.<br>
                          <br>
                          but at the same time I feel like it's been a
                          bit abandoned (maybe that's a huge word, let's
                          say put aside ;) ) and of course using a
                          "tool"  which has an "uncertain future" it's
                          not the best thing.<br>
                          <br>
                          I wish I was able to offer my contribution to
                          the development, but unfortunately I'm not
                          really into C/C++, I'm more a "scripting
                          language guy" :)<br>
                          <br>
                          btw, it would be nice to hear what developers
                          and/or other users have to say about it.<br>
                          <br>
                          <br>
                          cheers,<br>
                          <br>
                          Mario<span
                            class="m_-4532268900663437588gmail-im
                            m_-4532268900663437588gmail-HOEnZb"><br>
                            <br>
                            <br>
                            <br>
                            On 12/01/18 22:14, Gonzalo wrote:<br>
                            <blockquote class="gmail_quote">
                              Yes, I'm wondering the same thing. There's
                              a Facebook group (<a
                                href="https://www.facebook.com/groups/1593843507578422/"
                                rel="noreferrer" target="_blank"
                                moz-do-not-send="true">https://www.facebook.com/grou<wbr>ps/1593843507578422/</a>)
                              but it doesn't look super active either.<br>
                              <br>
                              As far as static strings: I'm pretty sure
                              you just can't have static non-primitives.
                              What are you trying to achieve?<br>
                              <br>
                              Cheers,<br>
                              Gonzalo<br>
                              <br>
                              <br>
                              On 13.01.18 00:20, Atte wrote:<br>
                              <blockquote class="gmail_quote">
                                Hi<br>
                                <br>
                                I've been away for a long time and
                                surprised that activity seems to have
                                slowed down a lot, both on the
                                development of new releases chuck and
                                the life of this list. Am I looking at
                                the wrong places? What's the status of
                                chuck development now and in the future?<br>
                                <br>
                                I really like chuck (mostly the timing
                                and sporking including Machine.add()),
                                should I look other places for a
                                language that will privide a more secure
                                future? I'm on linux and looked at
                                Csound, Super Collider and PD, each has
                                it's challenges in how I work (realtime
                                generative and algorithmic MIDI), python
                                seems to have realtime problems (garbage
                                collection at random points). Any idea
                                what former chuck users have switched to
                                now?<br>
                                <br>
                                Back to chuck! A problem that I never
                                been able to solve, static strings:<br>
                                <br>
                                public class A {<br>
                                     "b" @=&gt; static string B;<br>
                                <br>
                                     public static void C(){<br>
                                    &lt;&lt;&lt;B&gt;&gt;&gt;;<br>
                                     }<br>
                                }<br>
                                <br>
                                That throws an error, how would I go
                                about what I'm trying to do?<br>
                                <br>
                                Cheers<br>
                                <br>
                              </blockquote>
                              <br>
                            </blockquote>
                            <br>
                          </span>
                          <div
                            class="m_-4532268900663437588gmail-HOEnZb">
                            <div class="m_-4532268900663437588gmail-h5">
                              ______________________________<wbr>_________________<br>
                              chuck-users mailing list<br>
                              <a
                                href="mailto:chuck-users@lists.cs.princeton.edu"
                                target="_blank" moz-do-not-send="true">chuck-users@lists.cs.princeton<wbr>.edu</a><br>
                              <a
                                href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users"
                                rel="noreferrer" target="_blank"
                                moz-do-not-send="true">https://lists.cs.princeton.edu<wbr>/mailman/listinfo/chuck-users</a><br>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </div>
                </div>
              </div>
              <img moz-do-not-send="true" height="1" width="1"></div>
            <br>
            ______________________________<wbr>_________________<br>
            chuck-users mailing list<br>
            <a href="mailto:chuck-users@lists.cs.princeton.edu"
              moz-do-not-send="true">chuck-users@lists.cs.<wbr>princeton.edu</a><br>
            <a
              href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.cs.princeton.<wbr>edu/mailman/listinfo/chuck-<wbr>users</a><br>
            <br>
          </blockquote>
        </div>
        <br>
        <br>
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature" data-smartmail="gmail_signature">
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div>
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">
                                  <div>
                                    <div>
                                      <div>Spencer Salazar, PhD</div>
                                      <div>Special Faculty</div>
                                      <div>Music Technology:
                                        Interaction, Intelligence, and
                                        Design</div>
                                      <div>California Institute of the
                                        Arts</div>
                                      <div><br>
                                      </div>
                                      <div><a
                                          href="mailto:ssalazar@calarts.edu"
                                          target="_blank"
                                          moz-do-not-send="true">ssalazar@calarts.edu</a> |
                                        +1 831.277.4654</div>
                                      <div><a
                                          href="https://spencersalazar.com/"
                                          target="_blank"
                                          moz-do-not-send="true">https://spencersalazar.com</a> </div>
                                    </div>
                                    <div><br>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
chuck-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:chuck-users@lists.cs.princeton.edu">chuck-users@lists.cs.princeton.edu</a>
<a class="moz-txt-link-freetext" href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>