Happy Equinox!
Partially cloudy and 80 degrees here in
Software Development Process and Industry Analysis by the former Editor of Software Development, Computer Language, and Game Developer Magazines
Archive for 22nd September 2005
Partially cloudy and 80 degrees here in
In comments, Mark Mehelis asked some good questions re. LINQ:
The syntax does indeed vary between languages. A consistent query language would definitely have been easier to learn, but what LINQ provides is a set of consistent query operators that can be incorporated into languages in whatever way the language designer sees fit. This makes LINQ slightly less teachable (it will vary from language to language) but perhaps more appealing to language designers, since they aren’t forced to accept a query language that differs from their own language design philosophy. Vick (VB) is emphasizing familiarity and a SQL-like syntax, Hejlsberg (C#) is emphasizing functional-style programming forms. This is also a good place to point out that languages can use the underlying APIs even if they do not implement language extensions.
This is an interesting idea. I haven’t worked with actual LINQ code enough to actually wrap my head around how it affects coupling and cohesion, so I don’t know. We don’t yet know what patterns are productive in LINQ-using programs. Obviously, you could put all your queries in a single class behind a façade and even put that class into its own namespace / assembly. Would that be a good idea? Not sure.
You definitely should not have to recompile on a DB change, you almost certainly do if you’re querying objects.