On Thu, Nov 21, 2019 at 1:43 PM Gregory Casamento <[email protected]> wrote:
> Andreas, > > > On Thu, Nov 21, 2019 at 6:26 AM Andreas Fink <[email protected]> wrote: > >> >> >> On 21 Nov 2019, at 12:15, Gregory Casamento <[email protected]> >> wrote: >> >> David et al, >> >> For all of the reasons listed in the previous email I am starting to >> wonder about the viability of using GCC in the long run. As far as I can >> see it the facts are these: >> >> 1. GCC does not support ARC, blocks and many other features which the API >> is now using >> 2. Supporting GCC consumes more time due to having to work around these >> features using awkward macros >> 3. The further clang's implementation and gcc's implementation of the >> language drift apart, the more macros we will need to add >> 4. The work needed to add these features is monumental >> 5. We cannot depend on the GCC team to add these as they are more focused >> on languages outside of ObjC. >> >> The advantages to dropping GCC are as follows: >> >> 1. We can simplify the code drastically by removing any and all macros to >> abstract the missing features >> 2. We can switch to using faster C++ or ObjC++ implementations of certain >> functionality. TBD further. >> 3. We get ARC memory management for free. >> 4. Speeds up development since less time is spent on managing some of the >> above. >> >> Disadvantages to dropping GCC: >> >> 1. Political backlash from the FSF (possible, but unlikely there are >> projects which use languages not supported by GCC) >> 2. Not able to support older hardware on which clang is unavailable and >> gcc still is. >> * We need to assess how critical supporting that hardware is. >> 3. Altering our "NetBSD" like philosophy where we can say "Of course >> GNUstep will build on it." >> >> Right now these lists are just food for thought. I am trying to start a >> discussion about this, not making any final decisions yet. >> >> Yours, GC >> >> >> I completely agree. >> >> I have strong doubts that ObjC is used anywhere in the exotic hardware >> area. >> > > I'm referring to older platforms, such as Solaris 9 or earlier and > architectures which don't currently have a version of clang on them. > Considering that Solaris 9 support was removed from gcc in 2014, does that really matter, or do people still build with ancient gcc's? In which case bringing gcc up to modern standards in order to remove all the compatibility layering still likely entails not supporting older compilers and dropping support for solaris 9 anyways. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html Like if I look at the embedded field where mostly other processor types are >> used, I don't see why GNUStep would be of any use there. And if, they can >> still use an old frozen gcc version if they are old. >> > > Luckily I have had some experience with some embedded applications which > currently do use processors powerful enough to use ObjC, but it is rare and > those usually have clang available. > > >> I must admit that myself I use GNUStep without any desktop in mind, >> basically Foundation is what I need for my server applications because my >> code is heavily written in ObjC and especially because of its nice features >> such as ARC. So for me going back to gcc is absolutely impossible. >> > > Indeed > > So besides Intel and ARM architectures, what is really used out there in >> the field? >> . >> > > SPARC, PowerPC, etc. > > Sincerely, GC > -- > Gregory Casamento > GNUstep Lead Developer / OLC, Principal Consultant > http://www.gnustep.org - http://heronsperch.blogspot.com > http://ind.ie/phoenix/ >
