discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: a c++11 wrapper for gnustep libraries


From: أسامة مخزوم
Subject: Re: a c++11 wrapper for gnustep libraries
Date: Sat, 22 May 2021 12:41:17 +0300

Well, you seem to be on my side but in anthoer corner


When we are talking about Gnustep outside objc view, developers has one main benefit: gnustep libraries that provide portable and rich libraries as a framework. as a programmer i like it  but try to avoid objective-c and objective-c++ even more. gnustep ui are pretty cool to port wxWidgets or even tk into its backend.  but why not to make this STEP more stright and provide some wrapper/binding to c++? So anyone can later do whatever he want using a c++ syntax without getting messed in objective-c++ every project. 

Objc++ is something evil when it comes to syntax and code readabilty: two languages, many restricts to merge, and a strange convention . theorically you can anything possible using this latter, but its too ugly to people to handle it. That's why i would like to go further and make gnustep accesible outside using objective-c++ from the application-developers and other programmer

On Sat, May 15, 2021, 6:15 PM H. Nikolaus Schaller <hns@computer.org> wrote:
Hi Usama and all,
any thoughts on my suggestions?

BR,
Nikolaus

> Am 11.05.2021 um 14:24 schrieb H. Nikolaus Schaller <hns@computer.org>:
>
>
>> Am 11.05.2021 um 13:48 schrieb Usama makhzoum <osmakh1@gmail.com>:
>>
>>
>> On 5/10/21 11:20 PM, H. Nikolaus Schaller wrote:
>>> Hi,
>>>
>>>> Am 10.05.2021 um 20:58 schrieb أسامة مخزوم <osmakh1@gmail.com>:
>>>>
>>>> hi all
>>>>
>>>> I am thinking of a C++11 wrapper for base, gui and other libraries, may be it is easier to do than another PL (because of objective-c++ existence). however, i want to hear from you: I would like to have opinions and whether if there was a attemp to do this (with c++98, for example).
>>>>
>>>> This also can give gnustep (another step). macosX developers always searches for c++ wrappers around cocoa and friends. before they enforced deeply to objc and swift, they simply wishing the last wish "I hope that someone did it". so maybe a c++ wrapper can make gnutep famous for the mac development, rather.
>>> On macOS C++ is not the primary language (except for kernel drivers). It is ObjC and Swift.
>>>
>>> IMHO, objc++ exists because there are some interesting C++ based libraries (e.g. data processing, business logic, file format decoders) where it should be possible to integrate them into objc based GUI apps. So in MVC architecture, C++ would be mainly used for providing an existing data model.
>>
>> this could be also a reason for writing such a wrapper.
>
> I do not understand how it would help. If the GUI is to be written in ObjC and some C++ libs to be included, wrapping ObjC transforms the whole project into a C++ project which is not what I would like to have.
>
>> why doing things in two language becomes the standard way? think of it as you were using python and have to do GUI staff with Qt, does i have to try py-c++ or to use a wrapper like pyqt?
>
> Well, if I use ObjC and want to do some macOS or Linux or Windows GUI stuff. Then I simply use GNUstep withou any wrappers.
>
>>
>>
>> GNUSTEP framework is a very easy-and-popular framework, i like it both with developing, and in use. and I think it will make another little advance if there was some easy/neat way to use from c++ (and many other programming languages, like perl, and even _javascript_), i assume some progress when a c++ programmer (thinks in terms of templates, mutli-inheritance and smartpointers) has access to GNUSTEP. I know that i didn't invent something new or make things impossible as possible. I want to help people that like c++-syntax to consider gnustep as an option, after all.
>
> Ok!
>
> Now, I could imagine something like a https://www.wxwidgets.org glue so that you can compile any wxWidgets based application not only for macOS, Linux (GTK, Qt, X11 etc.) or Windows but also for GNUstep. So make GNUstep another "backend" option for wxWidgets in the list of supported platforms:
>
>       https://www.wxwidgets.org/about/   (i.e. create some wxGNUstep)
>
>>
>>>
>>> I wonder what a use case of the reverse wrapping would be.
>>
>> a syntax-sugar, or convince wrapper is the main goal.  maybe used as additional gui-frontend for a c++  graphical or command line application without too much diving into obj-c++.
>
> There may be a key decision before starting a project like you are thinking of: which classes and interfaces should your wrapper provide? Something completely new (optimized for wrapping GNUstep) or a well known set of interfaces already used by many C++ projects.
>
> Beware: there are already many:
>
>       https://www.reddit.com/r/cpp/comments/babfl5/a_pretty_big_list_of_c_gui_libraries/
>
> So wxWidget seems to me one of the preferred choices - but I am not that active in C++ that I know what others are doing.
>
> What I therefor suggest is to check if it is sufficient to make a special compiler setup to compile wxOSX/Cocoaas as C++ wrapper around GNUstep. So it may even almost exist but nobody did have the idea to make use of it. And it may be a much more manageable task than inventing a new wrapper and make people use it.
>
> Now I see a nice benefit of such a project: get any source package from github (e.g. KiCAD) that uses wxWidgets, compile it with wxGNUstep and get a harmonized look and feel inside a GNUstep desktop...
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]