I've been building websites professionally for the last 10 years and learning for the last 14. I never build a website from "scratch" anymore. I start with Twitter Bootstrap, a previous website, etc...
Step 1: learn HTML. You can open any text editor of your choice, start writing some HTML, save it as index.html and open it in a web browser. Done. Add a few more pages and you have a "website"
Step 2: get a host. I like 1and1.com - their basic Linux server is super cheap. Based on customer needs now a-days it's a toss between digitalocean.com or rackspace.com based on their needs.
Step 3: if you want your website to do more then just present some images and text, you'll need to learn some programming. Javascript is a scripting language - that'll get you some pretty stuff like form submission without page reloading, fading elements in and out, drop down menus (doable in pure css also), etc...
For an actual programming language, PHP is widely used; a lot of people like Ruby, Perl, etc... It's a matter of what your needs are and what you get comfortable with.
Adding AdSense will be done using Javascript. If you've never built a website, I'd say thats the least of your concerns right now.
Good luck. I've been "practicing" web development for 14 years now; it's a constant learning experience.
http://beta.p22.com will be going live in a week or 2. This was over 10 months in development for me. You could not build this site with one of those services.
I kinda gleaned over one of your points - you said "an online business" - if you intend to take people's credit card information, you must be experienced in how to protect that data.
Maybe you should start with wordpress.org - as much as i despise wordpress websites, there are many plugins available that will probably accomplish what you need to do.
What is your motivation? (1) to build a business; or (2) to build websites?
If it's (1), then you'd get there faster and with a higher quality result by contracting out the work. If it's (2) then go down the learning path. You might not get a viable business up for a while. Building a quality website, which will capture customers' interest and money is a lot harder than people claim. That's why good web designers / programmers are able to earn good money. They get paid for the value and results they create.
Re-read lsiunsuex's answer ... 4 years of learning before going pro. That confirms Galdwell's observation that it takes 10,000 hours to become competent at anything worthwhile.
You will learn the codes when you start working on it. If you're using Adsense make sure you're targeting a niche market it will help you in long run!
Step 1) open a text editor.
Step 2) paste in the following code.
<!doctype html>
<html>
<head>
<title>my first website</title>
</head>
<body>
<p>hello world</p>
</body>
</html>Step 3) save the file as index.html
Step 4) open the file in your internet browser.
If you just want a simple business website, then you don't need to learn any of that; just sign up with one of the hosting + CMS all-in-one services like Squarespace, Weebly, or Drupal Gardens.
First code the HTML, then do the Javascript and backend.
Learn HTML, CSS and Javascript (in that order), perhaps using http://www.codecademy.com/