Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

SQL Antipatterns question - Database programmers vs Software programmers, the role of ORMs

 
Michael Angstadt
Ranch Hand
Posts: 277
Eclipse IDE Java PHP
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As a software developer, I always feel a little embarrassed for myself when I have to write some SQL and forget how to do something basic like an inner join. Do you think it's possible to be both a good database programmer and a good software programmer? Or are the two domains too complex for any one person to be an expert in both?

Also, with ORMs like Hibernate becoming more and more popular, do you think the role of the "database programmer" is becoming obsolete?

Thanks.
 
Bill Karwin
author
Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Michael Angstadt wrote:As a software developer, I always feel a little embarrassed for myself when I have to write some SQL and forget how to do something basic like an inner join. Do you think it's possible to be both a good database programmer and a good software programmer? Or are the two domains too complex for any one person to be an expert in both?

Well I can tell you that no matter how much I program in Java or in SQL, I keep a collection of links to reference guides handy. I added a dropdown list of these links to my browser toolbar. There's too much to memorize, so make sure you keep resources close to you.

Also, with ORMs like Hibernate becoming more and more popular, do you think the role of the "database programmer" is becoming obsolete?

The benefit of an ORM is to speed up development, but it often produces very sub-optimal SQL code. Inevitably after you develop an application you find a few bottlenecks where you have to peel away the ORM abstraction layer and write the SQL by hand. This is called a Leaky Abstraction. http://www.joelonsoftware.com/articles/LeakyAbstractions.html

Some people try very hard to use the abstraction layer no matter how much it fails them. Or they try to compensate for bad code by adding more power to their server. But neither of these are an economical decision.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic