OmenFelix wrote:I wonder, what difference is there between Express, Professional and Ultimate? I've always used Express and it works just fine. Infact VC++ IMO is the best IDE a man could ever program in. :P
Speaking only in terms of Visual C++, with each edition adding to the previous:
Express
This is the totally stripped, essentials-only edition.
Professional
- Compilers for x64 and Itanium architectures (note: you can get these for Express via the Windows SDK)
- Compilers for MSI/ClickOnce installation packages
- Tools for testing code (unit tests)
- Editor for resources
- Editor for XML/XSLT
- Browser for SQL Server databases
- ATL (which enables you to use WTL)
- MFC
Premium
- Tools for testing databases
- Tools for profiling code
- Tools for performing static code analysis (code metrics only work for managed languages, not C++)
Ultimate
- Extra tools for testing code (load tests)
- Extra tools for debugging code (IntelliTrace)
- Tools for generating reports
- Tools for architecture design
- Tools for database development
Ultimate is essentially Premium with more features for working in very large teams, at 3x the price.
These aren't comprehensive lists and if you really want to know the precise differences you should look around online or contact a Microsoft sales representative, but it's a pretty good overview. There are also some extra editions I don't mention because they're aimed at roles other than development (testers, architects), and I am assuming that you were asking from a programming point of view.
Most people can get by with Express and third-party tools to supplement the features of Professional (WiX for generating MSIs, not using resources, using wxWidgets or Qt rather than ATL/MC, etc.), but for any serious project where speed or security is a concern, you really need Premium. There are precious few profiling tools for Windows that are compatible with Visual Studio, and I don't think any of them really properly integrate with the environment. The static code analysis comes with some helpful rule sets for finding bugs and security vulnerabilities in Win32 code.
Edit: Professional has unit tests, Ultimate has load tests, and IntelliTrace is for debugging, not testing. I also added a paragraph stating that my list isn't comprehensive.