Greg Low is a SQL Server expert and one of the top speakers at this year at this year’s Tech.Ed conference held in Sydney this year. A proud Queenslander, Greg currently works as a senior consultant at Readify, a company specialising in .NET solutions. Builder AU interviewed Greg via e-mail before the start of Tech.Ed to talk about beta software, free databases, and the future of database development.

Builder AU: How would you explain what you do to someone outside the company?

Greg Low: Assisting customers with technical readiness on upcoming technologies (predominantly Microsoft-based technologies), help them with architectural guidance on both current and upcoming technologies and mentor their staff when they try to implement things.

What do you really do?

All the items in #1.Unlike most consulting companies who seem to be on site to maximise their time on site and minimise the knowledge transfer to on site staff, we don’t aim to take over projects. We aim to put an organisation’s own staff in a position to own and manage their own projects, while providing some additional arms and legs to help with the real work when needed. In most cases, we’re all about enabling the staff that are already there.

How did you get into programming (IT)? 

Started learning programming with another local consultant in the late 70’s. Was doing RPG and COBOL like we all did at the time. But started to use micros/pc’s as soon as they appeared. 

Do you think Microsoft should be asking for payment of its beta products? Surely as a tester, developers are providing a service for free? 

Microsoft should continue to send out beta products at no charge. The problem with beta programs is that many developers sign up for them but then don’t really participate in them. Real beta program participation means really using the products and participating in feedback mechanisms such as forums, newsgroups and what was LadyBug.

Do you think Microsoft’s attempt to distribute widely the use of SQL Server by making the SQL Server Express version free is working? 

Yes. SQL Express is a great story. The three main pieces of feedback I hear is the call for a SQL Agent, the need to use it for merge replication publishing and the requirement for an admin installation. Otherwise, it’s a stunningly good story.

Why would  a developer use a product with a tiered licence structure instead of the free alternatives that are good enough in most low-end circumstances? (MySQL or PostgreSQL for example) 

I’m not the one to ask about products like MySQL. They probably have their place but I struggle to know where. Whenever I’ve made a concerted effort to use it, I’ve ended up *very* frustrated by it. There are many things I feel are bugs that they argue aren’t because they have documented how they work. SQL Express is a great alternative when *free* database servers is required.

There is so much focus from a lot of people on the cost of the operating system (ie: let’s use Linux instead) or the cost of the database server software (ie: let’s use MySQL). Most of the people who have that focus seem to be missing the big picture. In most projects where those dollars need to be paid, the cost of the operating system and database management software is almost completely irrelevant to the cost of the overall project. For example, if I’m doing a project that costs $200k, what relevance does it have if the operating system costs $1k or is free, particularly if it then leads me into having to make other tradeoffs?

Speed of development is clearly the target of the SQL Server + Visual Studio solution. Are we approaching a point where the majority of developers can only use development tools provided to them by vendors such as Microsoft with a smaller, more elite group that develops these tools?

Yes. The majority of developers want a rich suite of tools, not a collection of bits and pieces. At least the ones that value their own time do. More and more people will be involved in the development process. It makes sense that only a small number will be involved in building tools and frameworks used by others. 

With technologies such as LINQ abstracting over numerous datatypes including databases, will we be faced with yet heavier applications that provide zero increase in functionality? Should programmers be explicitly aware that they are using a database to help in the optimisation process?

Yes, this is a real concern. In time, this won’t matter. We used to manage memory in application programs. Almost no-one does that any more. The operating system and languages, garbage collection, a good enough job that we don’t bother *most* of the time. There is already a class of applications for which ORM wrappers, etc. abstract away a great deal of the underlying database technology. But the mistake is to assume this applies to all applications. Today, it doesn’t yet apply and database performance, etc. do still matter.

What effect do you see LINQ having on the future direction of SQL Server?

The next main move seems to be a flavour of object mapping at or above the ADO layer. I’ll be covering that in the ADO.NET vNext sessions.LINQ fits quite well with this but I’d like to see it taken further. If over 90% of applications are data-related, why was ADO.NET an add-on library in the first place? I’d like to see a managed language that really *gets* database applications, rather than improvements in add-on libraries for existing languages. (The folks using languages like Foxbase would argue they already were a long way there. Fox.Net isn’t the end result I’d like to see but some of the thinking there is in the right direction).

Best Web site for procrastination? 

Any of the beta sites or forums.