<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-7520738.post2170446988022857419..comments</id><updated>2009-04-03T23:49:14.822+05:30</updated><category term='logging'/><category term='bitwise'/><category term='class_diagrams'/><category term='video stanford compsci'/><category term='design_patterns'/><category term='kay'/><category term='singleton'/><category term='junit'/><category term='ranges'/><category term='mock_objects'/><category term='competition'/><category term='design_principles'/><category term='exceptions'/><category term='java applets 64-bit linux'/><category term='grails'/><category term='inheritance'/><category term='translating'/><category term='git'/><category term='grep'/><category term='android api'/><category term='video'/><category term='performance'/><category term='unicode'/><category term='polyglot_programming'/><category term='eclipse'/><category term='interactions'/><category term='strings'/><category term='newline'/><category term='closures'/><category term='training'/><category term='DockingFrames'/><category term='interpolation'/><category term='android_architecture video'/><category term='earning'/><category term='control_structures'/><category term='djano serialization python json'/><category term='linux eeepc'/><category term='xml'/><category term='helloworld'/><category term='CSS'/><category term='refactoring'/><category term='reference_types'/><category term='git partial_add'/><category term='teaching internet blogs podcasts new_media'/><category term='CVS'/><category term='faq'/><category term='learning_jsf'/><category term='gant'/><category term='misc'/><category term='stallman'/><category term='online'/><category term='vnc gnome'/><category term='timeboxing'/><category term='dojo'/><category term='hsqldb'/><category term='android application_lifecycle'/><category term='custom_component'/><category term='groovy'/><category term='software'/><category term='coding'/><category term='templating'/><category term='design'/><category term='final'/><category term='podcasting'/><category term='methods'/><category term='requirements'/><category term='blogging'/><category term='erasure'/><category term='object_oriented'/><category term='simplicity'/><category term='blogcamppune'/><category term='education'/><category term='podcast'/><category term='public'/><category term='test_driven development'/><category term='slashy_string'/><category term='DRY'/><category term='lists'/><category term='gc'/><category term='map'/><category term='types'/><category term='microisv'/><category term='android webview'/><category term='iAccelerator'/><category term='classloader'/><category term='unconference'/><category term='feedback'/><category term='agile'/><category term='screencasts'/><category term='python'/><category term='browser'/><category term='android apps_are_equal'/><category term='DWR'/><category term='jsf_intro'/><category term='polymorphism'/><category term='learning'/><category term='encapsulation'/><category term='alan'/><category term='comments'/><category term='javacvs'/><category term='teaching'/><category term='sharing'/><category term='coupling'/><category term='math'/><category term='python design_patterns'/><category term='static'/><category term='programming'/><category term='itvidya'/><category term='android parrallel'/><category term='metaprogramming'/><category term='goals'/><category term='website'/><category term='Java'/><category term='book'/><category term='quiz'/><category term='Boolean'/><category term='thread'/><category term='high_cohesion'/><category term='JDBC'/><category term='jquery'/><category term='beans'/><category term='certification'/><category term='inner_classes'/><category term='generics'/><category term='abstraction'/><category term='composition'/><category term='groovy grails unittest'/><category term='android apps_without_borders'/><category term='software_design'/><category term='double_checked_locking'/><category term='iptables'/><category term='numbers'/><category term='conventions'/><title type='text'>Comments on CODING INSIGHTS: Groovy types</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.adaptivesoftware.biz/feeds/2170446988022857419/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default'/><link rel='alternate' type='text/html' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7520738.post-2286029834799454554</id><published>2009-04-03T23:49:00.000+05:30</published><updated>2009-04-03T23:49:00.000+05:30</updated><title type='text'>@Parag: Re "But in a statically typed language we ...</title><content type='html'>@Parag: Re "But in a statically typed language we cannot inject methods into an object at runtime and write code that simply expects them to be there when run."&lt;BR/&gt;&lt;BR/&gt;Agreed: "monkey patching", an approach to support meta-programming in Groovy, has been shown to scale poorly and is not used in static languages.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/2286029834799454554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/2286029834799454554'/><link rel='alternate' type='text/html' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html?showComment=1238782740000#c2286029834799454554' title=''/><author><name>Neal Gafter</name><uri>http://www.blogger.com/profile/08579466817032124881</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://www.gafter.com/~neal/gafter-google.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html' ref='tag:blogger.com,1999:blog-7520738.post-2170446988022857419' source='http://www.blogger.com/feeds/7520738/posts/default/2170446988022857419' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-163293886'/></entry><entry><id>tag:blogger.com,1999:blog-7520738.post-4110530858022215669</id><published>2009-04-01T23:20:00.000+05:30</published><updated>2009-04-01T23:20:00.000+05:30</updated><title type='text'>Hi Neal,&lt;br&gt;&lt;br&gt;But in a statically typed language...</title><content type='html'>Hi Neal,&lt;BR/&gt;&lt;BR/&gt;But in a statically typed language we cannot inject methods into an object at runtime and write code that simply expects them to be there when run.&lt;BR/&gt;&lt;BR/&gt;I see what you mean about closures not needing dynamic typing.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/4110530858022215669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/4110530858022215669'/><link rel='alternate' type='text/html' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html?showComment=1238608200000#c4110530858022215669' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html' ref='tag:blogger.com,1999:blog-7520738.post-2170446988022857419' source='http://www.blogger.com/feeds/7520738/posts/default/2170446988022857419' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-214319666'/></entry><entry><id>tag:blogger.com,1999:blog-7520738.post-1931999582324998299</id><published>2009-04-01T20:55:00.000+05:30</published><updated>2009-04-01T20:55:00.000+05:30</updated><title type='text'>You say "So, why does Groovy support optional typi...</title><content type='html'>You say "So, why does Groovy support optional typing? Groovy tries to be feature rich language with support for closures and meta-programming. Both these need Groovy to be dynamically typed."  However, many statically typed languages have these features as well.  There is no link between these features and dynamic typing.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/1931999582324998299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7520738/2170446988022857419/comments/default/1931999582324998299'/><link rel='alternate' type='text/html' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html?showComment=1238599500000#c1931999582324998299' title=''/><author><name>Neal Gafter</name><uri>http://www.blogger.com/profile/08579466817032124881</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://www.gafter.com/~neal/gafter-google.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.adaptivesoftware.biz/2009/03/groovy-types.html' ref='tag:blogger.com,1999:blog-7520738.post-2170446988022857419' source='http://www.blogger.com/feeds/7520738/posts/default/2170446988022857419' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-163293886'/></entry></feed>
