Is it better to learn html, javascript, php, then mysql if you want to start your site? Is it better to learn it in that order or not?

  • 1
    You should learn CSS immediately after you've learned HTML, you do want your website to look good, don't you? – Mahmoud Hossam Mar 14 '11 at 2:06
  • 1
    This is borderline off topic due to the "or do you think i should study java?" part. Remove that and it's just about OK. – ChrisF Mar 14 '11 at 11:03
  • People still make sites using server side Java? – James Love Mar 14 '11 at 12:29

To write your own web pages (that are more than just you basic set of static pages held together with simple links) you will need to learn:

  • HTML:
  • CSS:
  • Javascript.

Though there are tools to help you generate these you will need to understand these technologies intimately to use them well.

To be able to generate the above you will need to learn:

  • PHP (or one of the other scripting languages)
  • Smarty (or the appropriate template engine for your language).
  • SQL (mysql is a common implementation of the technology)

Though you could learn Java instead of PHP (I personally (but others will disagree) think that PHP is better for web page generation). Java I would use to build more application/service like constructs were strong(static) typing is useful.

  • Thanks. I was thinking of learning html, css, then skip javascript to learn php and msql but I'll will you and the rest here. – Mugetsu Mar 16 '11 at 0:58

Learn them all at the same time. They all can work well together.


This seems likely to be closed, but don't bother learning Java yet. Java is not the same as Javascript. Start by understanding HTML. Then add PHP to dynamically create HTML with database connectivity via MySQL. I suggest learning HTML first because it is important to fully grasp the markup language before attempting to either dynamically create it with a server-side scripting language (PHP) or to attempt to modify it on the fly on the client side with Javascript.

  • Thanks; I'm a computer science major so I have to learn java. – Mugetsu Mar 14 '11 at 2:53
  • On the other hand, if you learn Java, you can have server-side JSP and the front end in GWT and not have to learn 2 languages to begin with. – Wooble Mar 14 '11 at 2:53
  • 2
    Learn the other languages anyway, GWT is specific to java, but HTML, JavaScript, and CSS can be used with any server side language – jmort253 Mar 14 '11 at 3:00

To follow up what @SnoopDougieDoug said, if you're going to be going whole-hog and learning server-side scripting, you'll need a server of some sort to run PHP and MySQL on. Apache is probably the most common way to run it. If you don't want to pay for a hosting plan somewhere just to learn on, you can look into either Uniform Server (http://www.uniformserver.com/) or Xampplite on PortableApps if you want a relatively simple (and portable) dev environment.



I think you can start all at the same time, with a good tutorial. For example, a PHP book can cover them all in approriate order. The best way to learn things is to apply them.

About Java, it is another server language, and could be used in replacement for PHP: Java, HTML, mysql, javascript. You can find some ebook about java web developing.


LAMP (Linux, Apache, MySQL, and Perl, but many are now saying Php or Python), is the a good start.


With the nosql movement getting ever stronger,new web developers should re-examine their database needs.Most ORM's in popular php web frameworks have a thing for sql.My advice would be to know what you need to achieve your goal and what tools you need.Somewhere down the line,many developers will look for options other than sql.


Personally I would say HTML, CSS, Javscript (or now jquery), PHP, Mysql.

So learn what is possible in the front end before you learn to manipulate it with the backend.

  • 1
    I don't think that JQuery should replace learning Javascript. After all, JQuery is just another Javascript library and not a language of itself. – Jetti Mar 14 '11 at 11:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.