|Subject:||Re: Which ObjC2.0 features are missing in the latest GCC?|
|Date:||Wed, 27 Nov 2019 12:14:39 +0100|
Thats a very good summary. For me Foundation is what I use. But thats mainly because I do background server apps and tasks for Telecom Infrastructure. So I don't care about AppKit much right now. I care about a good and stable Objective-C development environment.
On the other hand I would _LOVE_ to see a OS X like desktop with AppKit and I would spend time working on it. Given the other desktops under Linux have not much success because of the way they do certain things, I think there is a big need. Something like what ElementaryOS does but with GNUStep and running on the major distributions (Debian/Ubuntu/Fedora/Redhat/Centos) could change the world. This is a long shot. But we have to ask ourselfs what is our strategy for the future.
Apple with Catalina is going in such a horrible direction that I'm moving away from it. My code can't run under Catalina because they have still not implemented SCTP protocol and its a mandatory for my work. And now the open source SCTP kernel driver can no longer work because they moved such stuff to userspace which kills a lot of mandatory features. So rewrite driver from scratch, just for MacOS whereas any other decent platform (Linux, FreeBSD) has it built in is an overkill. And their Wallet garden approach is breaking lots of openSource apps etc. For example you can no logner write to /. So if your open source code uses /opt/something, youe dead as you can't create /opt etc etc. (but anyway, thats a rant for another day).
As far as Gnustep /App Kit goes, if the pillars below always fall apart, then its wasted time for any developer to work on it. I think the key issues is that a lot of folks wanted to try GnuStep and fail because they could not get to some degree of success quickly. Everything is "old fashioned", doesnt compile etc etc. If we get this right, we can go far.
The GNUStep make system which is used is to build stuff is maybe very powerful but hinders newcomers to come and just try it out. It takes experts to understand how it works and what to do if it doesn't.
The main issue is it depends on a lot of environment variables. So if you try it and it works and you log out and log in and it suddenly doesn't, newcomes will get lost very quickly. I had such experiences in the early days due to PKG_CONFIG_PATH not being set. And boy, does that drive you mad. I was many times not far away from throwing away all the make infrastructure and just build my own static library out of the .m files. (this was mainly libobjc2 issues and base).
So for Gnustep / Appkit to have a future, we should have:
a) a EASY to use entry. Run on any version of Ubuntu, Debian, CentOS, Redhat etc with just a simple setup. ./configure;make;make install should handle all the magic to get up and running from a tar.gz. Or much better a apt-get install gnustep. New developers are not interested to understand how gnustep works. They are interested to bring their apps to Linux and run it there. They will be busy already making their code work on another platform (which in reallity should only be very few ifdefs to work around a few calls which are not (yet) implemented.
b) a good development environment. Yes Xcode would be cool but I think rebuilding something like this is a HUGE amount of work. But adopting something else instead of just a command line make would already be quite useful. I was looking at IDE's under Linux and there are many neat ones out there. But none of them really appealed to me for ObjC development. The closest one I liked was CodeLite. Others where very powerful editors (include VisualStudioCode) but not being to build and run from an IDE just declassifies it to a smart Editor.
What are you using to write your ObjC code?
|[Prev in Thread]||Current Thread||[Next in Thread]|