This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
How would you introduce somebody like me into web programming? It still remains an interesting field for me, I'm just not used to it. I'd really like to see what it has to offer. [ May 02, 2007: Message edited by: Matthew Alesi ]
Well, that's an interesting question... I don't often deal with people that don't already haev some web development experience... I'm usually convincing them to do things the RIA way rather than the "classic" web way, but your asking something a bit different...
My first reply would be that to a large extent, you are correct, it *is* disorganized! I quickly follow that however with "it's getting better quickly".
I talk about this in my book a fair bit... the problem is that for a lot of years, you had nothing but what I'll call amateur developers doing web development, and by that I mean developers who were good, but who weren't well-versed in methodologies and in doing things in a maintainable, repeatable way. That's started to change in the past maybe 2-3 years as many more seasoned developers have begun to look on the web as something serious and as something we need to get a handle on in terms of doing things in a "proper" way, for lack of a better way to put it.
Your also seeing some best practices starting to emerge that make sense. Most of it is simply the realization that there's no need to do things differently on the client-side of things than on the server-side, no reason to invent all sorts of new rules (for the most part).
We're also seeing some decent tooling coming online. Heck, just the release of Firebug alone has made life so much better for web developers!
Where there is still a lot of divergance is in DOM implementation. That's definitely where you'll spend some time. However, if you code to standards always, you'll find that even then the problems aren't as frequent as they used to be. Oh, they're still there, and you'll definitely get bid every now and again, but it's not as bad as it once was.
Maybe the best way to say it is this... I'm working on a huge, very complex and very client-heavy application at work that we wrote to be cross-browser... for the most part our approach has been to always code to standards and to develop in FF, then correct in IE. I can tell you that we've frankly not run into a whole lot of problems doing this, and surprisingly, it wasn't always IE that was "broken". We had some instances (please don't ask for specifics, my brain might explode trying to recall them!) where we coded something to spec in FF that didn't quite work, but did work in IE. So, don't always assume you'll be fighting IE and not FF. But regardless, the point is that there weren't a ton of issues to deal with, contrary to what you might think.
I think mostly though it comes down to good habits. If you have them in your non-web development work, and if you fight the urge to do things differently in your web development work, you'll be OK, the disorganization you mention won't be a problem, and if you stick to standards you'll find that the browser differences aren't as severe as you might think.
Joined: Sep 13, 2006
That's really interesting. Like I said, I'd really like to learn web programming, but I've been put off by what seemed to be its messy nature. It's good to hear that web programming is taking a more standardized approach.
A really neat thing about your book is that it focuses on projects and practical applications (ten, nonetheless), rather than just hypothetical examples of what you might do with random pieces of technology. That said, would somebody like me, who is trying to learn, be able to pick up on what is going on in these projects? I feel like I would really like this book, I'm just wondering if I'd be able to understand it.
Joined: Dec 16, 2004
I think the answer is yes, *if* you are motivated, and by that I mean if you are willing to look some stuff up every now and again. It really isn't written for beginners, however, I've had a number of beginners read my first book and they did OK with it, this book shouldn't be much different. I would expect you'd want to read it somewhere that you have access to Google so that when you hit something that's new, you can do a quick search and get caught up. If your willing to do that, I think it'd be fine.
I think it's true that probably most developers learn things better, whether foreign to them or not, when they see the concepts in real usage and not simplistic and contrived snippets, which is the route most books take. Yes, it also means you can often times find yourself off on a tangent rather than focused on the topic at hand, but my experience is that developers tend to prefer that, and that's definitely the approach all of the Apress "Practical Projects" books take.
That's a big part of why I like writing them: they are fun to work on because I get to actually write code, which is what I like doing, but I also know that not every book is written this way, and it's a way that helps a lot of people, which gives me warm fuzzies ... and lest anyone think I'm being disingenuous, a little supplemental income doesn't hurt either I freely admit Authoring books isn't a career for me though, never likely will be, so there's much more to it than some extra money... knowing that people get something positive out of my work goes a long way to making the time and effort worth it.
(and that just proves I'm a developer because *I* got off on a tangent!)