> 1. It's already deprecated/discontinued. I don't know if .NET is right for > us and our clients. > 2. We're having constant problems just deploying Windows apps > because of the > incompatibilities between different Windows platforms and stealth > versions. > 3. The standard Windows component installation scheme (ie. copy > a DLL into > a system-wide directory) is bogus, and leads to lots of headaches. > 4. VB doesn't have many modern features as standard that some languages do > (ie. zip compression enconding) > > 5. I want to do real OO coding in the interface. I want to be able to > subclass GUI components, add new features, and let app developers > drop these > new classes into their IDEs (or at least code with them) as first-class > components. (ala Javabeans). Well, then, you should check out .NET :) Not that all your problems are solved, but they've tried to improve things. #2/#3) .NET assemblies are usually contained in a .dll. The .dll now has to be local or in the GAC (global assembly cache). The GAC is sort of a system directory containing everything, but it's actually a special directory. First, before assemblies are allowed in the GAC, they must have a digital encrypted signature and version. This allows assemblies with even the same basic name to exist simultaneously on the same box, because the digital signatures will differentiate the two .dlls. You can have multiple versions of the same assembly in the GAC as well, it lets them co-exist. Programs that use these assemblies have to reference them by digital sig and version number, so there's no mixing up. #5) any .net language must compile down to .net IL (intermediate? language), and it has similar Java-esque OO features. Reflection and full GUI inheritence. Web pages (.aspx) and Windows forms can both be subclassed with ease, as well as anything GUI -- all objects are objects, GUI or not. And if you don't like how they had munge VB to get it .NET-able, you could consider using C#, which has more of a Java feel to it. Don't get me wrong, I'm loving everything Ruby I've been doing on Windows lately, and it's much more fun (and flexible) to code in than C# ... but I have yet to actually do a medium sized GUI, and I have a little apprehension about trying that with FXRuby compared to the fancy GUI designers I'm used to with Delphi and now .Net, though I'd love a good excuse to give it a shot. :) If you go Ruby, you'll be distributing your source code, unlike** with .Net. You might also run into some frustrating distribution issues (making sure the right dependent libraries are installed and the like, really nothing much different than your current issues, though there'll be less .dll hell), though I think they're all manageable. > I believe that moving to a language that > strives to be cross-platform (and I'm looking at Ruby, Java, > Python, Perl, & > Smalltalk) will, by its very nature make the Windows-only > deployment go much > smoother for many reasons. I'm not sure this'll be the case. Plus, one of the more frustrating areas I've run into with Ruby is its birthing in *nix-land. Windows support is good, and win32ole gets me a long way, but sometimes some of the 3rd party libs people write are *nix central and that's frustrating. Chris ** (sorta, there's the whole reverse engineering byte code and obfuscation issue in .Net like in Java)