Comparisons of GUI toolkits, RDBMS, and Development Environments
Prepared By: Syed Feroz Zainvi
More notes available at: http://www.computer-science-notes.blogspot.com
Highlights yQ Qt Vs MFC y MySQL Vs Oracle y VC 6.0 Vs Visual C++ 2008
Qt Vs MFC Feature
Qt
MFC
O Overview i
G hi l C Graphical C++ ttoolkit lkit
Graphical G hi l toolkit t lkit for f Windows OS
Vendor
Initially, Trolltech. Now, Nokia
Microsoft
Year of Introduction 1994
Mid 90’s
Object Orientation
Clearly Object Oriented
Object oriented wrapper over Win32 API (Awful C/C++ Mix)
Platforms Supported
Windows, Unix flavors, Mac, Windows Embedded Devices
Design Model
Does not force any design model
Forces use of Document/View model and p Leads to templates. Difficulties.
Consistency
Consistent: naming, hierarchy, class organization
Lesser consistency, More tricks
Qt Vs MFC Feature
Qt
MFC
Communication C i ti Mechanism
Signal-Slot Si l Sl t callback llb k mechanism. Simple & Powerful.
Event-driven E td i fframework. k Not easy leading to problems sometimes.
Layout Mechanism
Supported
Not supported leading to problems when resized or translated
Designer Tools
Qt Designer. More powerful.
Resource Editor. Limited Capabilities.
Manual GUI Design
Easy and intuitive
Tedious
Documentation
Excellent. Just 18MB Excellent 18MB, integrated, and easy browsing & search.
MSDN Lib. Lib To be purchased, bulky, and search & browsing not easy
pp Unicode Support
Everyy string g is Q Qstring g (natively unicode). Conversions available.
To support pp unicode,, code changes are required. Problems due to DLL mismatches.
Qt Vs MFC Feature
Qt
MFC
I t Internationalization ti li ti
Justt single J i l method th d tr() t () takes t k Complex C l procedure d care. XML-based QtLinguist, involving string tables, supporting reusability also. LoadString(), conversions, updates, p , overlaps. p
Concept of Resources
No such concept. Only readable code.
Mostly, dependent on resources – can be edited using VS, Conflict problems
Cost
Free under GPL for Unix flavors and non-commerical Win apps. For commercial, Wi apps, costt iis $1 Win $1550. 0 Still worth investing it.
Visual Studio has free MFC SDK
Distribution
Names its DLL explicitly (qt- Can rely on Windows DLL mt404 dll)ÆSo no problems MFC42.dll mt404.dll)ÆSo MFC42 dll . If required to update then can cause problems to other programs.
Qt Vs MFC Feature
Qt
MFC
Mi ll Miscellaneous
Richer Ri h Widgets, Wid t XML support, Robust Templates classes, Memory Managements, g , N/W / API,, DB API, OpenGL API, Canvas, CSS
N/W API, API DB API, API STL exists but not as powerful as in Qt. No built-in XML parser,, memoryy p management.
Qt Vs MFC Conclusions Things can be done in both Qt & MFC but - Q Qt is technicallyy better - Memory, Speed, and Programmer efficient Qt is available with its own IDE: Q Q Qt Creater - Using 3rd party libraries may require tweaking Also,, available as Visual Studio plug-in p g - Tweaking not required for lib supported by VS but Qt used in limited way.
MySQL Vs Oracle Features
DB2 SQL Server MySQL
Oracle
Features
DB2 SQL Server
MySQL
Oracle
MySQL Vs Oracle Feature
MySQL
Oracle
Vendor
Initially, MySQL AB. Now, Oracle Inc.
Oracle Inc.
Open Source/ Proprietary
Open Source
Proprietary
System Requirements
Lesser compared to Oracle
More compared to MySQL
Limitations/Restrictions
Constrained by OS / HW
Oracle imposed constraints
Platform Supported
Multiple
Multiple
Languages Supported
Multiple
Multiple
Cost
Community Server: $0 no support. Enterprise Subs: $595+/server
$24000/ CPU including support & updates
MySQL Vs Oracle Conclusions - Oracle is industry player - MySQL y Q is technicallyy better - MySQL performance is comparable to Oracle - Used by y Google, g , Yahoo,, …. Growing g user base
Future of MySQL
Future of MySQL
VC++ 6.0 Vs Visual Studio 2008 Advantages of Visual Studio 2008 over Visual C++ 6.0: y Much more standards compliant C++ compiler compiler, with better template handling y Support for x64 / mobile / XBOX targets y Improved STL implementation y Support for C++0x TR1 (smart pointers, regular expressions, etc) y Secure C runtime library y Improved code navigation y Improved debugger; possibility to run remote debug sessions y Better compiler optimizations y Many bug fixes y Faster builds on multi-core/multi-CPU / systems y y Improved IDE user interface, with many nice features y Improved macro support in the IDE; DTE allows access to more IDE methods and variables y Updated MFC library (in VS2008 Service Pack 1)
VC++ 6.0 Vs Visual Studio 2008
Disadvantages of moving to Visual Studio 2008: y The IDE is a lot slower than VS6 y Intellisense still has performance issues (replacing it with VisualAssistX can help) y Side-by-side Sid b id assemblies bli make k app d deployment l t much h more problematic y The local (offline) MSDN library is extremely slow y Third-party tools support is fewer for Visual Studio 2008 e.g. there's no profiler in the Professional version
References yQ Qt Vs MFC: { http://phil.freehackers.org/index.html { http://qt.nokia.com y MySQL Vs Oracle { http://builderau.au.com/architect/database { http://www.mysql.org http://www mysql org y VC ++ 6.0 Vs Visual Studio { http://stackoverflow.com/questions/62389/what http://stackoverflow.com/questions/62389/what-are-theare the differences-between-visual-c-6-0-and-visual-c-2008
Channel Partners
Thank You
Keep visiting: Cross Roads Computer Science Notes Motivation For Ultimate Success Internet Chaupal Health & Fitness Distributed Simulation