[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Which ObjC2.0 features are missing in the latest GCC?
From: |
Fred Kiefer |
Subject: |
Re: Which ObjC2.0 features are missing in the latest GCC? |
Date: |
Fri, 22 Nov 2019 17:48:24 +0100 |
> Am 22.11.2019 um 15:44 schrieb Andreas Fink <afink@list.fink.org>:
>
> The fact is that gcc can not do ARC. This is the main show stopper for gcc.
> On the other hand, switching from gcc to clang is not a problem for
> "traditional programming style" programmers.
>
> The only problem I can see is platforms which gcc supports but clang does
> not. So the real question is are there any users who use ObjC stuff with
> GnuStep under, lets say strange embedded systems.
> Given ObjC does not have a bright future under gcc anyway (as they have still
> not implemented ObjC 2.0 features after like 10 years it's out now), does
> mean it will only get worse.
>
> Besides that we have to consider that sticking to gcc will also hinders
> newcomers to get involved. And this i I think is a important point.
> The developers hehre with 20 years+ experience will have no problem working
> around non ARC stuff and going backwords because we all know the old way.
> The youngsters out there however don't. If we want to get Gnustep into the
> modern area, we will need to be attractive to newcomes and this means keeping
> up with the modern API's etc. And gcc is miserably failing here. Thats the
> main problem, not if you don't want to use ARC (which is still fine) or not.
> Others want to use ARC but can't under GCC.
>
> In other words, going for clang doesnt mean ObjC 1.0 code wont run but it
> means a lot of ObjC2.0 code will start to run.
This is another discussion I would have preferred to stay out of. We had this
and other similar discussions so many times before. To me it just seems not
worthwhile to participate once more.
There are many benefits that ObjC 2.0 support with clang could bring, still I
can understand why some people prefer to stay with a compiler and a language
they know. I myself use gcc and even with its limitations it allows me to do
useful programming for GNUstep. And many times gcc has pointed to bugs in the
code where clang accepted the code. (The opposite is also true, it really has
been good for us to have two different compilers to inspect our code.) What I
would never do is to argue for others to use gcc. Just use the compiler you
prefer.
And this is where this discussion is getting odd. It has been possible to use
GNUstep code in ObjC 2.0 projects, thanks to the great work David has been
doing. And if we are honest the work to support this inside of GNUstep wasn’t
much. Just using a few macros here and there and things work. We could even go
further and have a few more macros that allow us to specify the property
attributes in GNUstep base and redefine the ASSIGN, RETAIN and RELEASE etc
macros as noops and with a bit of code cleanup GNUstep base could be compiled
with ARC. All of this should be possible while still keeping support for gcc.
Even for simple block usage I am sure that if David and I set down for a
weekend we could come up with a macro to define a callable block (probably
without capturing variables and without ARC special cases, just the most common
case). It is just that the need for this hasn’t come up.
I really don’t see gcc support is itself holding us back. At least not more
than the incomplete CoreFoundation, or the fact that base is not build on top
of core base, the binary incompatible of Foundation and GNUstep base or the
missing usage of C++ in the implementation of GNUstep. These and some other
factors seem more important to me. But if we start to change all of these, the
resulting project would be quite different from current GNUstep. And most
likely we would have lost most of the current GNUstep developers in the
transition process. Nobody can tell whether we would gain new active core
developers through this change. I really doubt that and therefor would prefer
not to drop gcc support. If you disagree, fine. But for GNUstep it would be
great if you could pledge to work on the code in the next few years. Otherwise
the project will be dying even faster than it is now.
Fred
- Re: Which ObjC2.0 features are missing in the latest GCC?, (continued)
- Re: Which ObjC2.0 features are missing in the latest GCC?, H. Nikolaus Schaller, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, David Chisnall, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, H. Nikolaus Schaller, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Andreas Fink, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, H. Nikolaus Schaller, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Gregory Casamento, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Andreas Fink, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, address@hidden, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, David Wetzel, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, H. Nikolaus Schaller, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?,
Fred Kiefer <=
- Re: Which ObjC2.0 features are missing in the latest GCC?, Ivan Vučica, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Riccardo Mottola, 2019/11/29
- Re: Which ObjC2.0 features are missing in the latest GCC?, Gregory Casamento, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Riccardo Mottola, 2019/11/29
- Re: Which ObjC2.0 features are missing in the latest GCC?, Ivan Vučica, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Yavor Doganov, 2019/11/22
- Re: Which ObjC2.0 features are missing in the latest GCC?, Ivan Vučica, 2019/11/23
- Re: Which ObjC2.0 features are missing in the latest GCC?, Yavor Doganov, 2019/11/23
- Re: Which ObjC2.0 features are missing in the latest GCC?, Johannes Brakensiek, 2019/11/24
- Re: Which ObjC2.0 features are missing in the latest GCC?, Max Chan, 2019/11/24