<html><head></head><body><div style="color:#000; background-color:#fff; font-family:verdana, helvetica, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1456747936415_4496"><span id="yui_3_16_0_1_1456747936415_4563">Excellent, Gordon. I started to research Forth and it seems like a great language to add into my bag of tools. Ultimately, I am looking for the most effective, versatile language(s) for embedded systems. I gather between C, Assembly, Python and Forth, I should have a respectable capacity of knowledge to work with.</span></div><div></div><div id="yui_3_16_0_1_1456747936415_4548"> </div><div class="signature" id="yui_3_16_0_1_1456747936415_4514"><div id="yui_3_16_0_1_1456747936415_4547"><font size="2" id="yui_3_16_0_1_1456747936415_4549">Sincerely, <br> </font></div><div id="yui_3_16_0_1_1456747936415_4513"><font size="2" id="yui_3_16_0_1_1456747936415_4512">Chris Juried <br>Audio Engineering Society (AES) <var id="yui-ie-cursor"></var>Member <br>InfoComm-Recognized AV Technologist</font><span class="postbody" id="yui_3_16_0_1_1456747936415_4538"><br><a rel="nofollow" target="_blank" href="http://www.juriedengineering.com/" id="yui_3_16_0_1_1456747936415_4713">http://www.JuriedEngineering.com</a> (Juried Engineering, LLC.)</span></div><div id="yui_3_16_0_1_1456747936415_4535"><font size="3" id="yui_3_16_0_1_1456747936415_4542"><font size="2" id="yui_3_16_0_1_1456747936415_4541"><br><br>This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any distribution or copying of this email, and any attachments thereto, is strictly prohibited. If you have received this email in error, please immediately notify me at (754) 300-9972 and permanently delete the original and any copy of any e-mail and any printout thereof.</font></font><br></div></div><div class="qtdSeparateBR" id="yui_3_16_0_1_1456747936415_4661"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_1_1456747936415_4665" style="display: block;"> <div style="font-family: verdana, helvetica, sans-serif; font-size: 13px;" id="yui_3_16_0_1_1456747936415_4664"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1456747936415_4663"> <div dir="ltr" id="yui_3_16_0_1_1456747936415_4662"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Gordonjcp <gordonjcp@gjcp.net><br> <b><span style="font-weight: bold;">To:</span></b> synth-diy@dropmix.xs4all.nl <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, February 29, 2016 3:50 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [sdiy] Programming Language of choice<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_1_1456747936415_4666"><br>On Sun, Feb 28, 2016 at 09:13:18PM +0000, Chris Juried wrote:<br clear="none">> Hi Tom,<br clear="none">> That was my speculation as well. I have heard of others integrating Python scripts into their C code. Does that make sense? Sincerely, <br clear="none">> Chris Juried <br clear="none"><br clear="none">Not quite but you can write C code and give it Python bindings. That lets you d speed-critical stuff in C but then use it just like any other Python functions - I did this for my software-defined radio project, although I never got the Python bindings into a state where I was happy to show it to the general public.<br clear="none"><br clear="none">There's also Lua, which was pretty much designed to be used as an embedded scrpting language within a larger program. That finds a lot of use in video games where the game engine is written in a language like C or C++ and the actual functionality is scripted in Lua. You can even get a compiler to turn Lua into "progs.dat" for Quake, replacing the QuakeC gameplay library with one re-written by clever people in Lua.<br clear="none"><br clear="none">For fast stuff like audio processing, C or assembler is pretty much the only way. C++ is not a good fit for microcontrollers, even large ones - it's fine in PCs where you have infinite RAM and disk storage. The largest microcontrollers have maybe a few hundred kilobytes of RAM, but modern PCs have as much as a few hundred *megabytes* of RAM, or even more ;-)<br clear="none"><br clear="none">If, on the other hand, you want to learn something new for the fun of it, you should look at how Forth works, possibly by looking at JonesForth which runs on a PC. There you've got a complete high-level language that is completely self-hosting once you've written about a dozen "words" comprising a couple of kilobytes of assembler - small enough to write and assemble by hand. A lot of old Sun kit used Forth as part of the OpenBoot bootloader because it was so ridiculously easy to get it working on SPARC processors. Anything that lets you implement two stacks and has a fairly quick indexed addressing mode ought to do it. The 6809 CPU is another chip that's remarkably suitable for Forth, as is the PDP11 and 68000.<br clear="none"><br clear="none">-- <br clear="none">Gordonjcp MM0YEQ<div class="yqt2562713136" id="yqtfd71862"><br clear="none">_______________________________________________<br clear="none">Synth-diy mailing list<br clear="none"><a shape="rect" ymailto="mailto:Synth-diy@dropmix.xs4all.nl" href="mailto:Synth-diy@dropmix.xs4all.nl">Synth-diy@dropmix.xs4all.nl</a><br clear="none"><a shape="rect" href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" target="_blank">http://dropmix.xs4all.nl/mailman/listinfo/synth-diy</a></div><br><br></div> </div> </div> </div></div></body></html>