tag:blogger.com,1999:blog-22587889.post6366099910940530394..comments2024-02-11T13:21:47.930+05:30Comments on Ruminations of a Programmer: Syntax Extensibility, Ruby Metaprogramming and Lisp MacrosAnonymoushttp://www.blogger.com/profile/01613713587074301135noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-22587889.post-26208107120140987802008-01-27T07:34:00.000+05:302008-01-27T07:34:00.000+05:30checkout http://xlr.sourceforge.net/what do u thin...checkout http://xlr.sourceforge.net/<BR/><BR/>what do u think?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-22587889.post-61389365115732884332007-03-21T17:14:00.000+05:302007-03-21T17:14:00.000+05:30Hi Debasish,Came across your blog while browsing a...Hi Debasish,<BR/><BR/>Came across your blog while browsing around…cool stuff u have going on here. Also I thought I’d tell u about something I came across, thought u might find it useful, bcoz ur in Technology…it’s this site called Myndnet…u should check it out..the link is here http://www.myndnet.com/login.jsp?referral=alpa83&channel=SY<BR/><BR/>It’s this cool place where u get paid for responding to queries…very cool stuff!! http://www.myndnet.com/login.jsp?referral=alpa83&channel=SY<BR/><BR/>Sign up n lemme know what u think…my mail id is barot.alpa@gmail.com <BR/><BR/>Cheers<BR/>AlpaAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-22587889.post-20374247868505024372007-02-14T02:41:00.000+05:302007-02-14T02:41:00.000+05:30Thanks for the interesting post.I would note that ...Thanks for the interesting post.<BR/><BR/>I would note that when you switch from the Lisp "dolist" macro over to the Java Predicate example, you say "[Java counterpart of] an object oriented abstraction of the same functionality". Then you move onto metaprogramming.<BR/><BR/>The Java solution isn't inherently OO and you don't have to switch to code generation.<BR/><BR/>Another pure OO solution would be to make the object responsible for understanding a dolist message. This is done at design time in the IDE or running image. True, Java cannot support this level of flexibility, but it isn't terribly OO, just C++ done right :) <BR/><BR/>Ruby does have better support for late-binding and dynamic class definition. It can also provide a new OO iteration construct without switching to meta-programming.Austinhttps://www.blogger.com/profile/17907770218961186024noreply@blogger.comtag:blogger.com,1999:blog-22587889.post-4945224229784403552007-01-21T18:22:00.000+05:302007-01-21T18:22:00.000+05:30I am also a big admirer of Scala. I have blogged e...I am also a big admirer of Scala. I have blogged extensively on some of the various features of Scala which I liked. See <a href="http://debasishg.blogspot.com/2006/03/scala-everything-is-object.html">here</a>, <a href="http://debasishg.blogspot.com/2006/04/scala-compose-classes-with-mixins.html">here</a>, <a href="http://debasishg.blogspot.com/2006/04/generics-in-scala-part-1_12.html">here</a> and <a href="http://debasishg.blogspot.com/2006/04/scala-hosts-friendly-visit_114588689788249985.html">here</a>.Anonymoushttps://www.blogger.com/profile/01613713587074301135noreply@blogger.comtag:blogger.com,1999:blog-22587889.post-41296655043534158062007-01-21T14:20:00.000+05:302007-01-21T14:20:00.000+05:30For me, Scala is the best compromise between expre...For me, Scala is the best compromise between expressiveness, performance, and real-world pragmatic potential. If performance doesn't matter, then Python/Ruby.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-22587889.post-66154692134943998852007-01-20T23:33:00.000+05:302007-01-20T23:33:00.000+05:30I don't think we should expect too much on syntax ...I don't think we should expect too much on syntax front from Java 7. They are trying to sneak in closures, but I doubt if they will make it usable enough in a pleasing way, since implementing it effectively will imply loss of backwards compatibility, which is the last thing the Java guys want. Even talking about Java 5 features, the smart loop isn't that smart, as Steve Yeggey has pointed out in one of its blogs. I think it is true that Java needs an overhaul to get rid of the legacy syntax. I had <a href="http://debasishg.blogspot.com/2006/10/why-oop-alone-in-java-is-not-enough.html">blogged</a> about it some time ago.<br /><br />All said and done, I still do Java for a living, since it has no substitute in the enterprise scalability. And I agree that JRuby moving into the mainstream can be the best that can happen for the JVM. Using Ruby elegance with Java collections and tonnes of libraries .. I think this is the combination to look for ..Anonymoushttps://www.blogger.com/profile/01613713587074301135noreply@blogger.comtag:blogger.com,1999:blog-22587889.post-1356953368367587972007-01-18T21:52:00.000+05:302007-01-18T21:52:00.000+05:30Pretty nice article; thanks.
Syntax abstractions ...Pretty nice article; thanks.<br /><br />Syntax abstractions are far and away more powerful than any OOP abstractions because the help create an environment that looks like the problem you're trying to solve.<br /><br />No matter what you do with Java you are still forced the write abominations like the Predicate example, which will always detract from code clarity.<br /><br />Hopefully the syntax for Java 7 will not make the cure worse than the disease, but we shall see.<br /><br />I hope that JRuby moves into the mainstream and we can get (nearly) the best of both worlds (I still *really* like macros :)Anonymousnoreply@blogger.com