* "Richard Lynch" <ceo@xxxxxxxxx> : > On Fri, June 24, 2005 12:56 pm, Josh Olson said: > > PHP has inspired me to become a better programmer. I have been > > actively reading books as well as online content to try to become > > better at designing and programming object oriented web applications. > > My primary focus is PHP. > > > > Will you help a pragmatic programmer in training out by suggesting > > some worthwhile resources? > > > > I have read the following already: <snip> > I didn't read any of those books. <snip> > One other piece of advice: > > Write lots and lots of code. > > Lots of it. Amen. Only after approaching similar problems several times will you find a more general, elegant solution that could solve all of them. It's the repetition of the problem, and the differing approaches that inform your ability to program towards it. The only way to get there is doing lots of coding. > Re-write some old code of your own. Amazingly instructive, and often > leads you to new heights. Plus your old stuff suddenly has a lower > maintenance cost, for some odd reason... :-) I do this all the time. It's invaluable. Sometimes you find some little gems -- and most of the time you discover how much you've learnt since then, and you refactor it and make it better. > Publish some articles or code snippets on your site. The act of trying to > explain what you did to somebody else will open up worlds of > understanding. You never really understand something until after you've > taught it to somebody else. :-) I keep a blog, mostly about my PHP development. I do this in part for myself. If I act as if I'm explaining it for someone else, I often get to the meat of an issue or problem -- a place I might not have visited had I not spent that extra time trying to understand it enough to explain it. My blog has a public face, but it's really for myself. <snip> > Try to work on a project with another developer. You may tear your hair > out. You may want to kill them. You may learn a whole hell of a lot. > Maybe what you learn is that a whole lot of developers just don't think > like you do. That's okay too. At least, it's okay for me. :-) [shrug] I work with another developer, and we're constantly refactoring each other's code. But the brilliant part of it is that we then learn from each other as well. Do some code review for another developer some time. As Richard notes, writing lots of code will improve your coding ability; so will *reading* lots of code. <snip> > Ooooh. At the risk of being branded a heretic, try to pick up another > language or two. Start with something a whole lot like PHP. Maybe Perl, > or even C. I wouldn't understand PHP half as well as I do if I didn't know perl already. I still use perl regularly; sometimes it's suited for the task. But that's another reason to learn other languages -- to determine when PHP is the right tool for the job, and when another language is. > Well, that got long and philosophical, didn't it? Yes, but well worth th read. Thanks, Richard! -- Matthew Weier O'Phinney Zend Certified Engineer http://weierophinney.net/matthew/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php