Steve McConnell's book Software Estimation: Demystifying the Black Art goes into this a little bit.
On page 46 (of my edition) he shows a graph of project productivity.
For "small" projects that actually go-live, a typical metric is 3200 lines of code in the final system for each person-year of effort in the project. IIRC, a "small" project is one with up to 20 developers.
Given 2000 hours in a typical working year, and 8 hours in a typical working day, this comes out to 12.8 lines per day, pretty close to the original posters "10 lines per day".
Now, some definitions are important.
Lines: finished lines of production code - code that is actually running in the final system.
Effort: Total system effort - including project initiation and management, requirements gathering and analysis, architecture and design, development, system testing, integration testing, user acceptance testing, performance testing, deployment, transition, documentation and training.
This is for "small" projects - the figure gets worse for medium and large projects.
As you can see, there is a lot more involved than just the time it takes to tap the keyboard and write a line of code.
A couple of last points.
- I don't know about you, but I know plenty of developers who have been known to have 3200 line weeks, not just 3200 line years.
- You'd expect the language choice to have an impact on the number of lines of code written - the research I've read indicated that this is not the case. The limiting factor seems to be one of brain capacity, not a technological one. Whether the language is Assembly, C, Java, C#, Haskell, Lisp or whatever, projects seem to average the same.
(I learnt all this a few years ago and brought it all together in a "Smart Code" presentation I gave to the local .NET user group in March 2010.)