In short I want to start developing web related apps that people can easily 'plug-in' to their own site (like a Chat, Video Streaming, MP3 Player).
What would be a good language for doing this?
In short I want to start developing web related apps that people can easily 'plug-in' to their own site (like a Chat, Video Streaming, MP3 Player).
What would be a good language for doing this?
Javascript is the best choice. It's also the most widely supported, and doesn't require 3rd party plugins. It also gives you plenty of rope to hang yourself with!
Otherwise I'd say Silverlight or Flash.
Silverlight is great if you are a .NET Developer, but it requires a plugin and isn't as widely adopted. It also has the negative connotations associated with MSFT. There is also Moonlight by the studs behind Mono, which gives you an open source option for development.
Flash is the standard for "rich" content, but with HTML5, Flash is finding increased competition. It's good, but does require proprietary toolchain to build flash apps.
For examples you listed (chat, video, mp3), I think the options are Flash, Silverlight, or standard JavaScript. The first two may make the flashy features easier, but they require browser plugin. If you choose to do standard JavaScript, the backend could be whatever you are comfortable with: Ruby, C#, Java, PHP, Python, Perl, SmallTalk, etc.
With your intention to plug-in easily into 3rd party sites, Javascript is the best choice. The latest web browsers and the upcoming html5 standard make this choice even better. Certainly, Flash and, to a lesser extent, Silverlight will continue to play a role for some time, but unless you are readily proficient with these technologies, I'd look into GWT (Google Web Toolkit) or similar tools (1)
For the client-side: Essentially, with GWT you write the client-side code in Java, and this gets converted to a series of static optimized javascript sets (one for each of web browsers makes/versions you target). If there is no server-side logic required, these can be deployed on any web server without any further requirement.
On the server-side: Server-side logic can be supplied with java which is typically readily or easily available on most hosts. It can also be supplied with most any language/framework (ASP.NET, Struts, PHP...) that you believe "your" 3rd party sites will support. If you stay with GWT for the server side, you're "all set", if you use other languages, you'll just need to ensure that you can read/write json messages and hook in a relatively simple RPC framework.
(1) I'm only familiar with GWT, but I know MSFT has (or had?) Volta. I wouldn't be surprised if many similar tools were readily available or were to show-up shortly.
Basically these tools are "little more" (!) than compilers for the new machine code i.e. javascript. I know these type of comments may bring SO deductions from proud javascript jockeys, and to be sure, we'll still need geniuses in this area, but the masses can now focus on their application details, at a higher level of abstraction, instead of dealing with the cross-browser compatiblity blues or heavy optimization issues.