What should I learn in order to build a website? And in what order?

Reasonable Doubt

Senior member
Nov 18, 2009
698
2
81
I'm trying to build a dating website. What should I learn in order to build one?

I've been to http://www.w3schools.com and I've read HTML, HTML5, XHTML, CSS, TCP/IP, JavaScript, HTML DOM, DHTML, VBScript, AJAX jQuery, E4X, XML, and SQL tutorials.

What should I learn and do to build a dating website?


Thanks in Advance
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
HTML, CSS, Javascript, and some backend language such as php, asp, python, or ruby.
 

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
I would recommend this order:
1. HTML
2. CSS
3. Javascript
4. Some server side programming language of your choice (PHP, Ruby, Python, .net, whatever)
5. Database of your choice. MySQL and PostgreSQL are popular choices.

1-2 can be done learned at the same time, also with 3. After that, dive into 4-5.

You can learn about HTML5, AJAX and other stuff as you more comfortable. No point in going into that stuff until you have a good understanding of the basics.

Also you can search for other threads with this same question. It's been asked a few times.
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
Well, I'm pretty much going to say the same thing as everyone else :D.

1. HTML - This is the most important thing to learn. You really, really need to understand how HTML works, what it looks like, and how to write good HTML. w3schools is a great place to learn that sort of thing.
2. CSS - This almost needs to be learned concurrently with HTML. Modern webpages use HTML for the structure and CSS for the style/beautifying. Enjoy working with IE 5/6 btw :p. HTML = the layout, CSS = what things look like, or the style.
3. Javascript - Modern webpages do a lot on the clients side. Most of the fancy stuff that google does, for example, all employs the power of javascript to make things move around.
4. A server side programming language - I personally would recommend ASP.net or PHP as both are pretty much the defacto standards for everywhere. ASP.net can use C# or VB as its underlying programming language (ASP.net is more the technology than the language). I would recommend learning C# over VB. If you want to do anything that involves, say, logging in, ordering stuff, etc, then this is a must.
5. Database programming - This pretty much goes hand in hand with learning some sort of backend language. The internet is basically evolved form of the question "How do I display my data best." Databases are a must for loads of data that needs to be accessed fast.
6. How to work with IIS or apache - Not really a whole lot of tutorials out there for this, when setting up a webpage these are going to be your choices for webserving programs. Learning how to use one, the other, or both is pretty essential.

For programming in general. I would suggest having pet projects to learn the material. Having a goal helps a lot.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Option 1: Learn all skills yourself.
Option 2: Outsource.

The right solution for you will depend how serious you want your site to be. For toy sites, go ahead and roll your own. But for something serious, be advised that people spend years learning the above skills well enough to build a serious site from the ground up. Unless you want to spend years, too, just go hire someone.
 

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
Another thing I'd like to see would be to come back and post progress and ask for suggestions for the next step.

It seems like people just ask how to learn something and then disappear. Did they follow the suggestions, or use a different route, or lose interest?
 

PCTC2

Diamond Member
Feb 18, 2007
3,892
33
91
I would say the same as everyone else as well...
1) HTML
2) CSS
3) Javascript
Specifically:
4) Ruby-on-Rails and MySQL.

I kind of just jumped (or was pushed?) into JS and Ruby development.

Some really big sites use Ruby. Hulu uses Ruby-on-Rails using nginx. Twitter uses Ruby-on-Rails with a bunch of parallel ruby servers. RackSpace uses Rails. Using Rails with all of the rubygems and plugins is a great tool. Look into Phusion Passenger, but that's getting ahead of myself.

You really need to know HTML and CSS for the bulk of the site. Javascript helps you do functions that you normally couldn't do in plain HTML, and will help your site transition to different functions much cleaner. I recommend using the jQuery library.

Once you have those down, try a server-side language. As I was pointing out, Ruby-on-Rails is pretty big. You need to know your JS, HTML, and CSS to get a good Rails app up, but there's plenty of tutorials around, and source code on github.com. Gems will help you accomplish things out of your scope of programming. By default, Rails uses SQLite local databases, but there's adapters to MySQL and other databases. For rails, it's also good to be well versed in SQL language, because a lot of functions to your database will be deeply based in SQL despite being in Ruby syntax. There's no limit on what you can program. Once you get a handle, try delving deeper, writing your own gems, etc.

