Web Development
April 7, 2005 11:57 AM   Subscribe

I'm interested in web development...

...but I don't really know where to start. I guess I'm more interested in the design side of things, but I'd like to be able to program as well. I've played around with Perl a little bit, but found it really chaotic and I'm not sure what other languages would be most useful. Ultimately, I would just like to be able to completely manage my own website rather than rely on my host (TypePad) or having to hire a designer to pretty up my blog. I'm definitely more interested in this as a hobby than as a potential career (I already spend way too much time on the internet, I would like to be learning some skills from it).
posted by eatcherry to Computers & Internet (13 answers total) 2 users marked this as a favorite
i'm surprised no-one has answered this immediately. if i were you i would install some server software on your own machine and play with it. you can run all the software that your host runs, or alternatives, on your own machine. the rest of the world can't see the sites you create, but you can. that's enough to learn.

once you've learnt a bit, you can get an old computer, a permanent net connection (eg cable modem) and make things public (use dyndns.org if you have a dynamic address). but really the first step is just to install whatever software you want to use locally and start playing with it.

of course, you may be restricted slightly, depending on what kind of os/computer you have, but there are packages out there for all popular systems.
posted by andrew cooke at 12:24 PM on April 7, 2005

As far as I can tell, there is no question in your post.

Anyway, I suggest you learn HTML, CSS, and PHP. Play with everything on a private, personal web site. You'll get pretty skilled just by doing that. If you wanted to get more professional, you need to learn about databases and stuff, but HTML + CSS is a good start, with PHP for scripting. PHP is a more user-friendly language than Perl, it also looks much prettier.
posted by knave at 12:24 PM on April 7, 2005 [1 favorite]

Best answer: If you're looking to learn programming exclusively for the web, I would recommend starting with PHP. It's a bit less intimidating than Perl, but just as widely accepted amongst hosting providers.

Setting up a tinkering environment is pretty much a one install step these days...download XAMPP from Apachefriends and you'll be good to go with Apache, PHP and MySQL all configured for you (plus it comes with phpMyAdmin, webalizer and a few other helpful applications.) Try installing WordPress, it's PHP based unlike MoveableType.

Learning to program can be a particularly nebulous goal, so it may be helpful to think of a small feature/application you'd like to implement and learn to that end.

Learning design can be equally obscure. Barring the obvious "take a class" advice (which would apply to programming as well) I've found it helpful to read up on the tips, techniques and processes used by web designers you admire. Some sites that come to mind:

Jason Santa Maria
Douglas Bowman
Jeffrey Zeldman
Jon Hicks

Not exhaustive, but it's a start.
posted by Loser at 12:30 PM on April 7, 2005 [1 favorite]

Response by poster: Sorry knave, there was no question mark I guess, but I think what I'm asking is fairly obvious. If it's not I'd be happy to clarify.
posted by eatcherry at 12:30 PM on April 7, 2005

JavaScript's not a bad way to decide if you're interested in programming, given you already have a test environment set up. The only danger is that 99% of the code you'll find on the net is written by people you don't want to imitate.

Get comfortable with HTML + CSS, then move to something friendly like PHP.
posted by yerfatma at 1:46 PM on April 7, 2005

Best answer: An important thing is not to try to learn these things by reading from page one to the end of the book. What you want to do is get a handle on the basics, then learn the rest by doing. What I mean is, if you see a web page you like, view the source code, and replicate what the author has done, figuring out how it works as you go along. If you want to do something in PHP, but you don't know how, find someone who has done it, and steal their code. Then break it down, figure out why it works, and try to repeat it. What I mean is: don't re-invent the wheel.
posted by Hildago at 2:14 PM on April 7, 2005 [1 favorite]

maybe you should ask more specific questions before this drops out of sight?
posted by andrew cooke at 2:44 PM on April 7, 2005

Best answer: This site looks pretty useful. It seems to be what you're looking for, though I haven't used it and so can't personally vouch for it.
posted by joshuaconner at 2:56 PM on April 7, 2005

HTML is the groundwork for understanding or creating anything; start there. If you want to move on to dynamic stuff, I'm a big fan of ColdFusion as a programming environment for HTML people (as opposed to trained programmers.) It's super-easy to get started with, but very powerful at the top end. The development server is free, so you can learn it as cheaply as PHP. And you don't have to buy the commercial version to run a public site, as it's easy to find affordable CF hosting.
posted by Tubes at 10:56 PM on April 7, 2005

W3Schools is a great reference which I use regularly — any civilizied web technology is well documented, including HTML, CSS, the DOM, XML, XSLT, XPath, etc. I haven't used any of their tutorials so I can't vouch for those.

I'm a Perl guy, but PHP is probably more up your alley. The O'Reilly books are very rarely anything but good, for any technology or language.

In my experience I rarely/never successfully manage to learn anything computer-related unless I have a specific project in mind, going into it, which I want or need to implement in the language or technology I'm trying to learn. I learned enough Perl to get started in a weekend, after several years of intermittent and abortive efforts to teach it to myself, because I wanted to implement something on our site at work and I wanted to do it in Perl. The same has been true of XML, XSLT, Javascript, etc. Whether this is just a quirk of mine or whether it applies to others I have no idea.

On preview: indeed, Tubes, and it comes highly recommended by our fearless leader.
posted by IshmaelGraves at 10:59 PM on April 7, 2005 [1 favorite]

Best answer: HTML is important, but HTML itself nowadays is pretty simple and straightforward (not the complicated mess it was 8 years ago, thank fucking God). CSS is where the real action's at. Then you can start dabbling in PHP (which is really great IMO, even though it's not the most cohesive language).
posted by neckro23 at 11:08 PM on April 7, 2005 [1 favorite]

i noticed when i started designing (from a graphic design background) i wanted to know more about interface design, especially the usability side. i read these two books, this one and this one, both easy to read and fun. this site is useful about the same topic.
posted by mailhans at 4:40 AM on April 8, 2005

If I were starting today, I'd learn Ruby on Rails. It's got the benefit of having been largely created *after* people knew how common web apps could be built with an eye to usability, and the culture around the platform encourages good aesthetics and best practices.
posted by anildash at 3:09 PM on April 9, 2005 [1 favorite]

« Older Which theatres will be showing upcoming movies?   |   Reader's Digest Condensed Books Presents... Newer »
This thread is closed to new comments.