The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Books To Read

This may have been mentioned sporadically in topics, but I haven't seen a good list yet...

Can anyone suggest a good list of "must-read" technical books to understand some of the fundamentals of web development (and development in general). For example, is there a good book on database fundamentals beyond an introduction to SQL or "what a table is"? A book that would discuss advanced techniques, efficiency of queries, etc?

Is there a publisher out there at prints computing books that are more advanced than what I've seen Sams and Que publish?

I hope my question makes sense..
Curious Reader
Thursday, February 16, 2006
 
 
A must read about development in general http://www.pragmaticprogrammer.com/ppbook/index.shtml
smalltalk Send private email
Thursday, February 16, 2006
 
 
I honestly didn't care for "The Pragmatic Programmer" at all, and I know I'm in the minority.  I loved Dave Thomas's book on Ruby ("the pickaxe book"), so I don't know what my problem is.

The best book I've ever read on programming -- bar none -- is "Code Complete" by Steve McConnell. That taught me more about programming well than anything else.

For SQL in particualr, the "SQL for Smarties" series is supposed to be quite hardcore.
Deane Send private email
Thursday, February 16, 2006
 
 
These two ought to be on your list:

Brian W. Kernighan, Rob Pike: "The Practice of Programming".

Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee: "Patterns of Enterprise Application Architecture".

I learned SQL from a couple of database classes, and then read vendor specific information as needed.

For web development you probably want to figure what type of technology you are interested in, and then ask specifically about that.  Even knowing what you are trying to do would help.

Java, for instance, is strong in the enterprise, and have huge number of technologies in its framework spanning from database connectivity (JDBC) to how to structure a web application (struts), mixing html and code (JSP) etc.  If you are in a Microsoft environment there different framework (.net, asp, mts, odbc, ado etc).

Hope that helps,


/Allan
Allan Wind Send private email
Thursday, February 16, 2006
 
 
Web Development fundamentals? I won't make a list of books, but I can suggest some types of reading:

Learn the basic technologies: XHTML/CSS/Javascript (and perhaps the basics of the HTTP protocol). This is what is sent to the browser (what controls are rendered as). There is no web without these, it's important to master those.

Then you have to know several more things:

-programming in general (writing good code, basic concepts, no matter what language; sounds easy but writing GOOD code isn't as easy as it sounds... we could talk about this for days)
-a programming language or two (C#, VB.NET, etc)
-the .NET framework itself
-ASP.NET (the tags, how it works in general, etc)
-databases (solid knowledge of SQL and preferably sprocs, common admin tools & DBs, etc)

And this is just the absolute basics. There are FAR more things to learn to make decent apps, patterns, application architecture, etc. You also have to learn loads of apps, and perhaps some tools like OR mappers. Practices like test driven development and such.

Making good, maintainable, well written apps that scale well, aren't full of bugs, that are secure, etc takes a good amount of knowledge and experience. You have a LOT of things to learn, you'll need to work hard for quite a while.
AnonGuy
Thursday, February 16, 2006
 
 
Shameless plus, perhaps, but...

http://www.willsllc.com/bookshelf

My picks on Windows, Web, and "Fundamentals"
PWills Send private email
Thursday, February 16, 2006
 
 
Databases: I like C.J. Date's _An Introducton to Database Systems_, though I know a lot of people hate it. For the real nitty-gritty of how databases work under the covers, Gray & Reuters's _Transaction Processing: Principles and Techniques_ is excellent. For optimization of queries, well, I suspect that this may vary an awful lot from DBMS to DBMS.
George Jansen Send private email
Thursday, February 16, 2006
 
 
Code Complete seems to come up with every list so I'll definitely look into that one.

Thanks for the other suggestions too. They helped me find the publisher Morgan Kaufman on Amazon. They seem to put out a lot of more advanced proramming books.
Curious Reader
Thursday, February 16, 2006
 
 
Note that Code Complete 2 recently came out, so that's the one you should be looking for.

What's to hate in Date?
Larry Lard Send private email
Friday, February 17, 2006
 
 
For general development, Software Tools is a must-read.

 http://www.amazon.com/gp/product/020103669X
Chris Nelson Send private email
Friday, February 17, 2006
 
 
"What's to hate in Date?" Nothing, as far as I'm concerned. But I taught a course a few times where that was the textbook, and a lot of students disliked the writing, and would have preferred a narrower & more practical--application-specific--focus.
George Jansen Send private email
Friday, February 17, 2006
 
 
Basic SQL Server: Professional SQL Server 2000 Programming (Programmer to Programmer) (Paperback) by Robert Vieira

I know it's out of date, but the basic SQL syntax is the same and he makes it very easy to learn.

Not so basic SQL Server: The Guru's Guide to Transact-SQL (Paperback) by Ken Henderson

This book will give you a headache, but sometimes that's the price you pay for decent performance.
Eric Send private email
Friday, February 17, 2006
 
 
And of course, Code Complete 2.
Eric Send private email
Friday, February 17, 2006
 
 
All of the best books on this subject...

"For example, is there a good book on database fundamentals beyond an introduction to SQL or "what a table is"? A book that would discuss advanced techniques, efficiency of queries, etc?"

...that I've seen, are college textbooks. Which makes sense because "database calculus" (which allows you to predict the efficiency of your database and queries) is not something most people can pick up just doing light reading at the beach.

Check your local university bookstore or the computer science department. I'd recommend mine, but I left that one at home. :)
TheDavid
Friday, February 17, 2006
 
 
Code Complete 2

For Patterns - Head First Design Patterns
getLastName(), getFirstName()
Wednesday, February 22, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz