<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br>On 30 Apr 2015, at 23:49 , Kim Bruce <<a href="mailto:kim@cs.pomona.edu">kim@cs.pomona.edu</a>> wrote:<br><br><blockquote type="cite">Sigh:  <a href="http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext">http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext</a><br><br></blockquote>One of my students posted the following on my class Piazza site:<div><br></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>You might find the language Nim interesting.</div><div>Nim is a language with Python-like syntax, optional type checking, named arguments, operators as methods, memory-safe references, first-class functions, Ruby-style metaprogramming, precompile templates with full parsing and type checking, and assorted other interesting features, along with full object inheritance, casting, etc support.</div><div> </div><div>It does have the interesting touch, though, that methods aren't attached directly to objects - instead, calling x.foo(y) is the same as calling foo(x, y), and method overloading with typed arguments is used if a method needs to be limited to acting on a certain type.</div><div> </div><div>It also compiles to memory-safe C using only stdlib, and can use arbitrary C libraries with simple wrapper scripts. interestingly, it'll also compile to Javascript that can be dropped right into a browser, though with a couple of sacrifices because of the nature of the language (like proper 64-bit math or manual memory management).</div><div> </div><div><a href="http://nim-lang.org/learn.html">http://nim-lang.org/learn.html</a></div></blockquote><div><br></div><div>The goals of Nim are different from ours, but their web site and implementation puts us to shame.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Andrew</div><div><br></div></body></html>