Page 1 of 2

Complement to PoEAA?

Posted: Sun May 21, 2006 8:56 pm
by Nathaniel
Hi guys,

My birthday is next month, and it's time for me to decide what presents to ask for! :)

I already decided on PoEAA some time ago, but I'd like to ask for one or maybe two more books. What would you guys label as a "must-have?"

I've thought about Refactoring by Martin Fowler, a book that I leafed through at B&N and gleaned much from in the short time I was there.

Bit of background: I'm 16, have never had any formal training or study in programming methodologies, and would describe myself as a beginning programmer who has moved on from formal "scripting"; uses TDD and OOP, only practices it loosely, but is striving to be more disciplined; and would prefer to have a book over my head rather than one which doesn't teach me anything new.

- Nathaniel

Posted: Sun May 21, 2006 9:03 pm
by Ambush Commander
PoEAA is definitely a nice purchase. I would also recommend Advanced PHP Programming by George Schlossnagle, it's a very practical book and you'll learn a lot from it. These are two books I have.

Maybe I need to get some new books too. Will be watching this thread.

Posted: Sun May 21, 2006 9:10 pm
by Nathaniel
I should have mentioned that I have Advanced PHP Programming already. :) It's very good, but kindof a shallow overview of an incredibly broad number of topics.

Posted: Sun May 21, 2006 9:33 pm
by sweatje
You might be interested in my book PHP|Architech's Guide to PHP Design Patterns. I think the most useful design patterns for web development are in POEAA, so you will see a lot of overlap, but there are several key areas of focus: all refrence implementations are in PHP (both 4 and 5), and all of the examples were developed test first (using SimpleTest) and in many cases the test code is integrated directly into each chapters explanation. The book is targeted at intermediate PHP developers who want to learn TDD and design patterns, so it skips things like basic PHP OOP, etc.

Refactoring is an excellent book, in part, from unconsiously moving you up the OOP design ladder (Marcus explains this a bit more here).

Domain Driven Design by Eric Evans is another excellent book for improving your OOP design skills.

I assume you already have the Gang of Four Design Patterns book. While some of these patters solve problems which appear only in statically typed languages, it still is considered the pattern bible and is well worth reading and understanding (may take several readings ;) )

Wish I had access to these books, and the motivation to read and understand them when I was 16 :)

Posted: Sun May 21, 2006 10:04 pm
by Christopher
I'd second Domain Driven Design by Eric Evans. I have Jason's book and I think it does a really a good job covering using patterns and unit testing in PHP (annoying typos aside).

(Good to see you over here Jason, didn't know you strayed from Sitepoint. ;))

Posted: Mon May 22, 2006 12:41 am
by RobertGonzalez
For those of us that have absolutely no idea what PoEAA is...

Patterns of Enterprise Application Architecture - by Martin Fowler. At least I hope that is what it is.

Posted: Mon May 22, 2006 1:56 am
by nielsene
I'd say that Refactoring is probably the best compliment to PoEAA, or the new Refactoring Databases by Ambler and Sadalage. I was a little discouraged by the latter in that the refactorings felt a little light, but there was a lot of decent discussion about how to start approaching agile data modelling.

Posted: Mon May 22, 2006 2:54 am
by Maugrim_The_Reaper
I third (or is it fourth?) Refactoring. I have maybe 4 books that are essential reads and it's in there up with POEAA. I've just begun reading it over the weekend but php|architect's Guide to PHP Security by Ilia Alshanetsky seems to be a very good read. A little context lite, but well worth reading.

Posted: Mon May 22, 2006 4:19 pm
by Nathaniel
Wow, a lot of replies! I'm going to sort everything out by book (for my own sake):

PHP|Architech's Guide to PHP Design Patterns, by Jason E. Sweat:
sweatje wrote:You might be interested in my book PHP|Architech's Guide to PHP Design Patterns. I think the most useful design patterns for web development are in POEAA, so you will see a lot of overlap, but there are several key areas of focus: all refrence implementations are in PHP (both 4 and 5), and all of the examples were developed test first (using SimpleTest) and in many cases the test code is integrated directly into each chapters explanation. The book is targeted at intermediate PHP developers who want to learn TDD and design patterns, so it skips things like basic PHP OOP, etc.
aborint wrote:I have Jason's book and I think it does a really a good job covering using patterns and unit testing in PHP (annoying typos aside).
I read the sample chapter, and was very impressed. I love having the test code included. I need examples and practice writing tests as much as anything. I'll seriously consider this one.

Refactoring, by Martin Fowler:
sweatje wrote:Refactoring is an excellent book, in part, from unconsiously moving you up the OOP design ladder (Marcus explains this a bit more here).
nielsene wrote:I'd say that Refactoring is probably the best compliment to PoEAA, or the new Refactoring Databases by Ambler and Sadalage. I was a little discouraged by the latter in that the refactorings felt a little light, but there was a lot of decent discussion about how to start approaching agile data modelling.
Maugrim_The_Reaper wrote:I third (or is it fourth?) Refactoring. I have maybe 4 books that are essential reads and it's in there up with POEAA.
Alright, great. Refactoring is one I really want, and it's nice to know I won't go wrong choosing it.

Domain Driven Design, by Eric Evans:
sweatje wrote:Domain Driven Design by Eric Evans is another excellent book for improving your OOP design skills.
arborint wrote:I'd second Domain Driven Design by Eric Evans.
Ok, I'll take a look at that one too.

Gang of Four Design Patterns book:
sweatje wrote:I assume you already have the Gang of Four Design Patterns book. While some of these patters solve problems which appear only in statically typed languages, it still is considered the pattern bible and is well worth reading and understanding (may take several readings ;) )
Actually, I hadn't even heard of it. 8O Sounds good, I'll look into it.

Guide to PHP Security, by Ilia Alshanetsky:
Maugrim_The_Reaper wrote:I've just begun reading it over the weekend but php|architect's Guide to PHP Security by Ilia Alshanetsky seems to be a very good read. A little context lite, but well worth reading.
Security is always good. :)

Alright, thanks guys. Looks like I have a bit of researching to do. :)

Posted: Mon May 22, 2006 4:22 pm
by Ambush Commander
My only gripe is that they're all quite expensive. You could easily spend $80 buying two books.

Posted: Mon May 22, 2006 4:42 pm
by timvw
Find yourself a decent library ;)

Posted: Mon May 22, 2006 4:43 pm
by Ambush Commander
Find yourself a decent library
Mmhmm. My local library doesn't have these kinds of books. I'd have to go out pretty far to get them.

Posted: Mon May 22, 2006 4:50 pm
by RobertGonzalez
Dude, eBay and Half.com. I have found a ton of books on these sites. Some are still pricy, but spending $24 as opposed to $59 is a hands down favorite every time.

Posted: Mon May 22, 2006 4:53 pm
by timvw
Usually there is a university library around, with a department dedicated to computer science.. And where you'll probably be more lucky in your search ;)

Posted: Mon May 22, 2006 7:13 pm
by Nathaniel
Everah wrote:Dude, eBay and Half.com. I have found a ton of books on these sites. Some are still pricy, but spending $24 as opposed to $59 is a hands down favorite every time.
Oh, duh! Thanks for reminding me of half.com... :P