<?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-12467669.post412329243819612051..comments</id><updated>2012-02-15T09:43:08.458-05:00</updated><category term='RailsConf2007'/><category term='books'/><category term='validations'/><category term='hash'/><category term='mocha'/><category term='codeline management'/><category term='contains?'/><category term='gui patterns'/><category term='include'/><category term='array'/><category term='expectations'/><category term='module'/><category term='restarting'/><category term='TDD'/><category term='memfn'/><category term='extension'/><category term='not'/><category term='rails'/><category term='rss'/><category term='unless'/><category term='one assertion per test'/><category term='Testing Refactorings'/><category term='validatable'/><category term='patch'/><category term='poro'/><category term='arbs'/><category term='java'/><category term='anti-pattern'/><category term='singleton class'/><category term='success'/><category term='RailsConf07'/><category term='InfoQ'/><category term='MMS'/><category term='lambda'/><category term='gems'/><category term='method_missing'/><category term='good to great'/><category term='goruco'/><category term='staying current'/><category term='class_eval'/><category term='initial development time'/><category term='code ownership'/><category term='controller'/><category term='interview'/><category term='iPhone'/><category term='state based'/><category term='starting'/><category term='functional testing'/><category term='expressive software'/><category term='unit testing'/><category term='mac os-x'/><category term='parameter'/><category term='static typing'/><category term='principle of least surprise'/><category term='subversion'/><category term='ruby'/><category term='pressure'/><category term='gotham ruby conference'/><category term='blocks'/><category term='podcast'/><category term='ActiveRecord'/><category term='Selenium'/><category term='DRY'/><category term='ActionScript'/><category term='essence'/><category term='eval'/><category term='web sockets'/><category term='sqldsl'/><category term='get-in'/><category term='arrogance'/><category term='Business Natural Language'/><category term='login error'/><category term='language adoption'/><category term='leadership'/><category term='java interop'/><category term='routes'/><category term='apprentice'/><category term='frameworks'/><category term='initialize_with'/><category term='language features'/><category term='split test suite'/><category term='learning'/><category term='if'/><category term='comments'/><category term='Time.now'/><category term='alias'/><category term='state pattern'/><category term='law of demeter'/><category term='true'/><category term='silverlight'/><category term='RailsConf'/><category term='stub'/><category term='software is art'/><category term='class methods'/><category term='migration'/><category term='erb'/><category term='technical debt'/><category term='literals'/><category term='Team Size'/><category term='luminaries'/><category term='instance_method'/><category term='presenter'/><category term='sql'/><category term='operator precedence'/><category term='caller'/><category term='sets'/><category term='master'/><category term='block'/><category term='clojure'/><category term='ampersand'/><category term='erlang'/><category term='Acceptance Tests'/><category term='false'/><category term='define_method'/><category term='functions'/><category term='method'/><category term='convention'/><category term='c#'/><category term='test'/><category term='individuals over people'/><category term='library loading'/><category term='DSL'/><category term='TextMate'/><category term='custom assertions'/><category term='macro'/><category term='and'/><category term='strings'/><category term='composing'/><category term='get'/><category term='facets'/><category term='blogs'/><category term='maintainable code'/><category term='xml'/><category term='SMS'/><category term='test names'/><category term='==='/><category term='retrospective'/><category term='refactoring'/><category term='confidence'/><category term='security'/><category term='sequence'/><category term='destructuring'/><category term='schema'/><category term='object'/><category term='Gmail'/><category term='extend'/><category term='RailsConf Europe 2007'/><category term='state'/><category term='flex'/><category term='oracle'/><category term='yaml'/><category term='xUnit'/><category term='pair programming'/><category term='feature toggle'/><category term='dynamic typing'/><category term='journeyman'/><category term='internal DSL'/><category term='to_proc'/><category term='static methods'/><category term='metaclass'/><category term='ria'/><category term='stories'/><category term='testing'/><category term='serialize'/><category term='feature branch'/><category term='examples'/><category term='ide'/><category term='Symbol.to_proc'/><category term='clojure functions'/><category term='simplicity'/><category term='setup'/><category term='javascript'/><category term='forwardable'/><category term='initializer'/><category term='def'/><category term='debugging'/><category term='mock'/><category term='behavior based'/><category term='ThoughtWorks'/><category term='conference'/><category term='or'/><category term='stack trace'/><category term='mail.app'/><category term='as'/><category term='java classes'/><category term='developers'/><category term='agile'/><category term='*'/><category term='screencasts'/><category term='joda'/><category term='class'/><category term='LocalJumpError'/><category term='testing immaturity'/><category term='windows'/><category term='activesupport'/><category term='open'/><category term='mockito'/><category term='testing private methods'/><category term='rake'/><category term='presentations'/><category term='linux'/><category term='upcoming presentations'/><category term='lean'/><category term='dependency injection'/><category term='niche language'/><category term='process'/><category term='railsconfeurope07'/><category term='metaprogramming'/><category term='context'/><category term='blog'/><category term='netnewswire'/><category term='time'/><category term='enumerable'/><category term='symbols'/><category term='disk inventory x'/><category term='inject'/><category term='languages'/><category term='instance_eval'/><category term='dust'/><category term='ddl'/><category term='maps'/><category term='estimation'/><category term='singleton methods'/><title type='text'>Comments on Jay Fields' Thoughts: Lessons Learned while Introducing a New Programmin...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.jayfields.com/feeds/412329243819612051/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html'/><author><name>jaycfields</name><uri>http://www.blogger.com/profile/14491442812573747680</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>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12467669.post-1263023889057547781</id><published>2012-02-11T10:29:58.815-05:00</published><updated>2012-02-11T10:29:58.815-05:00</updated><title type='text'>Hi Jay,

