This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes JDBC and the fly likes SQL Antipatterns question - Database programmers vs Software programmers, the role of ORMs Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "SQL Antipatterns question - Database programmers vs Software programmers, the role of ORMs" Watch "SQL Antipatterns question - Database programmers vs Software programmers, the role of ORMs" New topic
Author

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

Michael Angstadt
Ranch Hand

Joined: Jun 17, 2009
Posts: 273

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.


SCJP 6 || SCWCD 5
Bill Karwin
author
Ranch Hand

Joined: Aug 02, 2010
Posts: 32
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.


Bill Karwin is the author of SQL Antipatterns: Avoiding the Pitfalls of Database Programming
 
Consider Paul's rocket mass heater.
 
subject: SQL Antipatterns question - Database programmers vs Software programmers, the role of ORMs
 
Similar Threads
Career Advice
Advantages of ORM?
Question to Scott Ambler
Java discourages intelligent use of database technology: Discuss.
Better Career path?