As Kirl says, there are no really right or wrong platforms when it comes to demos. Your Java experience and OpenGL investigations should stand you in good stead, whatever language or platform you decide to use. Demo coding in C# is perfectly feasible and can produce some great results. Since you have some experience with Java, that may be a good place to start as the syntax in C# is quite similar to Java, and it's a nice (and fairly forgiving) language to use in my humble opinion. This demo
which came first in the demo compo at Evoke 2011 was written in C# (using DirectX) for example. OpenGL in C# is certainly possible too. Perhaps have a look at the OpenTK
framework for that.
If you'd rather use linux, that's also possible. I don't personally have any experience in this area, but there are quite a few demos
out there made with linux. Some of the ones on that list may include source code too, to help get you started. There are also some OpenGL samples for linux here
too. The Windows demoscene certainly seems to be the major one these days though.
This DBF forum also runs demo competitions now and again, which are a great way to get started. This is what got me back into coding demos again after a 10 year break, and they are great fun to enter. There's a list of previous competition entries here
, and a number of them have source-code included. My entry for the Image Processing challenge
was actually done in C# (using the OpenTK library I mentioned earlier), so you may want to check out the source for that. It's not actually a demo per se, but does use OpenGL.
So, do what you want, with whatever you want on a platform of your choice. The main thing is to have some fun and make something you like and enjoy looking at (hopefully). We're a friendly bunch here, so please shoot questions and we'll do our best to help
Good luck and have fun!
ps. a coffee machine demo would be pretty cool!