Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Fuschia, President-Elect of the Bright Purplish-Green Council" Newsgroups: comp.lang.java.programmer Subject: Re: Passing a Method Name to a Method Date: Sat, 25 Jun 2011 15:26:33 -0400 Organization: IBM Lines: 36 Message-ID: References: <81h4075t4gfjglji1n033rb20025ebho68@4ax.com> NNTP-Posting-Host: FNZ40yYEToY57uk5HVL5lw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Xnews/2006.08.24 X-Notice: Filtered by postfilter v. 0.8.2 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:5668 On 24/06/2011 2:20 AM, Joshua Cranmer wrote: > On 06/24/2011 01:48 AM, Fuschia, President-Elect of the Bright > Purplish-Green Council wrote: >> On 23/06/2011 10:15 PM, Joshua Cranmer wrote: >>> For what it's worth, I've spent the past few weeks starting to get >>> really tricky with python. I think I hit the apex when I realized I was >>> wanting a macro system... >> >> Sounds like what you really want is a Lisp. Might I suggest Clojure? > > Since it's not Java related, I don't want to dwell on it, but this > project has constraints which prohibit most languages. Python is pretty > much the only tenable language (legacy code being in python makes a big > difference, too ;-) ). I find it hard to imagine project constraints that would allow Python, but forbid Clojure. Python after all is slow, interpreted, non-concurrent (what with the global interpreter lock), ... so pretty much any technical consideration favors Clojure. Neither language is on Apple's iOS approved list. Memory footprint? That would exclude JVM (and .NET) languages at a stroke and might let Python squeak through. Shellability? It's possible to make JVM languages shell-callable, but a bit tricky since if you don't want to incur a JVM startup time per call and a JVM memory overhead per simultaneously executing call you'll need a nailgun server running or something similar. My guess would be a combination of not liking JVM memory consumption/startup times and interoperating with the legacy Python code. (Though there is nailgun. And Jython.) You might still want to consider a Lisp, but perhaps a more commandline-friendly Lisp with a more compact footprint. Problem is I bet it's quite a bit harder to get those to talk to Python than to get Clojure to talk to Jython. You may be stuck with Python for this one project with the legacy code. :)