Using thin clients in an enterprise or small to medium business environment gives you a lot of benefits to the long term bottom line. From a security perspective, you cut the "attack surface" of your network very sharply - from dozens if not hundreds or even thousands of desktops that each need antivirus, security updates, administration, and security monitoring, down to a handful of servers that you can lock down pretty tightly. From a support perspective, you are no longer managing all those desktops, you are now managing a handful of servers.
BULLSHIT From that statement alone I can only surmise that you have never ever worked in IT, the client is ALWAYS part of the equation, a thin client still has firmware and connectivity issues. Not to mention that rolling out any sort of network upgrade goes from being a minor project, to a critical time sensitive operation. Furthermore there is some benefit to having the infrastructure distributed, if your central server fails (and it will) then you're entire company can continue to work locally while you repair or rebuild.
Now, once you've gotten your THICK client computer, running your THIN client setup (wait... is it Windows 7? Is that thin client possible? Or is it "thin" client possible?).
Technically with Windows 7 enterprise you can set up a client to boot from a VHD (I have seen this implemented as this is how Windows deployment services works), and in-fact to use network licenses of software(office etc.) however I've never actually seen this implemented. That said you could in theory go for a medium client? if that is a term? where the software is run locally but is based on network licenses. Personally I wouldn't want to try it, but that's me
I don't think it's really correct to call anything in Silverlight a "web app" not only is it a client based runtime... but it really didn't get the necessary features to support a full featured webapp until Silverlight 3. What Silverlight is... is a step between a clickonce app, and a web page. I think MS's message is going to start becoming along these lines: "If you can do it in HTML5 the do, if you can't then use Silverlight." What that message says to me is that Silverlight is for apps that you want to make REALLY REALLY easy to deploy and are willing to live with the restrictions Silverlight places on that application.
<rant>Personally I think the tragedy of Silverlight... and indeed
Right now, I'm using C#, Windows.Forms, and Managed DirectDraw for graphics. DirectDraw is very fast at creating and rendering graphics, it does a good job. It's a little tricky to set up, but performance is much better than System.Drawing. I do get tons of warnings that my code is using classes which are marked as deprecated, and the built in XML documentation is also drowned out with a big long warning about how DirectDraw is deprecated, blah blah, then finally when you look at the last sentence, there's your actual documentation.
Also, the program is made for a Windows XP machine, and refuses to run on another Windows 7 machine. I have no idea which dependency it doesn't like.
For C#, SDL is a non-starter. There is an SDL library available, but you are restricted to only using the single SDL window that's created, you can't make other windows or controls in that window. There is also a SDL panel control for Windows Forms, but it's a bad joke that draws to the screen by assigning System.Drawing.Bitmap objects.
The one SDL object per form...that is because WinForms is very thinly wrapped MFC/GDI+ and while for very simple UI applications it works great. It is fundamentally limited due to the fact that it is legacy reaching back to the 16bit windows days and is dependent on USER and GDI objects (these are very limited resources) and also has NO hardware acceleration on most machines.
As for DirectDraw... that IS the reason it doesn't work on Windows 7, Microsoft doesn't even ship those libraries to 7 unless they are specifically installed by the user, and why would they! They have Direct2D, a well designed (but currently buggy because it's new) framework. If you're programming
While I know the OP wasn't interested really in 3D as a C# guy I have to give a shout out to XNA which has some excellent 3d capabilities from a managed language, I wish that MS would allow others to implement XNA as it would be a major boon to linux gaming if they did
To para quote a former boss of mine who worked on the Windows 95 team:
"Oh we never coded any thing in Perl... if we needed anything we just asked Larry to do it"
-David Theilen
Today is a good day for information-gathering. Read someone else's mail file.