I've been developing professionally for 25 years, and used a good many languages and environments in that time, including all of those that you mention.
The vast majority of our development these days is web delivered apps, which in general appears to be the way things are going, certainly in the Enterprise. They might be a bit more work to develop, but from a deployment and maintenance point of view they're fantastic.
Of course, you'll need a server side language, and whilst C# and the Microsoft
This setup doesn't however exclude you from developing "local" desktop apps, as something like XAMPP (which you'll probably use for your development environment anyway) will give you a pretty small install that includes a web server, database, PHP and various admin utilities, which can be dropped on the user's machine. In a small production environment, you can also use XAMPP on a server. If the size of your installs is a major issue, then there are a number of tiny web servers which can just be dropped onto a client machine, and I set up one a while ago which included PHP and the relevant libraries that came in at under 2.5Mb when compressed.
If you go the PHP route, also consider using something like CakePHP for building your back end. It's a modern Model-View-Controller framework which provides a simple and scalable way to build a model driven back end, handle routing to give your application structure, and maintain a separate set of presentation pages, which depending on your application may simple be dumping out JSON or XML data. CakePHP will even automatically build you a "scaffold" which is essentially a simple web application for administering your database. You'll probably not want to use this scaffold for anything other than testing, but you get a lot, very quickly, for very little effort, and it's a good way to learn how it all fits together.
There are a lot of very good free applications out there which you can use, especially if you choose PHP as your back-end language, and with one exception (a designer for ExtJS front-ends from Sencha which is great for prototyping) everything I use day-to-day is free, and in most cases cross-platform:
- XAMPP (Apache, MySQL, PHP, FTP server, essentially a full server back-end which you can run locally on your machine)
- Netbeans (in my case the PHP version, which is comfortably the best development environment I've found, with recent versions of Visual Studio coming in a close second)
- MySQL Workbench (a great admin and database modelling tool)
- TortoiseHg (a front-end for the Mercurial version control system, which integrates nicely with Netbeans, but the Windows version also includes a handy shell extension)
- Google Chrome (very fast and includes excellent web developer tools, but also consider Firefox with Firebug)
- ExtJS (you can use the Open Source version until you have your apps ready, and then just pay a very reasonable annual subscription which also includes support)
- IETester (Windows only. Allows testing of your app/website in all versions of IE since v5.5)
- OpenOffice.org (as a development tool, I use it to put together PDF form templates which my back-end applications fill in, but it's also a damn good office package)
- VirtualBox (for setting up test environments, and copies of client production environments if you're in a position to do so)
- AutoHotkey (Windows only. At a basic level allows the setting up of hot-keys for various tasks if you're a keyboard oriented developer, but also offers full scripting if you need it)
- VirtualDimension (again, Windows only, but gives you multiple desktops, allowing you to better organise the applications you have running)
- Filezilla (an excellent FTP client)
- 7zip (very handy and flexible compression/decompression tool)
- The Gimp (you're likely to end up drawing icons and cutting up pieces of artwork if nothing else)
Whilst others will no doubt have different preferences, I've tried a lot of different tools and settled on these as the best for my requirements.
Once you start using these sorts of tools, you'll quickly realise just how good they are, and may like to make a donation to the relevant projects.
The one thing you'll definitely find and absolute ball-ache with web app development is browser compatibility issues. You'll need to test in all of the browsers you can get your hands one, and invariably everything will work fine except some if not all versions of IE, which will require some tweaking. Using ExtJS and/or jQuery will help a lot as they include work-arounds to handle most of the common problems, but there will still be plenty of frustration ahead.