Mtangoo
JF-Expert Member
- Oct 25, 2012
- 6,167
- 5,602
We are heading the end of the year and its time for evaluation. I would like to share my experience as software developer what I see as the best of this year. I'm not sure how much I'm going to cover but let me jump start with this one. C++ is the best language of the Year and wxWidgets as the best toolkit of the Year.
For those who does not know it, C++ is programming language that was born out of C. It was given a once famous name, C with classes. It is not entirely accurate name as it differ with C in numerous ways, but one thing is obvious: C++ supports Object Oriented Programming. One can say wait a minute, with Gobject you can do that in C. But I'm talking not about third party but core.
C++ have a lot of useful features including STL library. For even a novice programmer, he knows how useful vectors, maps, and all STL components are useful. Also OOP helps your program be structured well and much more. So C++ is quiet powerful. If well designed, it beats Java in speed since there is no need for virtual machine. There are downside to developer like memory management, multiple inheritance issues and others but if done perfect enough (sorry for oxymoron word) you will avoid the caveats.
What about Python? Well Python was made to compliment C/C++ and not to compete with it so its out of question. This also puts to rest other languages like perl and ruby. Why? Because I can use Python+Cpp!
Well here are some Applications coded in C++.
All famous browsers are written in C++. The list includes Google Chromium The opensource version that gets rebranded as Google Chrome with few modifications, Mozilla FireFox and Thunderbird My Favorite browser and Mail client. They command great usage and are world class applications, Microsoft Internet Explorer Every windows comes bundled with it which have made it very famous. Safari and Opera.
Microsoft Office Suite, Apache OpenOffice, Corel Office suite Are Developed in C++. Also All major Adobe flagship softwares are developed in C++ including Photoshop ,ImageReady ,Illustrator , Acrobat Reader/Distiller , InDesign, GoLive , Frame et al.
All major database RDBMS are coded in C++ including Oracle database , MySQL , IBM DB2 , Microsoft SQL Server , IBM Informix , SAP DB/MaxDB , MongoDB. Some debate that core of these databases are written in C and other components in C++. But it is hard to say and it is then subject to discussion.
Autodesk Maya (Maya 3D software) - Maya 3D software, now a days is widely used in computers, video games, television. It is a powerful, integrated 3D modelling, animation, visual effects, and rendering solution. Also another powerful 3D CAD, civil engineering and surveying software, 12D, is coded in C++.
That is not all. Some parts of famous Apple OSX are coded in C++ while almost all Microsoft products (including all office suites, and all operating sytems) are written in C++. The list goes on and on.
The wxWidgets Toolkit
Some might be asking: what on eart is this beast? From its manual, everything lays open. Here is how developers define it: wxWidgets is a C++ framework providing GUI (Graphical User Interface) and other facilities on more than one platform. Version 2 and higher currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x, Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2.
wxWidgets was originally developed at the Artificial Intelligence Applications Institute, University of Edinburgh, for internal use, and was first made publicly available in 1992. Version 2 is a vastly improved version written and maintained by Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others.
Now why is wxWidgets my toolkit of the years? Note that there are two more famous toolkits, that is GTK+ and QT. Apart from the fact that our soon to be released products are built on this toolkit, it is very powerful. wxWidgets renders native widgets, that is a software made with wxWidgets looks like a software made by native API. QT tries to emulate nativity in all platform but KDE while GTK+ is only native to Gnome.
Also the two competitors to wxWidgets do force you to learn something than C++. GTK+ is C toolkit with some mechanism to support OOP (via gobject). Also QT have it pseudo language that is somehow mixed with C++. Since I like to go with normal C++ I find wxWidgets my choice. That does not mean it have got not caveat.
With advent of version 2.9 (looking forward to 3.0) wxWidgets have addes amny whstles and bell that made it beaten by its foes. One of great additions is wxWebview an html rendering engine.
That being said, wxwidgets lacks some features like database classes. It is understandable since the whole project is voluntary. There is also Python version of wx called wxPython.
Some applications written in wxWidgets are Audacity, Filezilla, Google Drive, Ashampoo Burning Studio, CodeLite, Code::Blocks, wxFormBuilder, Jutoh (featured on CNN), Helpblocks, Older Versions of VLC (recently moved to QT), wxDevCpp, PoEdit, KICAD, Hosanna Studio, BOINC, SYSmark 2012, Game Develop, Audio Evolution, Ginkgo CADx, GIMIAS, WebsitePainter, Trident, VibeStudio Designer, BitWise IM, Kirix Strata, Symscape's Caedium, Kephra, Transcribe!, WaveIdea, Cn3D, Dataton WATCHOUT, FlameRobin, PG Admin III, StoryLines, Display Doctor, wxDesigner, wxForms, and many others
To me C++ and wxWidgets wins hands down as best desktop programming language though it drives also many web applications too!
Reference:
Top 10 best applications written in C/C++ - C and C++ Programming Resources
List of all famous software written in C++
Screenshots - wxWidgets
wxWidgets: Documentation
What are your opinions?
For those who does not know it, C++ is programming language that was born out of C. It was given a once famous name, C with classes. It is not entirely accurate name as it differ with C in numerous ways, but one thing is obvious: C++ supports Object Oriented Programming. One can say wait a minute, with Gobject you can do that in C. But I'm talking not about third party but core.
C++ have a lot of useful features including STL library. For even a novice programmer, he knows how useful vectors, maps, and all STL components are useful. Also OOP helps your program be structured well and much more. So C++ is quiet powerful. If well designed, it beats Java in speed since there is no need for virtual machine. There are downside to developer like memory management, multiple inheritance issues and others but if done perfect enough (sorry for oxymoron word) you will avoid the caveats.
What about Python? Well Python was made to compliment C/C++ and not to compete with it so its out of question. This also puts to rest other languages like perl and ruby. Why? Because I can use Python+Cpp!
Well here are some Applications coded in C++.
All famous browsers are written in C++. The list includes Google Chromium The opensource version that gets rebranded as Google Chrome with few modifications, Mozilla FireFox and Thunderbird My Favorite browser and Mail client. They command great usage and are world class applications, Microsoft Internet Explorer Every windows comes bundled with it which have made it very famous. Safari and Opera.
Microsoft Office Suite, Apache OpenOffice, Corel Office suite Are Developed in C++. Also All major Adobe flagship softwares are developed in C++ including Photoshop ,ImageReady ,Illustrator , Acrobat Reader/Distiller , InDesign, GoLive , Frame et al.
All major database RDBMS are coded in C++ including Oracle database , MySQL , IBM DB2 , Microsoft SQL Server , IBM Informix , SAP DB/MaxDB , MongoDB. Some debate that core of these databases are written in C and other components in C++. But it is hard to say and it is then subject to discussion.
Autodesk Maya (Maya 3D software) - Maya 3D software, now a days is widely used in computers, video games, television. It is a powerful, integrated 3D modelling, animation, visual effects, and rendering solution. Also another powerful 3D CAD, civil engineering and surveying software, 12D, is coded in C++.
That is not all. Some parts of famous Apple OSX are coded in C++ while almost all Microsoft products (including all office suites, and all operating sytems) are written in C++. The list goes on and on.
The wxWidgets Toolkit
Some might be asking: what on eart is this beast? From its manual, everything lays open. Here is how developers define it: wxWidgets is a C++ framework providing GUI (Graphical User Interface) and other facilities on more than one platform. Version 2 and higher currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x, Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2.
wxWidgets was originally developed at the Artificial Intelligence Applications Institute, University of Edinburgh, for internal use, and was first made publicly available in 1992. Version 2 is a vastly improved version written and maintained by Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others.
Now why is wxWidgets my toolkit of the years? Note that there are two more famous toolkits, that is GTK+ and QT. Apart from the fact that our soon to be released products are built on this toolkit, it is very powerful. wxWidgets renders native widgets, that is a software made with wxWidgets looks like a software made by native API. QT tries to emulate nativity in all platform but KDE while GTK+ is only native to Gnome.
Also the two competitors to wxWidgets do force you to learn something than C++. GTK+ is C toolkit with some mechanism to support OOP (via gobject). Also QT have it pseudo language that is somehow mixed with C++. Since I like to go with normal C++ I find wxWidgets my choice. That does not mean it have got not caveat.
With advent of version 2.9 (looking forward to 3.0) wxWidgets have addes amny whstles and bell that made it beaten by its foes. One of great additions is wxWebview an html rendering engine.
That being said, wxwidgets lacks some features like database classes. It is understandable since the whole project is voluntary. There is also Python version of wx called wxPython.
Some applications written in wxWidgets are Audacity, Filezilla, Google Drive, Ashampoo Burning Studio, CodeLite, Code::Blocks, wxFormBuilder, Jutoh (featured on CNN), Helpblocks, Older Versions of VLC (recently moved to QT), wxDevCpp, PoEdit, KICAD, Hosanna Studio, BOINC, SYSmark 2012, Game Develop, Audio Evolution, Ginkgo CADx, GIMIAS, WebsitePainter, Trident, VibeStudio Designer, BitWise IM, Kirix Strata, Symscape's Caedium, Kephra, Transcribe!, WaveIdea, Cn3D, Dataton WATCHOUT, FlameRobin, PG Admin III, StoryLines, Display Doctor, wxDesigner, wxForms, and many others
To me C++ and wxWidgets wins hands down as best desktop programming language though it drives also many web applications too!
Reference:
Top 10 best applications written in C/C++ - C and C++ Programming Resources
List of all famous software written in C++
Screenshots - wxWidgets
wxWidgets: Documentation
What are your opinions?