Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Google App Inventor uses Scheme under the hood (googleresearch.blogspot.com)
76 points by mark_h on Aug 11, 2009 | hide | past | favorite | 20 comments


Is that this Hal Abelson?

http://groups.csail.mit.edu/mac/users/hal/hal.html

I guess that would explain where they got the idea to use Scheme.


"Here's how I've been spending my time recently. * On sabbatical at Google for calendar year 2009"

Yup.


It's a testament to how rarely Scheme (lisp, etc) are used when a story like this makes it to the #1 on HN.


I had a nutty professor in college. He hooked me on scripting languages -- his favorite was gawk. He would write absolutely everything in gawk. Need a data structure? Use an associative array, it is the Gawk Way. Need code reuse? Cheaper to delete and start over. He was brilliant, I learned a lot from him, and I would not let him near my code if my life depended on it.

Lisp has always struck me as a "nutty professor" sort of language. I hear it is wonderful and pure and that if you truly grok it you see the Hand of God Himself in its awesome majesty staring out from within your code. But while Lisp seems to be long on awe, it seems to be short on software I'd actually want to use.

No one has ever claimed to have had a religious experience from reading PHP code (and if they did, I would suggest dousing them with holy water from a safe distance). But PHP has Wordpress. "Lisp can do a blogging platform too! Better! Stronger! Faster! We can do it, we have the technology!" Yes, Lisp can... but Lisp doesn't. (And if it did, I have a disturbing premonition that the steps to build a piece of blogging software would start with "#1: You need a webserver. None of the existing ones are exactly right, but that is no problem, since making a web server is easy in Lisp. First we define a few simple macros...")

Now, if I were a Lisp developer POed at ignorant savages on the Internet suggesting my language was perhaps a bit ivory-towery, I'd probably spend my time writing software which was so good they'd be unable to ignore me.


Welcome to arc. I'm just now starting to drink the kool-aid myself.


I think I had the same nutty professor at Wash U.



It sure was.


Interesting analogy, but no.


Every sufficiently complex program implements a Lisp engine in disguise.


"The Microsoft NT 4.0 kernel network driver contained a small Prolog interpreter to help puzzle out network interface cards"

Using Prolog in Windows NT Network Configuration

http://web.archive.org/web/20040603192757/research.microsoft...


"Prolog is similar to Lisp on the main points." --Norvig, 1992


So the saying claims. Is the point that something would be better if it wasn't disguised, or is it just a smug boast?


The point is that you can save time by just using Lisp rather than reimplementing it. Which is what Google has done here.

BTW the original is http://en.wikipedia.org/wiki/Greenspun%27s_Tenth_Rule


Or as Guile http://www.gnu.org/software/guile/guile.html suggests, if you're going to add a scripting/extension language to a program, they have a way of growing in size and complexity; just use guile.


That's still a borderline SmugLispWeenie point ( http://www.c2.com/cgi/wiki?SmugLispWeenie ).

If the point is "that program would have been easier for someone who knows lisp to write in lisp" then the reply is "but I was the person who bothered to write it and preferred to spend time getting a usable program than learning lisp", and it says more about the not-real-world-friendly nature of Lisp than about a deep similarity seen amongst large programs.

If the point is "lisp is a language in which you could write it more quickly" that's either unhelpful sideline commentary or smug taunting, depending on the intent.

If the point is "you could learn lisp and rework your understanding of your program into a lispy style and rewrite it in less time than just writing it in a language you know" - if that's true then there should be a lot more lisp programs around than there appear to be, which kind of suggests it's not true or that there's a sticking point which the saying doesn't account for that is preventing it being tested.


Couldn't it be disguised while being an actual embedded scheme interpreter, and not be boastful?


They didn't use Scheme because it was complex, they used it because it was simple.


Maybe... that wasn't in the list of reasons given. What if they had Miguel de Icaza and an existing C#/Mono -> android platform available?


If you don't see:

>Posted by Bill Magnuson, Hal Abelson, and Mark Friedman and >Scheme expertise was readily available among our team

And smile and chuckle a bit, you need to stop what you are doing immediately, and go read/watch/learn the SICP stuff from MIT - if for no other reason then to learn some of history.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: