﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Nick de Lioncourt commented on Stealing from your client</title><description>I disagree; completely. Simply that another has implemented some "plumbing code" is insufficient to declare that if I; as the developer, do not use it, it is theft. 
  
  
Should I assume that; just because it is an entity framework from Microsoft or one of the other self-proclaimed "great" frameworks, the code is the ultimate answer which liberates all developers from... developing, writing code?
  
  
If I believe I can implement a better solution over Microsoft; or a better control than some vendor, I will. This is progression; this is innovation. This is the method by which all products and services continually improve; by someone who believes he can do a better job.
  
  
Condemning as "theft" is not well-thought logic.
  
  
</description><link>http://ayende.com/3712/stealing-from-your-client#comment13</link><guid>http://ayende.com/3712/stealing-from-your-client#comment13</guid><pubDate>Tue, 25 Nov 2008 18:08:49 GMT</pubDate></item><item><title>Jarod commented on Stealing from your client</title><description>session.Merge
  
  
Does session query for the changes or are the changes stored as payload on the data from the other tier?
  
</description><link>http://ayende.com/3712/stealing-from-your-client#comment12</link><guid>http://ayende.com/3712/stealing-from-your-client#comment12</guid><pubDate>Sun, 23 Nov 2008 08:43:38 GMT</pubDate></item><item><title>firefly commented on Stealing from your client</title><description>"There is a whole host of bad practices and really bad design decisions that are implicit in the problem statement, but we will leave that alone for now."
  
  
Oren, are you going to elaborate on that in a future post?
</description><link>http://ayende.com/3712/stealing-from-your-client#comment11</link><guid>http://ayende.com/3712/stealing-from-your-client#comment11</guid><pubDate>Sat, 22 Nov 2008 07:12:42 GMT</pubDate></item><item><title>alberto commented on Stealing from your client</title><description>Well, yeah, I already read that in you post, I was asking for a bit more info/some app example. :D
  
  
Anyway, I have already found some info in the docs, thanks.
  
</description><link>http://ayende.com/3712/stealing-from-your-client#comment10</link><guid>http://ayende.com/3712/stealing-from-your-client#comment10</guid><pubDate>Fri, 21 Nov 2008 18:24:55 GMT</pubDate></item><item><title>Mark Nijhof commented on Stealing from your client</title><description>Besides the extra time / costs developing your own wheels costs, why would you want to do that anyway, usually what the existing wheels (frameworks) are for is tedious repetitive code, not that interesting.
  
  
Unless you set out to create your own wheels because you can do it better or what ever, then it is Ok, but then creating the wheel is you objective not using it.
  
  
Sorry for sticking with the wheel analogy.
  
  
-Mark
</description><link>http://ayende.com/3712/stealing-from-your-client#comment9</link><guid>http://ayende.com/3712/stealing-from-your-client#comment9</guid><pubDate>Fri, 21 Nov 2008 16:37:46 GMT</pubDate></item><item><title>RafalG commented on Stealing from your client</title><description>To Thomas - you probably have noticed how much Microsoft lags behind the rest of the world in the developer tools area? MVC for web apps was known and used 8 years ago. OR-mappers - the same 8 years or even more. So how can you expect they will come out with something better than current state of the art? I think it will take them at least 3-4 years to have a decent ORM or web application framework - but then, the world will have moved to something better. 
  
And yes, I couldn't agree more when you say that some smart guys hanging around here could put together a great application framework based on Boo
  
</description><link>http://ayende.com/3712/stealing-from-your-client#comment8</link><guid>http://ayende.com/3712/stealing-from-your-client#comment8</guid><pubDate>Fri, 21 Nov 2008 16:33:32 GMT</pubDate></item><item><title>Ayende Rahien commented on Stealing from your client</title><description>alberto,
  
session.Merge
</description><link>http://ayende.com/3712/stealing-from-your-client#comment7</link><guid>http://ayende.com/3712/stealing-from-your-client#comment7</guid><pubDate>Fri, 21 Nov 2008 16:12:49 GMT</pubDate></item><item><title>alberto commented on Stealing from your client</title><description>I have been trying EF and had this very same problem.
  
So, how does nhibernate do it? Does it manage concurrency?
</description><link>http://ayende.com/3712/stealing-from-your-client#comment6</link><guid>http://ayende.com/3712/stealing-from-your-client#comment6</guid><pubDate>Fri, 21 Nov 2008 16:07:34 GMT</pubDate></item><item><title>Thomas Hansen commented on Stealing from your client</title><description>Hahahahaha......!! :P
  
Very controversial, very true, and while you're at it - make sure you've locked your door ;)
  
I started talking loudly about how MSFT was using ASP.NET AJAX as the "launching campaign" for Silverlight more than 1 year ago. Nobody believed me back then - and kept on saying; "It's Microsoft, they can support this and create beautiful code, blah, blah, blah"...
  
Today this is like "common knowledge".
  
I guess MSFT doesn't have incentives in getting people to easily switch DB neither - which a *good* O/RM tool would let you do...
  
  
But I am soon hitting that sweet spot of "being too good to be ignored", so I guess things will change when it comes to Ajax in ASP.NET... ;)
  
But Castle just lost their leader and big "Uhuru Guru" (to MSFT), I wonder if they ever will reach that sweet spot... :(
  
Someone should fork it..!!
  
Someone great, like you, maybe add up Tobin Harris on the team and try to get funding for it somehow...
  
Then use Rodriogo's Boo, start with some O/RM macros, kick ass, run in circles around EF. Then move on to creating some DSL for O/RM bindings...
  
Then the only thing left is for someone to create a beautiful GC in Mono and we're at "Compaq 2.0" (hint; Compaq was the first mainstream x86 clone which effectively conceptually drove IBM almost to bankruptcy...)
  
  
Then again I might be wrong, maybe Castle are still making beautiful code, pushing the limits and moving forward as never before...
</description><link>http://ayende.com/3712/stealing-from-your-client#comment5</link><guid>http://ayende.com/3712/stealing-from-your-client#comment5</guid><pubDate>Fri, 21 Nov 2008 16:03:19 GMT</pubDate></item><item><title>RyanE commented on Stealing from your client</title><description>While I agree that the cost of this sort of infrastructure code shouldn't be passed on to the customer, I don't think that comparing EF with higher level ORMs is fair.  It seems EF is attempting to act as a lower level encapsulation layer which is to be wrapped by a custom DAL.
  
  
I personally prefer lower-level control for performance-critical applications than dealing with the design decisions of an ORM developer.
  
  
I've spent countless hours debugging issues with various ORMs that tried to protect me from the details of the data model.  This cost was indirectly passed to the client as, say, higher license fees (in product development).
  
  
@Stephen, thanks for introducing refactorbation into my lexicon :)
</description><link>http://ayende.com/3712/stealing-from-your-client#comment4</link><guid>http://ayende.com/3712/stealing-from-your-client#comment4</guid><pubDate>Fri, 21 Nov 2008 14:46:59 GMT</pubDate></item><item><title>RafalG commented on Stealing from your client</title><description>I don't think we can talk about any theft here - just some developers have greater knowledge allowing them to do things more quickly using proper tools (and they often charge more), others don't know so much and have to code more or learn during development - but they usually will charge less. You usually agree to some sum of money (or a hourly rate) before the project starts, so if  you deliver on time and in budget, is there any moral problem in that? You're not expected to retury part of your pay if you finish before the deadline, are you?
  
  
  
  
  
</description><link>http://ayende.com/3712/stealing-from-your-client#comment3</link><guid>http://ayende.com/3712/stealing-from-your-client#comment3</guid><pubDate>Fri, 21 Nov 2008 14:41:53 GMT</pubDate></item><item><title>Stephen commented on Stealing from your client</title><description>Would it not be easier to say:
  
  
recreating the wheel is stealing from your client
  
  
:P, I think its a little sensational, I think this is just general 'ignorance' costs time.. time = money .. girls = evil? etc
  
  
The same is equally true for refactorbation etc, which is really like recreating the wheel you already made.
  
  
(where refactorbation = excessive refactoring)
  
  
I guess the key take away is that, if you really enjoy development work, you need to ensure that you can establish a professional 'divide'.. recreating the wheel and so on can be great learning experiences that teach you..but you should do this in -your- time.
</description><link>http://ayende.com/3712/stealing-from-your-client#comment2</link><guid>http://ayende.com/3712/stealing-from-your-client#comment2</guid><pubDate>Fri, 21 Nov 2008 13:39:01 GMT</pubDate></item><item><title>James L commented on Stealing from your client</title><description>That negates the whole point of an ORM layer
</description><link>http://ayende.com/3712/stealing-from-your-client#comment1</link><guid>http://ayende.com/3712/stealing-from-your-client#comment1</guid><pubDate>Fri, 21 Nov 2008 13:32:30 GMT</pubDate></item></channel></rss>