1) If you want to design a good interactive blog, learn HTML, CSS, Javascript, PHP, and MySQL. Those will be the building tools you will need to create a good blog. HTML is for your static content, CSS is used to create not only themes, but more elegantly place items on your pages, Javascript is always useful for mouseover, onclick, onhover functions, PHP and MySQL is what you will need to create a forum, guestbook, login, anything of the sort.
2) If you are going to work on a large scale website with large amounts of data and volume, you will need to have a strong background in databases, if not even distributed database systems. Program design and design patterns will also help that way when you write your site you can write it to be scaled easily. Advanced internet programming, understanding how webcrawlers and robots.txt work, and keeping up to date with webmaster guidelines for browsers such as Google are also important.
3) If you have to choose between Java and C++ this summer, I would actually point you to C#. I know, I know, it's a Microsoft product, BUT, the use of ASP.NET applications is very large. C# is your inbetween Java and C++ and web design. Java and C++ code at the nitty gritty is pretty much similar, if you know one, you generally can pick up the other very quickly. C# is OO like Java and will become a nice compliment to PHP. It definitely won't be a walk in the park, most VS.NET languages aren't pretty, ASP.NET and C# defintely aren't close but that's what I would recommend.
Also note, while Java and Javascript have similar names, they are two separate entities. Knowing one helps know the other, BUT, doesn't necessarily mean actual code can carry over.
4) CSS - Cascading Style Sheets. These files link up to your HTML pages and provide definitions to your HTML elements. Instead of using
the
element is given an ID which will relate an item on your CSS page. From the CSS page you would define the width of the
element. Each element though has a wide range of other properties you can manipulate. This keeps the HTML page a little neater, while allowing you to update the whole site by just changing this one file.
PHP - PHP is server side langauge. There are two places action can occur, on your computer, or the server. PHP works off the server. PHP allows for the creation of dynamic content. Dynamic content being customized content for you that responds and change to the way you act. Most websites today are dynamic. You feed it information, email, password, and it kicks back to YOUR page. That's server side code at work.
MySQL - MySQL is a database language. When you create a guestbook, a forum, anything where data is taken, it needs to get stored someplace. MySQL DBs are what hold this information. For website design if you are using PHP, learn the PHP MySQL commands along with the standard MySQL queries. When a page loads up forum topics or guestbook entries, it has to query the DB and then spit out the text on HTML. You would use a combination of PHP, CSS, and HTML to get it to look nice.
CMS - Content Management Systems are made to help simplify the process. They mainly will fall under the WYSIWYG model (What You See Is What You Get). Something as simple as MySpace would fall under this catergory. Moving away from this you have the Control Panel. If you hosted webspace is something you will deal with on a constant basis. Every webhost has a control panel. Some are easier to use than others to upload your site. Some even include kits to upload prefab sites and/or forums.