Hacker News new | ask | show | jobs
by andrepl 6326 days ago
wow. that post is terribly incorrect. get your facts straight. "Django, PHP, Rails, Tomcat, Jboss" ? as far as I know, only one of those is an application server (Tomcat?) Though I dont know what JBoss is, so maybe it is too. PHP is a Language, and django and rails are frameworks.

also, your comment about only needing server-side code if you have a high-volume site? wtf is that supposed to mean? static HTML would survive a slashdotting a lot better than any dynamic site ever could.

What are you doing here?

1 comments

Considering he's been a member about 200 times as long as you I don't think that's very nice.

I think Russel tries to make a good point but goes about it in a confusing way, let me try to rewrite his post so it makes more sense:

Start with a static website on your own computer, this will keep things simple. There are so many technologies that you could apply to web development that by limiting yourself initially you'll stand a better chance of succeeding and not being overwhelmed.

You need to learn things in this order.

HTML

HTML is the language that web pages are built in, it is the foundation of the web. Since its introduction it has gone through several improvements / changes so make sure you get a tutorial that shows you things the way they are done now, not 12 years ago.

CSS so you can style your pages

CSS stands for 'cascading style sheets', and is used to give pages their 'looks'. Best practice these days is to uncouple 'looks' and 'layout' from 'content'. This is a difficult concept to get your head wrapped around because initially it seems like things are being made harder on purpose, but as you get more proficient you'll find it easier until you start wondering why people did it any different.

JavaScript so you can do dynamic things

JavaScript is a programming language that has become the standard for extending web page functionality on the client side. JavaScript is probably the easiest way to get your feet wet with programming, because you do not need anything but a browser in order to learn and practice with it. I'd personally advise you to use a browser that has a JavaScript console such as firefox so that you can see the cause of any issues in case your programming is less than perfect (which it is bound to be initially).

JQuery makes JavaScript much easier

JQuery is a library of javascript code that allows you to perform much needed functionality without having to code it all up by hand. It also gives you a good sized chunk of code to look at so that you can learn from other peoples code.

With this you can actually publish a fully functional web site with a hosting company.

But up to this point it will still be a 'static' website in the sense that no programs are running on the server side.

If you want to do more complicated things, especially things that produce pages that are different based on the 'state' saved on the server then you will need to get into server side programming. Server side coding is used for almost every serious website nowadays, almost every website that you are a regular user of will have lots of server side programming done, even if the output of that program looks like any other webpage.

The server side is needed if you have a high volume site or one with dynamic content, such as a shopping site or with visitor created content.

In order to create dynamic web pages you will need to have a server, and you will need to install an environment on it that allows you to run the code that will produce the web pages on the fly.

There are a great number of choices that you could make at this point, you'll need to consider which language you want to use (the most frequently used language for web page creation, not neccesarily in order of my preference are: php, perl, python, asp, rails, java, the site you are readin this on is written in 'lisp').

Underneath that language there has to be a 'webserver', which can be a general purpose web server such as 'apache', but it can also be a language specific 'application server', such as TomCat (for java) any one of a whole slew of these, for a list see http://en.wikipedia.org/wiki/Comparison_of_application_serve... ).

For that you need an application server: Django, PHP, Rails, Tomcat, Jboss, etc.

Because a server side application will almost always store state (stuff that remains on the server even if the user isn't there) you will need to get some knowledge of databases at this point. Contenders are PostgreSQL and MySQL.

About that time you will need to think about databases and SQL.

My advice is to learn how to create good pages before learning the server side.

And I fully concur with that.

Thank you for your expansion, just what I wanted to say. I was at work and severely time limited. My real point is that there is a huge amount to learn. The place to start is with good pages. I actually learned in the reverse order starting with SQL, but I spent a couple of decades at it.
De nada, I figured something like that was the case :)