The world of .NET from a Connected Systems MVP & INETA Speaker

Focusing on Data – Try #3

I have been thinking a lot about data a lot lately. In my 26 years of doing this thing we call Software Development, I have encountered, and dealt with Data in many ways, from the Datatrieve product I used over 20 years ago at Digital on OpenVMS systems to the numerous APIs and technologies from Microsoft through the years like RDO, Microsoft JET/DAO, OLE DB, ODBC, ADO, ADO.NET and countless others, as well as Oracle PL/SQL. Rico Mariani’s fascinating posts on Visual Studio history made me realize that I started at Part 1 in his series, when Microsoft C 5.0 came out and a big box in the 80’s. Enough of that.

I don’t want to write a long post on how old I am :) but instead coming to the realization that these APIs were all “leaky abstractions” and it was always core SQL as the “truth” underneath. The problem is that I spent 20+ years on all these ways to avoid SQL in many cases. There was always that DBA on the team that could “handle those messy SQL queries and stored procs” and I feel I really just got by with barely a surface level knowledge of SQL. I became a “COM Is Love Guy”, followed Don Box around and became very knowledgeable with the “sexy things” like COM/COM+/MTS, MFC, C++ and then in the first few years of .NET became the known for my COM Interop skills and CLR/Rotor things as well as Smart Clients. SQL was always for someone else, the data guy. Even for the happy 2 year super-Agile project at Algo, I personally, as an Architect, became dependent on Wilson O/RM as the latest way for me to avoid SQL and just keep partying on with those C# objects. And there was super Steve Eichert at my side to modify the Wilson code or dig into all that ugly SQL :)

As I begun to spin up with a lot of Microsoft’s new generation of technologies like LINQ, LINQ to SQL, Astoria, and the Entity Framework, it became apparent that this couldn’t stand anymore. I had coded .NET the last few years without really embracing LINQ and similar technologies. As I begun to dig into LINQ (especially LINQ to SQL) and then tried to digest Julie Lerman’s fabulous and definitive Programming Entity Framework, I started to really feel that I had to understand SQL. When Julie’s book sailed over my head, I realized there were two issues here: LINQ itself and SQL. I wasn’t even digesting LINQ queries. This led me to two things. The first is Pluralsight’s On Demand course for LINQ taught by K. Scott Allan, and then  Murach’s ADO.NET 3.5: LINQ and the Entity Framework with C# 2008. That helped quite a bit with LINQ, LINQ to SQL and Entity Framework.

Putting my mind to finally learning SQL led me first to Murach’s SQL Server 2008 for Developers book. I love Murach’s books with their many examples and two-page panel view but there just was too much there. It took on too many things. Since 98% of what I do is Querying, I wanted to focus mostly on SELECTS and especially JOINs, and that stuff, except for very simple ones, was still sailing over my head. I finally came to the right resource for that. That is SQL Queries for Mere Mortals: Second Edition. This book doesn’t try to take on all of SQL Server, Oracle or MySQL. Instead it does only one thing and one thing well. It provides a step-by-step easy-to-read introduction to writing SQL queries by taking everyday English queries and literally translate them into SQL. I am finally getting it.

Resources

  1.  Murach’s ADO.NET 3.5: LINQ and the Entity Framework with C# 2008.
  2.  Murach’s SQL Server 2008 for Developers
  3.  Pluralsight On Demand!
  4.  SQL Queries for Mere Mortals: Second Edition

» Similar Posts

  1. SOA: Making the Paradigm Shift Part 7 of N
  2. Writing Maintainable Code
  3. Goodbye CodeBetter and ALT.NET

» Trackbacks & Pingbacks

    No trackbacks yet.
Trackback link for this post:
http://samgentile.com/Web/trackback.ashx?id=1837

» Comments

  1. Marcia McLean avatar

    Good post, Sam. I've always enjoyed SQL programming, but have been chagrined to discover that some (?most?) technical mgrs disparage it as a low-level skill.

    Needless to say, I'm delighted that you recognize the value of well-written SQL!

    Marcia McLean — October 13, 2009 9:57 AM
  2. Alex James avatar

    Sam,

    I can relate, only in reverse.

    I started out being pretty much a generalist, but over the last 15 years I've slowly become more and more closely aligned with the database, to the point that I am now an out and out specialist, I work on the Entity Framework Team after all.

    And my web-skill set is decaying before my eyes.

    But there is nothing like a bit of realization to fire up the cylinders of inquisitiveness anew...

    Alex

    Alex James — October 13, 2009 10:40 PM

» Leave a Comment