A great set of books for Rails is available from the Pragmatic Programmer (pragprog.com). Rails 3.0 was released earlier this year and their books on Rails 3 are still in beta, but are still useful. Rails3 has changed and deprecated a lot from Rails2, so I would steer away from Rails2 books.

People would also suggest PHP and CodeIgniter.
 
Last edited:

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,695
4,658
75
You might be interested in [post=30765660]a post I did for a similar thread awhile back[/post].
 

beginner99

Diamond Member
Jun 2, 2009
5,318
1,763
136
HTML, CSS and JavaScript are a must of course but the pain will come if your Web page must support multiple browser (eg. Internet Explorer). Your page might look nice in Firefox but terrible in IE or the other way around.

At work we actually have a commercial web app and they didn't even manage it to work and look the same on different versions of IE and forget firefox.
(They used to make desktop only and it's pretty obvious they thought programming is programming and no need for a real web developer and designer).

Or it look all nice, easy and standardized at first but it's not thanks to MS. I'm not a big MS hater but here they really made a big mess that probably costs billions...
 

bhanson

Golden Member
Jan 16, 2004
1,749
0
76
What should I learn in order to build a website? And in what order?

1. The first thing you need to do is learn how to design a business plan that answers the question of what your website will bring to the table that others do not.

2. Then you need to figure out the catch-22 marketing system that is inherent to this industry. People will log on to your website to find other people, but without other people no one will come.

3. Once you've figured these things out and have enough capital (hundreds of thousands to millions of dollars for a general site, less for a niche) to sufficiently enter the industry, you should outsource the actual development.


This is assuming you're trying to create a real website. If you just want to learn there are better ways to do it.

[edit] For clarity: The odds of someone building (programming, designing, implementing) a dating website that is even measurably successful without any CS experience--doing the development themselves, is infinitesimally small. A company with a huge budget and a team with years of experience are likely to fail at this, too.
 
Last edited:

Cogman

Lifer
Sep 19, 2000
10,286
145
106
1. The first thing you need to do is learn how to design a business plan that answers the question of what your website will bring to the table that others do not.

2. Then you need to figure out the catch-22 marketing system that is inherent to this industry. People will log on to your website to find other people, but without other people no one will come.

3. Once you've figured these things out and have enough capital (hundreds of thousands to millions of dollars for a general site, less for a niche) to sufficiently enter the industry, you should outsource the actual development.


This is assuming you're trying to create a real website. If you just want to learn there are better ways to do it.

[edit] For clarity: The odds of someone building (programming, designing, implementing) a dating website that is even measurably successful without any CS experience--doing the development themselves, is infinitesimally small. A company with a huge budget and a team with years of experience are likely to fail at this, too.

I disagree. There are lots of situations where basement dwellers have created popular websites. Google and Facebook to name a couple.

Not only that, but I disagree about it being a good learning opportunity. I find that having a project is one of the best learning tools I can have. It drives you too look up new things and learn how something is done. This is something you don't get from just reading a book. It also solidifies the connection between concepts learned and their application.
 

hybridbkrdr

Junior Member
Jan 26, 2011
1
0
0
1. The first thing you need to do is learn how to design a business plan that answers the question of what your website will bring to the table that others do not.

2. Then you need to figure out the catch-22 marketing system that is inherent to this industry. People will log on to your website to find other people, but without other people no one will come.

3. Once you've figured these things out and have enough capital (hundreds of thousands to millions of dollars for a general site, less for a niche) to sufficiently enter the industry, you should outsource the actual development.


This is assuming you're trying to create a real website. If you just want to learn there are better ways to do it.

[edit] For clarity: The odds of someone building (programming, designing, implementing) a dating website that is even measurably successful without any CS experience--doing the development themselves, is infinitesimally small. A company with a huge budget and a team with years of experience are likely to fail at this, too.

I too am starting to learn on the w3schools.com website. How does it cost several hundred thousand dollars to make a website? I mean is it the cost of the servers, the bandwidth, the programming?

If it's the programming, they how/why? I mean I saw The Social Network and there are scenes in the movie where you see people working "plugged-in" like they've been at it for hours. I mean, let's say one page takes I don't know maybe 600 to 3000 lines of code, then wouldn't it just take you one day? Can't you just repeat the same code over and over again for some pages?

And by the way, what do you mean by there are other ways to learn? Which ways would you learn? If I do the tutorials and read a couple of books, what could I do to learn more? (By the way, I wanted to make some sort of "how to" web sites that may only be several pages long.) But, I also wanted to learn to eventually work for clients on sites like Odesk. I mean, how many hours/months of experience do you think you need before taking on commercial clients on Odesk?

And by the way, if I do get to the point where I'm actually making pages, I might post here for feedback. The way I do things however, it might take me a couple of months before things really take off the ground. hehe (even though I already starting doing the tutorials)
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
If it's the programming, they how/why? I mean I saw The Social Network and there are scenes in the movie where you see people working "plugged-in" like they've been at it for hours. I mean, let's say one page takes I don't know maybe 600 to 3000 lines of code, then wouldn't it just take you one day? Can't you just repeat the same code over and over again for some pages?

There are a lot of aspects to it. First there is the design. It's not easy to make a really professional looking site with unique branding and appealing design. A top site will use a professional design house and pay upwards of $150-250/hour, totaling in some cases $100-150k for branding, graphic work, wireframes for individual pages, etc.

Then, yes, there is the programming. You do get a lot of reuse out of well-written framework code, CSS templates, master page templates, JQuery components, etc., each application has its own unique information model. That means a custom database schema, the db access code, custom code for any specific UI effects the design calls for, etc. There is a lot to it, and what with implementation and testing the cost can easily run into the mid-six figures for a non-trivial site that has to handle a large volume of page requests/transactions.
 

Ka0t1x

Golden Member
Jan 23, 2004
1,724
0
71
I mean, how many hours/months of experience do you think you need before taking on commercial clients on Odesk?


Just depends on how you learn but most .. 2-5 Years, minimum. Its also not just the programming here either. Its the experience of how things work. A few harsh blocks of code that aren't optimized that gets hit over 10,000+ times/day... you're going to have a problem.
(ie: You select * from a table that has 10mil records, with no where clause. )

There's also setup cost for the servers, maintenance.. it adds up very quickly.

Just as an example:
http://en.wikipedia.org/wiki/File:Wikimedia-servers-2009-04-05.svg
 
Last edited:

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
I too am starting to learn on the w3schools.com website. How does it cost several hundred thousand dollars to make a website? I mean is it the cost of the servers, the bandwidth, the programming?

Depending on the what the website will do and how many people are accessing it at the same time, it may cost very little per month. If only a 10 people are accessing at the same time, it may be as cheap as a few dollars per month. If it gets accessed by thousands of people at the same time and needs redundant everything, then it'll cost much more.

I mean, let's say one page takes I don't know maybe 600 to 3000 lines of code, then wouldn't it just take you one day? Can't you just repeat the same code over and over again for some pages?

Sometimes you might only do 100 lines of code a day. Lines of code isn't something that you can predict or control. It depends on the difficulty of the task you are trying to accomplish. There might even be days where you have to delete lines of code.

If I do the tutorials and read a couple of books, what could I do to learn more? (By the way, I wanted to make some sort of "how to" web sites that may only be several pages long.)

I suggest that if you want to learn more, you have to be proactive and make a website of your own. I believe the best way to learn is to do it. As you do each tutorial, try to use it in your own project.

It's safe and cheap or free do it. For much less than $10/month you can have web hosting, or do it free on your own computer.
 

BigDH01

Golden Member
Jul 8, 2005
1,631
88
91
Really, pick something smaller and simpler than a full-blown dating website and write it in PHP. You'll pick up experience with HTML, CSS, Javascript, and SQL. There are tons of cheap LAMP hosting sites out there, and PHPMyAdmin (which many of these sites use) will make the SQL setup easy. There is a ton of information online for PHP and it has really strong communities.

I would say that you write your own Javascript from scratch now and then get jQuery later (which will let you easily add animations and AJAX). It's nice to have an idea how basic Javascript works before jumping into something as complicated as jQuery.

I would NOT start with .net or RoR. I do all my programming now in asp.net with c# code-behind, but I am glad I didn't start with this. The controls in .net can be nice and convenient, and the AJAX control toolkit is great, but these controls abstract the HTML from you. IMO, it's important to know how a gridview or tab container actually works and renders in the code delivered to the browser before you use them. And trying to learn this on-the-fly would suck as .net creates pages that are not all that human-readable.

I don't have much experience with RoR, but I've seen people get quite a bit of functionality quite quickly with it. However, when I tried it I just didn't like it. It felt like quite a bit was hidden from me by the framework (not unlike asp.net).

SQL will be pretty easy to pick up as you'll probably mostly be using the same commands over and over. Creating tables and changing permissions will be done with PHPMyAdmin.
 

ezkim0x

Senior member
Nov 25, 2004
320
0
0
I've been thinking about making a small community .. actually i've been thinking about it for a few years now.. but just always had new ideas every few days and moved on to something else.

anyways.. i still really want to make a community, and I don't plan on making it in a few days.. even a few months. I am hoping to have a shit version up in a little over a year that will be functional.. and then I can start working on optimizing it to load faster and be more efficient which i'll pretty much be doing for the rest of the life of the site.

now here is my question.. i'm curious if I should use PHP or ROR.. I've heard that ROR has a little bit easier learning curve but i'm not sure. I do have semi knowledge of html and CSS.. I can't write it out on the spot.. but If I look up what I need I can put it together and make it work using references.. and I understand what each part of the code is actually doing.

with the dynamic coding part I don't know much past the 'echo' command for PHP.. and nothing with ROR.

In the past I did make a lot of scripts in mIRC andI can kinda compare PHP to it.. as far as the aliases being the mysql databases.. and the other commands being the if else when php identifiers.. I can write mIRC scripts on the spot. I believe I may be able to understand PHP a little quicker.. but i'm basically curious if I should just learn ROR instead.. if it has more use in the long run.
 

tatteredpotato

Diamond Member
Jul 23, 2006
3,934
0
76
Experiment around... I started trying to do PHP/Zend work, but I don't care for PHP and found I had a lot better time using Django/Python. Don't focus on the visuals at first... crank out some raw/ugly HTML for awhile before you worry about the looks of things.
 

ezkim0x

Senior member
Nov 25, 2004
320
0
0
I'm sure my stuff will look ugly for a long time haha.. unfortunately i'm not very color coordinated. i'm just going to work on submitting stuff to the database and calling it back for a while.

and i have no desire at all to try and make a logo or any graphics..
 

beginner99

Diamond Member
Jun 2, 2009
5,318
1,763
136
I'm doing a very small, straight forward "project" in php now (=data entry and edit forms) and I can say I hate the language...it's just a mess, IMHO.

@ezkim0x I would start with RoR or what I tried once is Grails (=more or less the same as RoR just from the java world).

I would not pick ASP.Net. IMHO these controls do not help beginners understand whats going on. It also feels more like desktop application development and IMHO that does not help to create good WebApps.
One of your WebApps @work (buyed from a supplier) still runs on old ASP. While it is a mess it works. I also so the successor of it in ASP.net. It's a mess too, full of bugs and any idiot can see, that they don't understand general principles of web applications.
 

BigDH01

Golden Member
Jul 8, 2005
1,631
88
91
I'm doing a very small, straight forward "project" in php now (=data entry and edit forms) and I can say I hate the language...it's just a mess, IMHO.

@ezkim0x I would start with RoR or what I tried once is Grails (=more or less the same as RoR just from the java world).

I would not pick ASP.Net. IMHO these controls do not help beginners understand whats going on. It also feels more like desktop application development and IMHO that does not help to create good WebApps.
One of your WebApps @work (buyed from a supplier) still runs on old ASP. While it is a mess it works. I also so the successor of it in ASP.net. It's a mess too, full of bugs and any idiot can see, that they don't understand general principles of web applications.

You can do asp.net mvc. You still get helpers to automate the tedious stuff and model binding of forms to reduce the amount of code in your controllers. Metadata-based unobtrusive validation is very nice as well. Using razor, your code can end up looking a bit like php (although less logic), but still cleaner imo, and I'd rather use C# for models/controllers than php.
 

Ka0t1x

Golden Member
Jan 23, 2004
1,724
0
71
I have ~7yrs (wow time flies..) on PHP.. and if I didn't work full time using it (for someone else) I'd probably be switching to RoR. Its not blazing fast, but its a framework not a language.
-- I am however switching freelance projects to it when the time comes.

Also if you're using just raw PHP its not a good experience. Its like ruby, much easier with a framework. CakePHP, CodeIgniter, Symfony.. these will help you along the way.

Also a tip for PHP forms.. if you process your form elements as an array, it goes much smoother.
 
Last edited: