

Ask HN: How can I learn enough coding to run simple online sites? - Retailslave

I'm really interested in learning to code little sites, apps, creating small simple stuff that may generate small amounts of money.<p>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.&#60;p&#62;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?&#60;p&#62;There's a lot of unknown unknowns in this category, so if HN can help it would be great.
======
noahc
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.

------
sga
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...](http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks)).

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.

------
tamersalama
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.

------
Athtar
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.

~~~
noahc
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.

------
brk
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.

------
asheeshlaroia
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.

------
lukeqsee
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.

