📜 ⬆️ ⬇️

Reason - cross-platform C ++ framework

I'll start with a description of the problem. When writing applications in C ++, some difficulty for novice developers may be the lack of standard classes for working with strings, files, collections, the network, and other simple operations. Of course, there is WinAPI, Standard Library, CRT, MFC, ATL, but they are quite complicated to use.

For example, in serious commercial projects, reading files using direct calls to the WinAPI function of CreateFile / ReadFile / CloseFile without creating class wrappers is difficult and wrong. Another example, working with strings, CRT is inconvenient: buffers, unprotected code. std :: string is rather incomplete: there are no such frequently used operations as for example trim, split. Therefore, many developers in each new project write their own classes / wrappers to perform simple operations.


')
Reason is a cross-platform library of C ++ classes, providing convenient tools for working with many of the necessary objects in almost any project:



Mentioned not all, other features can be seen on the developer page and looking in the source code. All classes are conveniently grouped by namespace. There is no documentation for the library, but the library classes are well designed and have a very user-friendly interface, so it seems to me that problems with its use should not arise. Free for non-commercial use (GNU GPL), for use in commercial projects you need to obtain a commercial license.

Well, my personal impressions: I liked the way the code was written, the approach to programming used by the author is close to me. Already he had an interesting template method for implementing delegates / events, he would have thought for a long time perhaps.

Another thought impressed the author Reason:
“When a lot of developers talk about why one language is better than another, they are really comparing frameworks. The language of the stream and the compiler, but it is the framework that makes it a language mainstream. ”

Source: https://habr.com/ru/post/56319/


All Articles