Reason - C Library
From Wikipedia, the free encyclopedia
This article is being considered for deletion in accordance with Wikipedia's deletion policy. Please share your thoughts on the matter at this article's entry on the Articles for deletion page. Feel free to edit the article, but the article must not be blanked, and this notice must not be removed, until the discussion is closed. For more information, particularly on merging or moving the article during the discussion, read the guide to deletion. Steps to list an article for deletion: 1. {{subst:afd}} 2. {{subst:afd2|pg=Reason - C Library|cat=|text=}} ~~~~ (categories) 3. {{subst:afd3|pg=Reason - C++ Library}} (add to top of list) 4. Please consider notifying the author(s) by placing {{subst:adw|Reason - C Library|Reason - C++ Library}} ~~~~ on their talk page(s). |
This article or section has multiple issues. Please help improve the article or discuss these issues on the talk page.
|
This article needs more relevant internal links to meet Wikipedia's quality standards. Please help improve this article by adding useful internal links. (February 2008) |
Reason - C++ Library | |
---|---|
Latest release | 2.0 / 07 February 2007 |
OS | Cross-platform |
Genre | Application framework |
License | GNU General Public License |
Website | http://reasoning.info/ |
Reason is an open source cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers using the C++ programming language.
The philosophy and motivation behind Reason is to address the frustration which many developers feel in trying to use a language like like C++. In particular, C++ it is often described as being too difficult to use as it has a much reduced feature set compared to its more modern counterparts which often come complete with comprehensive frameworks including features like filesystems, strings, garbage collection, collections, networking, encryption, xml, and xpath.
Hence when a lot of developers talk about why one language is better than another, they are really comparing frameworks. The language defines the syntax and the compiler, but it is the frameworks which make a language mainstream and useable. So whilst Python is a programming language, it is also a framework.
Despite its shorcomings, and due primarily to its performance and strength, much of the worlds software is still written in either C or C++, and there are good reasons for this.
But there is a lot of software which isn't, simply because people either assume that it is not possible to write maintainable cross platform code in C++, or because the effort required to learn the language and its libraries has been too high.
Reason was designed to deonstrate that when presented appropriately C++ can be just as easy to use and as productive as Java, .Net, or Python.
[edit] Design
Reason contains many classes that you would see in other frameworks like Java or .Net as well as many that you wouldn't.
It also includes a comprehensive object hierarchy with its own form of run time type inference. Notably absent are inbuilt C++ rtti and exception handling. These features assist in making the framework faster and more portable.
Classes are separated into major namespaces like System, Structure, Network, and Language. In addition each major namespace has several sub namespaces sometimes by classification like Storage and sometimes by the name of a standard like Xml.