Java: general purpose; used especially for Android (phones and tablets), websites created by corporations, and sometimes embedded systems (like the chip that runs your washing machine) or desktop software. According to many polls, it’s the most popular programming language.
C++: general purpose: rarely used for websites unless they are very high-volume and highly optimised; the language of choice for 3D games; very good at allowing you to efficiently manage memory and good for anything requiring smooth realtime execution. Also used a lot for desktop programs in general, for creating operating systems and anything where you have to interact with hardware at a “low level”.
C: C++ was built on C, so there is a lot of overlap between the two. It’s extremely fast and is the language of choice for writing operating systems, device drivers and other programming languages, and for programming embedded systems. C++ can be used for these things too, but C lets you squeeze out just a little bit more performance.
Python: general purpose. Slow compared to the first three, but very good for creating websites and dealing with data. You can often put together a Python program more quickly than you can with C, C++ or Java, but it’s not used so much for commercial software that’s distributed to end users.
Perl: before we had Python, we had Perl. It’s still popular, and is great for munging large numbers of text files, producing reports or automating some kinds of system administration. Also good for websites. Probably a bit faster than Python, but harder to read.
Ruby: a bit similar to Python and Perl, sort of. Often used to create websites, but not quite as popular as PHP and Java for that purpose. This is the only language on this list that I’ve barely used myself, but it has some serious fans out there, so it must be good.
C#: This is a language devised by Microsoft; it’s like an improved version of Java and is now available on lots of non-Microsoft systems, but it can’t quite fully get rid of the Microsoft association. Very good for creating Windows desktop programs, since Microsoft C# includes a really nice visual designer. Also used to create websites with ASP, I believe. I hope it continues to spread its wings, because it’s a great language.
HTML/CSS: this isn’t really a programming language, but is used to create web pages. Languages like Python that can be used to create the “back end” of websites — the bit that interacts with a database — ultimately work by sending HTML to a browser. HTML provides the structure of a web page, and CSS styles and re-arranges the basic structure.
PHP: This is used exclusively to add functionality to HTML. Often it’s actually mixed with HTML, and allows you to retrieve data and generate HTML in useful ways before it’s sent to a user’s browser to be displayed. When it comes to connecting a website to a database, PHP is probably the most popular technology in use, especially for home users. Facebook uses it, for instance.
SQL: This is a language that is specifically used to work with databases, creating database tables, retrieving or adding data, performing queries and so on.
Assembly: in a sense this is the most powerful and most general purpose language of all, but you’d have to be nuts to use it for anything other than certain very specific purposes, like helping to write operating systems or device drivers. It translates the binary machine code used by a computer into something a human can read and type easily, but it had better be a very skilled human who understands how CPUs work in detail. Writing things in assembly is very time-consuming, but fun if you’re that way inclined.