Comparisons of GUI toolkits, RDBMS, and Development
EnvironmentsEnvironments
Prepared By:
Syed Feroz Zainvi
More notes available at: http://www.computer-science-notes.blogspot.com
Highlights
Qt Vs MFCQ
MySQL Vs Oracle
VC 6.0 Vs Visual C++ 2008
Qt Vs MFC
Feature Qt MFC
O i G hi l C t lkit G hi l t lkit f Overview Graphical C++ toolkit Graphical toolkit for Windows OS
Vendor Initially, Trolltech. Now, Nokia
MicrosoftNokia
Year of Introduction 1994 Mid 90’s
Object Orientation Clearly Object Oriented Object oriented wrapper over Win32 APIover Win32 API(Awful C/C++ Mix)
PlatformsSupported
Windows, Unix flavors, Mac,Embedded Devices
WindowsSupported Embedded Devices
Design Model Does not force any design model
Forces use of Document/View model and templates. Leads to pDifficulties.
Consistency Consistent: naming, hierarchy, class organization
Lesser consistency, More tricks
Qt Vs MFC
Feature Qt MFC
C i ti Si l Sl t llb k E t d i f kCommunicationMechanism
Signal-Slot callback mechanism. Simple & Powerful.
Event-driven framework.Not easy leading to problems sometimes.
Layout Mechanism Supported Not supported leading to Layout Mechanism Supported Not supported leading to problems when resized or translated
Designer Tools Qt Designer. More powerful. Resource Editor. Limited Designer Tools Qt Designer. More powerful. Resource Editor. Limited Capabilities.
Manual GUI Design Easy and intuitive Tedious
Documentation Excellent Just 18MB MSDN Lib To be Documentation Excellent. Just 18MB, integrated, and easy browsing & search.
MSDN Lib. To be purchased, bulky, and search & browsing not easy
Unicode Support Every string is Qstring To support unicode, codepp y g Q g(natively unicode). Conversions available.
pp ,changes are required. Problems due to DLL mismatches.
Qt Vs MFC
Feature Qt MFC
I t ti li ti J t i l th d t () t k C l d Internationalization Just single method tr() takes care. XML-based QtLinguist, supporting reusability also.
Complex procedure involving string tables, LoadString(), conversions, updates, overlaps.p , 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-commericalWin apps. For commercial, Wi t i $1 0 Still
Visual Studio has free MFC SDK
Win apps, cost is $1550. Still worth investing it.
Distribution Names its DLL explicitly (qt-mt404 dll) So no problems
Can rely on Windows DLL MFC42 dll If required to mt404.dll) So no problems MFC42.dll . If required to update then can cause problems to other programs.
Qt Vs MFC
Feature Qt MFC
Mi ll Ri h Wid t XML N/W API DB API STL Miscellaneous Richer Widgets, XML support, Robust Templates classes, Memory Managements, N/W API, DB
N/W API, DB API, STL exists but not as powerful as in Qt. No built-in XML parser, memory g , / ,
API, OpenGL API, Canvas, CSS
p , ymanagement.
Qt Vs MFC
Conclusions
Things can be done in both Qt & MFC but
- Qt is technically betterQ y
- Memory, Speed, and Programmer efficient
Qt is available with its own IDE: Qt CreaterQ Q
- 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
MySQL OracleFeatures DB2 SQL Server MySQL OracleFeatures DB2 SQL Server
MySQL Vs Oracle
Feature MySQL Oracle
Vendor Initially, MySQL AB. Now, Oracle Inc.
Oracle Inc.
Open Source/ Proprietary Open Source ProprietaryOpen 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 is technically bettery Q y
- MySQL performance is comparable to Oracle
- Used by Google, Yahoo, …. Growing user basey g , , g
Future of MySQL
Future of MySQL
VC++ 6.0 Vs Visual Studio 2008
Advantages of Visual Studio 2008 over Visual C++ 6.0:Much more standards compliant C++ compiler with better template Much more standards compliant C++ compiler, with better template handlingSupport for x64 / mobile / XBOX targets Improved STL implementationSupport for C++0x TR1 (smart pointers, regular expressions, etc)Secure C runtime libraryImproved code navigationImproved debugger; possibility to run remote debug sessionsImproved debugger; possibility to run remote debug sessionsBetter compiler optimizationsMany bug fixesFaster builds on multi-core/multi-CPU systems/ yImproved IDE user interface, with many nice featuresImproved macro support in the IDE; DTE allows access to more IDE methods and variablesUpdated MFC library (in VS2008 Service Pack 1)Updated MFC library (in VS2008 Service Pack 1)
VC++ 6.0 Vs Visual Studio 2008
Disadvantages of moving to Visual Studio 2008:
The IDE is a lot slower than VS6
Intellisense still has performance issues (replacing it with VisualAssistX can help)
Sid b id bli k d l t h Side-by-side assemblies make app deployment much more problematic
The local (offline) MSDN library is extremely slowThe local (offline) MSDN library is extremely slow
Third-party tools support is fewer for Visual Studio 2008 e.g. there's no profiler in the Professional version
References
Qt Vs MFC:Qhttp://phil.freehackers.org/index.html
http://qt.nokia.com
MySQL Vs Oraclehttp://builderau.au.com/architect/database
http://www mysql orghttp://www.mysql.org
VC ++ 6.0 Vs Visual Studiohttp://stackoverflow.com/questions/62389/what-are-the-http://stackoverflow.com/questions/62389/what are thedifferences-between-visual-c-6-0-and-visual-c-2008
Channel Partners
Keep visiting:Cross Roads
Thank YouComputer Science NotesMotivation For Ultimate SuccessInternet ChaupalHealth & FitnessHealth & FitnessDistributed Simulation