Great stuff, thanks for sharing this. As ...</title><content type='html'>Hi Jay,&lt;br /&gt;&lt;br /&gt;Great stuff, thanks for sharing this. As a Clojure fan, I&amp;#39;d be really interested in knowing if there were Clojure-specific issues which caused problems during adoption.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/1263023889057547781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/1263023889057547781'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1328974198815#c1263023889057547781' title=''/><author><name>Sam Newman</name><uri>http://www.blogger.com/profile/06725203305766534558</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.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-181036457'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-8722437868173787067</id><published>2012-01-27T04:21:44.939-05:00</published><updated>2012-01-27T04:21:44.939-05:00</updated><title type='text'>What about Groovy?

I&amp;#39;m a long time Scheme pro...</title><content type='html'>What about Groovy?&lt;br /&gt;&lt;br /&gt;I&amp;#39;m a long time Scheme programmer and I have to admit that I found Groovy a complete pleasure to program in; and my co-workers w/ much more Java experience than I, found it easy to learn.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/8722437868173787067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/8722437868173787067'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327656104939#c8722437868173787067' title=''/><author><name>NSFW</name><uri>http://www.blogger.com/profile/01548025253626562494</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.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-361658649'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-2036904572806705446</id><published>2012-01-27T01:32:49.593-05:00</published><updated>2012-01-27T01:32:49.593-05:00</updated><title type='text'>Damn well try Scala!  In its vehicle mode, it&amp;#39;...</title><content type='html'>Damn well try Scala!  In its vehicle mode, it&amp;#39;s a much nicer, cleaner, more modular object-oriented language than Java.  In its robot mode, it&amp;#39;s like Haskell for the JVM!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/2036904572806705446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/2036904572806705446'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327645969593#c2036904572806705446' title=''/><author><name>Eli Z. Gottlieb</name><uri>http://www.blogger.com/profile/03270702305052599002</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.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1243088170'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-4528268500453618490</id><published>2012-01-27T00:20:29.674-05:00</published><updated>2012-01-27T00:20:29.674-05:00</updated><title type='text'>In our company i introduced and successfully integ...</title><content type='html'>In our company i introduced and successfully integrated first clojure and then 2 years later haskell.&lt;br /&gt;&lt;br /&gt;Nowadays haskell is our primary language with clojure to fallback in case of missing libraries (for example pdf manipulation)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/4528268500453618490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/4528268500453618490'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327641629674#c4528268500453618490' title=''/><author><name>Vagif Verdi</name><uri>http://www.blogger.com/profile/16990997255414980224</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.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-837371982'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-8499149592469632183</id><published>2012-01-26T15:11:43.471-05:00</published><updated>2012-01-26T15:11:43.471-05:00</updated><title type='text'>Like the post. Have not been in a similar situatio...</title><content type='html'>Like the post. Have not been in a similar situation myself. &lt;br /&gt;&lt;br /&gt;I have looked into Scala myself and if someone wants to try to do something similar, I personally would try to introduce Scala, especially since the syntax is more familiar and you get both functional and iterative programming. Besides, Scala is one of those languages like Erlang and Haskell that is supposed to be able to take better advantage of the power of having multi-core processors, another selling point in my opinion. I don&amp;#39;t know the current benchmarks though.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/8499149592469632183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/8499149592469632183'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327608703471#c8499149592469632183' title=''/><author><name>Anthony of Salo</name><uri>http://www.blogger.com/profile/08680358593605604981</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.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1596275167'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-3211195624644016140</id><published>2012-01-26T12:50:03.672-05:00</published><updated>2012-01-26T12:50:03.672-05:00</updated><title type='text'>Excellent post.</title><content type='html'>Excellent post.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/3211195624644016140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/3211195624644016140'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327600203672#c3211195624644016140' title=''/><author><name>Nikhil</name><uri>http://www.blogger.com/profile/18241880706520815785</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://3.bp.blogspot.com/_u6_l6vj67bw/SrFitGTHAQI/AAAAAAAAAEs/e_W0YGYwF7k/S220/Finally+Thinking+1.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-3105921'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-4806031951723797226</id><published>2012-01-26T11:45:28.080-05:00</published><updated>2012-01-26T11:45:28.080-05:00</updated><title type='text'>In the last company I have worked in as an employe...</title><content type='html'>In the last company I have worked in as an employee, I have tried to introduce Ruby - but I have been faced with very staunch resistance.&lt;br /&gt;&lt;br /&gt;It&amp;#39;s not easy at all to introduce a new programming language - there is the overhead of teaching that language to current resources - who may or may not want to learn it, and, more importantly, you will have legacy code that you will still need to support.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/4806031951723797226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/4806031951723797226'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327596328080#c4806031951723797226' title=''/><author><name>PM Hut</name><uri>http://www.pmhut.com</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://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1995618120'/></entry><entry><id>tag:blogger.com,1999:blog-12467669.post-6213330860086930683</id><published>2012-01-25T02:13:41.251-05:00</published><updated>2012-01-25T02:13:41.251-05:00</updated><title type='text'>Thanks for sharing your experience. If you have an...</title><content type='html'>Thanks for sharing your experience. If you have any meaningful examples that you&amp;#39;re allowed to share I&amp;#39;d love to see some of those Java/Clojure snippets.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/6213330860086930683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12467669/412329243819612051/comments/default/6213330860086930683'/><link rel='alternate' type='text/html' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html?showComment=1327475621251#c6213330860086930683' title=''/><author><name>Martijn van Brandevoort</name><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://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.jayfields.com/2012/01/lessons-learned-while-introducing-new.html' ref='tag:blogger.com,1999:blog-12467669.post-412329243819612051' source='http://www.blogger.com/feeds/12467669/posts/default/412329243819612051' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-771484404'/></entry></feed>
