Hacker News new | ask | show | jobs
Ask HN: How can I learn enough coding to run simple online sites?
4 points by Retailslave 5640 days ago
I'm really interested in learning to code little sites, apps, creating small simple stuff that may generate small amounts of money.

I have a lot of time on my hands, I always see really great and simple sites that generate small amounts of income. I'd be more than happy with this but I have no idea on where to start with the coding.<p>How much experience do I need? How do I learn? Where do I get started? What questions should I be asking? What languages should I be learning? Where?<p>There's a lot of unknown unknowns in this category, so if HN can help it would be great.

7 comments

Websites are composed of two parts the frontend and the backend. There are various tools to make each part easier.

The front end is composed of html, css, and javascript. As far as the html and css go, you can get started very quickly with a framework called css blueprint ( http://www.blueprintcss.org/ ). You probably don't need javascript for very basic sites.

The backend is composed of a programming language and often times a framework. I'd recommend Google App engine + python. Google supports a number of frameworks, but I recommend going through the tutorial found here: http://code.google.com/appengine/docs/python/gettingstarted/

Let me know if you have any questions. It'd also be useful to know what type of experience you have.

The best thing to do is to start along the path (as there's no magic bullet):

1. Pick a language (python, ruby, php; if you know someone that programs well with one of these choose that language)

2. Learn to program with that language (if you chose python, here's a good free book to get you going: http://learnpythonthehardway.org/index)

3. Don't gloss over steps in whatever book you've chosen. Actually get the scripts running on your computer.

4. If you're getting an error or something doesn't make sense, search http://stackoverflow.com/

5. Once you feel comfortable writing scripts, buy yourself a cheap shared hosting service (I've used Dreamhost but there are others. If you know someone who programs choose what they are using.)

6. Download putty and/or use a web based ftp client. Interact with your server, get comfortable writing scripts in whatever language you chose.

7. Choose a framework (look here for candidates: http://en.wikipedia.org/wiki/Comparison_of_web_application_f...).

8. Get the framework installed on your server and do the tutorial and get whatever toy app they specify up and running.

-> somewhere in there it would also be useful/necessary to dabble with HTML, CSS, SQL (w3schools is a reasonable enough place to start)

Now you're good to go ... build, build, build.

I don't mean to throw you off, but you might be confusing 'simple stuff' with 'common stuff'. Things that you see in all and every application might require a bit of knowledge/learning (authentication, user accounts, design/css, database, hosting).

However - these things aren't rocket science.

Depending on the desired product (site, app, ...) - the choice of means and tools could differ.

Some here has suggested a CMS - and perhaps it's a good starting point. Many CMSs would allow you to get things up and running, and incrementally experiment with code. I'd suggest a wordpress as it's one of the less-bloated CMSs to understand.

One advice is to be courageous. Experiment and repeat.

Drop me a line, perhaps I could answer few of your questions.

If this is just so that you can generate a small income on the side, I suggest you take a look at some CMS packages. Basically, they allow you to create a site without needing to know any programming. Here are a few good, simple to use CMS's: Umbraco, Movable Type, TYPO3, Plone, Radiant, Symphony. And there are many more to choose from.

If you are really interested in learning how to code however, I second the other suggestions made in the thread. Figure out what you want to build and build it using Google and other web-based tutorials.

I would add wordpress to your CMS list. It's more than just a blogging platform and has a ton of plugins and themes available.

It might even be possible to build what the OP is looking to build in wordpress using themes + plugins.

I've always found the best way is to set out to build something, and then Google all the various little bits along the way.

Scratch out your rough website design on paper and figure out the important components. Do you need to handle user logins? Scrape data? Display funny pictures of cats?

Take each core function and google around for similar examples, look at sites like miniajax.com and so on for sample code and go from there.

Go through the Django tutorial, and then try making something!

If you don't have anywhere to host it, you can use Google App Engine for free hosting.

Just do it.

That is probably the best advice you can get: start. If you want to learn how to program, pick a popular language (PHP, Python, Ruby, &tc.), and duckduckgo "<language> tutorials." All you need from there is determination.