I am currently fluent with html and css. My goal is to create a website where there will be tasks for site users to gain points for completing certain tasks. Tasks include reviewing a material they used which they will gain points for if the review is useful, points are also expendable. They can spend these points on special features in the site.

The website as i imagine will also need to run by itself pretty much. The website will also be a place for people to upload files that they want review of. The reviews will hopefully be sent to their email as site users download it.

We would also like a sort of file hosting system/feature to be implemented in the site that users will be able to upload and the consumers will download it all through our website.The downloads on certain material will be sent to their emails through a unique link or code(whichever way this could work so that the download file will not be redistributed). We would like a terms of agreement notice before the download so that if its not accepted they cannot download the file.

The files will be generally big and we expect alot of traffic on the site. My question now is where do i start. More like what Proggraming language will be beneficial to create this. I'm also not sure if this would be a Web application or just a dynamic site.

Please List the individual program languages for each task . Thank you very much for reading this question!

You can use one of two common languages, PHP or ASP.NET.

These are two server side languages that allow you to communicate with a database (if using PHP, MySQL would be my advice) and also allows you to do the cool features you are wanting.
I would however offer a word of warning about file uploads, you need to be extremely careful about what files you allow a person to upload as it can be extremely dangerous.

thank you for the reply. May i just ask if ruby on rails would work with this?

Nothing wrong with using Ruby on Rails, I only suggested PHP and ASP because they are extremely common, if you really wanted to you could use C++ or another high profile language.

ah thankyou this makes sense now, i used to think that each one was used for a certain thing but im starting too understand that they can all achieve the same outcome but its easier in certain languages.

Not necessarily easier, some languages do have specific jobs.

C++ wasn't initially designed to be used for web development, and it is very bulky to use it for such a task, plus it is a lot more difficult to learn and more time consuming to use.

PHP, ASP and Ruby on Rails are designed for the web, Ruby on Rails is a framework, whereas PHP and ASP are just the plain languages (not to say they don't have frameworks, such as CakePHP and WASP).
On the otherhand, ASP is Microsoft specific whereas PHP is maintained by a company called Zend, a lot of it is personal preferance, but that isn't to say some don't have their perks.

To add, i think there is some confusion about ASP and ASP.NEt since both were mentioned in this thread. They are not the same.

ASP.net is a framework. You could develop in asp.net using c#, vb.net, and other languages. Where classic ASP would more similar to PHP.

commented: Thanks for clearing that up JorgeM. +4