mulle-objc #MakeObjCGreatAgain

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

mulle-objc #MakeObjCGreatAgain

Lars Sonchocky-Helldorf
Hi 'Steppers,


you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.

https://mulle-objc.github.io

some more background information is available here:

https://news.ycombinator.com/item?id=13042199


regards,

        Lars
_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

edwin ancaer

First things first: I never contributed to GNUstep, and I probably never will: for 30 years I've been developping and analyzing  IBM-mainframe applications with exotic tools like Cobol, IMS, DB2, Rexx, JCL, so I do feel slightly uncomfortable in the PC-environment, as the prverbial Englishman in New York. But I ave this weird genetic predisposition that makes me like things like Smalltalk, NextStep, Objective-C, so I regularly keep coming back to this mailing list. So if your answer to a mail starts with 'Show me your contributions', you can just stop reading, and please accept my apologies for taking your time....


I like the idea: make objective c great again, as I fear that after Swift, Objective-C will remain as it is, frozen on version 2.0, and then completely be forgotten. And I think that's a pity, because the combination of Smalltalk and C just seems to make sense to me. High level if you can (Smalltalk), but low-level (C) when needed.
 
So what I would have liked to see at the mulle-objc website are some ideas and plans for the future evolution of Objective-C. Instead, I see the announcement of a runtime that currently seems to do no better than the current, working and tested, Etoile-Runtime, also based on Clang-LLVM, if I'm not mistaken. So I wonder, if there was no way to cooperate with the creators of the Etoile runtime, or is this runtime fundamentally flawed and beyond repair.

Imagine if, after some careful thought about possible improvements of objective-c, that coding effort  would have been spend on improving and extending, instead of just recreating.

Of course, I do not want to deny someone the right to create the software he wants, but as I see it, a lot of open source projects just seem unable to cooperate, and fuzz or split up over the slightest differences of opinion, looking like the Judean People's Front and the People's Front of Judea in the life of Brian.

Imagine if GNUstep and Cocotron had been able to combine their efforts, as they are (were?) largely doing the same thing( or so it seems to me).

Imagine that the time that will be spent on making gnustep running on the new runtime just could be spent on advancing the gnustep libraries....

And supporting all this might become even more impossible if your resources are limited:  I run on  Operating System X version Y (pck 1 of fifty) with compiler X version Y (pick 1 of 6) using runtime X version Y (pick 1 of 6).

All of this just to say I fear that having a new runtime might not be what is needed to save GNUstep
from oblivion. Now I will just start thinking about what I will do to save it.

Do you have any suggestions?

Edwin Ancaer 






2016-11-28 21:32 GMT+01:00 Lars Sonchocky-Helldorf <[hidden email]>:
Hi 'Steppers,


you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.

https://mulle-objc.github.io

some more background information is available here:

https://news.ycombinator.com/item?id=13042199


regards,

        Lars
_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Steven R. Baker
[snip]

All of this just to say I fear that having a new runtime might not be what is needed to save GNUstep
from oblivion. Now I will just start thinking about what I will do to save it.

I agree with everything you've said here. I share your concerns.

I would like to add an additional concern. I know that LLVM and clang are the new hotness, but they're de facto owned by Apple now. It won't be long before there are new and hot features that are in Apple's own version of LLVM, and it'll be very desirable to depend on these new and hot features.

And then where will we be?

-Steven


Do you have any suggestions?

Edwin Ancaer 






2016-11-28 21:32 GMT+01:00 Lars Sonchocky-Helldorf <[hidden email]>:
Hi 'Steppers,


you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.

https://mulle-objc.github.io

some more background information is available here:

https://news.ycombinator.com/item?id=13042199


regards,

        Lars
_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep



_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Riccardo Mottola-5
In reply to this post by Lars Sonchocky-Helldorf
Hi Stepper,

Lars Sonchocky-Helldorf wrote:
> you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.
>
> https://mulle-objc.github.io
>
> some more background information is available here:
>
> https://news.ycombinator.com/item?id=13042199

nice news and nice work! Wonderful that somebody still has interest in
Objective-C.

I see interesting choices in your runtine... It looks mostly an
evolutive step of classic Objective-C without the uglyness of
Objective-C 2.0 which then became Swift and which took the verve away
from Objective.C
You decided not to pursue the horrible dot notation, for example. It
looks something linke version 1.5, although that would mean an
intermediate step: better another name, since it will never become 2.0,
but more a parallel, different direction.

I wonder whom it should appeal? Old-timers like me stick with obj-c
"classic" to be able to be compiler-independent and because it is
essentially enough. I'd like "new" things, but those would be quite hard
to do and would perhaps need both a new runtime and a new Foundation
(e.g. I'd like to use inegtral types as real objects, so not to have to
convert from and to when using NSArrays, more small-talk essentially.
Those instead who love(d) Obj-C 2.0 either stick with it or jumped to
Swift because they just like the latest thing


Anyway, interesting news!

Riccardo

_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

David Chisnall
In reply to this post by Steven R. Baker
On 1 Dec 2016, at 07:43, Steven R. Baker <[hidden email]> wrote:
>
> I would like to add an additional concern. I know that LLVM and clang are the new hotness, but they're de facto owned by Apple now. It won't be long before there are new and hot features that are in Apple's own version of LLVM, and it'll be very desirable to depend on these new and hot features.

This is simply not true.  Apple’s contributions, as a percentage of the total, have been decreasing for the last five years.  It’s been several years since they were responsible for over 50% of total development and they’re not even the largest single contributor anymore (Google is).  Apple’s release process for LLVM is to fork at a point from svn head, run a bunch of additional tests, and backport any fixes from a specific branch.  This code then appears on opensource.apple.com - occasionally it includes a few hacky fixes for issues on Darwin that they haven’t upstreamed because upstream won’t accept it until they tidy it up and do it properly.

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Steven R. Baker


On 01/12/16 12:06, David Chisnall wrote:
> On 1 Dec 2016, at 07:43, Steven R. Baker <[hidden email]> wrote:
>> I would like to add an additional concern. I know that LLVM and clang are the new hotness, but they're de facto owned by Apple now. It won't be long before there are new and hot features that are in Apple's own version of LLVM, and it'll be very desirable to depend on these new and hot features.
> This is simply not true.  Apple’s contributions, as a percentage of the total, have been decreasing for the last five years.  It’s been several years since they were responsible for over 50% of total development and they’re not even the largest single contributor anymore (Google is).  Apple’s release process for LLVM is to fork at a point from svn head, run a bunch of additional tests, and backport any fixes from a specific branch.  This code then appears on opensource.apple.com - occasionally it includes a few hacky fixes for issues on Darwin that they haven’t upstreamed because upstream won’t accept it until they tidy it up and do it properly.
It might not be true today. But at some point, Apple will see fit to not
give back a feature. A feature that people will depend on.

We've all seen this happen *many* times. And we'll see it again. And
some people will act surprised.

-Steven


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Matt Butch
In reply to this post by Lars Sonchocky-Helldorf
I’ve checked it out, and I think I’ll be helping out. I’m a huge fan of Objective-C, and with Swift being the new hotness (despite my belief its a pretty bad language), its great to see another option for it.

I’m hoping to be able to use Objective-C on servers, so Mulle-Objc might be a good option for that. If it can get a good community behind it, even better.

It feels like GNUstep has stagnated. I think part of that is its not that easy to install a recent build. Part of that is also the non-standard interface it supports which is wonky (at least on Ubuntu).

Of course Mulle-Objc doesn’t even have Foundation ready yet, so it’ll be awhile til it gets great.

-Matt

> On Nov 28, 2016, at 15:32, Lars Sonchocky-Helldorf <[hidden email]> wrote:
>
> Hi 'Steppers,
>
>
> you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.
>
> https://mulle-objc.github.io
>
> some more background information is available here:
>
> https://news.ycombinator.com/item?id=13042199
>
>
> regards,
>
> Lars
> _______________________________________________
> Discuss-gnustep mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

David Chisnall-4
On 1 Dec 2016, at 16:26, Matt Butch <[hidden email]> wrote:
>
> I’m hoping to be able to use Objective-C on servers, so Mulle-Objc might be a good option for that. If it can get a good community behind it, even better.

I’m not sure why Mulle-Objc brings there.  I know of three different Foundation implementations (GNUstep, one for FreeBSD that makes heavy use of kqueue, and WinObjC) that use all use the GNUstep Objective-C runtime, which provides a superset of the features that Apple provides.

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

David Chisnall
In reply to this post by Steven R. Baker
On 1 Dec 2016, at 16:12, Steven R. Baker <[hidden email]> wrote:
>
> It might not be true today. But at some point, Apple will see fit to not
> give back a feature. A feature that people will depend on.

Which part of ‘Apple is not even the largest single contributor’ did you not understand?  If Apple stopped contributing to LLVM and Clang then:

- The effect on the overall community would be noticeable, but not insurmountable.

- The effect on Apple would be huge because maintaining a fork of LLVM / Clang is hugely expensive if you want to be able to take upstream changes

Please stop spreading FUD.  The LLVM ecosystem has several dozen large corporate stakeholders as well as hundreds of individual contributors.

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Lars Sonchocky-Helldorf
In reply to this post by Riccardo Mottola-5

> Am 01.12.2016 um 11:39 schrieb Riccardo Mottola <[hidden email]>:
>
> Hi Stepper,
>
> Lars Sonchocky-Helldorf wrote:
>> you might be interested in this: mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.
>>
>> https://mulle-objc.github.io
>>
>> some more background information is available here:
>>
>> https://news.ycombinator.com/item?id=13042199
>
> nice news and nice work! Wonderful that somebody still has interest in Objective-C.
>
> I see interesting choices in your runtine... It looks mostly an evolutive step of classic Objective-C without the uglyness of Objective-C 2.0 which then became Swift and which took the verve away from Objective.C
> You decided not to pursue the horrible dot notation, for example. It looks something linke version 1.5, although that would mean an intermediate step: better another name, since it will never become 2.0, but more a parallel, different direction.
>
> I wonder whom it should appeal? Old-timers like me stick with obj-c "classic" to be able to be compiler-independent and because it is essentially enough. I'd like "new" things, but those would be quite hard to do and would perhaps need both a new runtime and a new Foundation (e.g. I'd like to use inegtral types as real objects, so not to have to convert from and to when using NSArrays, more small-talk essentially.
> Those instead who love(d) Obj-C 2.0 either stick with it or jumped to Swift because they just like the latest thing
>
>
> Anyway, interesting news!
>
> Riccardo

Hi Riccardo,

I am not the creator of this, I am just the messenger. mulle-objc was created by the folks of Mulle-kybernetiK ( https://www.mulle-kybernetik.com/ ) especially Nat! ( [hidden email] ) if I am not mistaken.

regards,

        Lars
_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Steven R. Baker
In reply to this post by David Chisnall


On 01/12/16 17:33, David Chisnall wrote:
> On 1 Dec 2016, at 16:12, Steven R. Baker <[hidden email]> wrote:
>> It might not be true today. But at some point, Apple will see fit to not
>> give back a feature. A feature that people will depend on.
> Which part of ‘Apple is not even the largest single contributor’ did you not understand?  If Apple stopped contributing to LLVM and Clang then:
I understand the statement perfectly, and it's the basis of my concern. :(

-Steven


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Luboš Doležel
In reply to this post by David Chisnall-4
Dne 1.12.2016 v 17:30 David Chisnall napsal(a):
> On 1 Dec 2016, at 16:26, Matt Butch <[hidden email]> wrote:
>> I’m hoping to be able to use Objective-C on servers, so Mulle-Objc might be a good option for that. If it can get a good community behind it, even better.
> I’m not sure why Mulle-Objc brings there.  I know of three different Foundation implementations (GNUstep, one for FreeBSD that makes heavy use of kqueue, and WinObjC) that use all use the GNUstep Objective-C runtime, which provides a superset of the features that Apple provides.
>
> David
>
I second this. I fail to see the benefits of yet another runtime...

Luboš



_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

David Chisnall
On 1 Dec 2016, at 21:16, Luboš Doležel <[hidden email]> wrote:
>
> Dne 1.12.2016 v 17:30 David Chisnall napsal(a):
>> On 1 Dec 2016, at 16:26, Matt Butch <[hidden email]> wrote:
>>> I’m hoping to be able to use Objective-C on servers, so Mulle-Objc might be a good option for that. If it can get a good community behind it, even better.
>> I’m not sure why Mulle-Objc brings there.  I know of three different Foundation implementations (GNUstep, one for FreeBSD that makes heavy use of kqueue, and WinObjC) that use all use the GNUstep Objective-C runtime, which provides a superset of the features that Apple provides.
>>
>> David
>>
> I second this. I fail to see the benefits of yet another runtime…

That’s not quite what I said.  I exchanged some emails with the author about a year ago when he was starting.  He’s got some interesting ideas (a few of which we tried with the Étoilé runtime that didn’t work so well in wider deployment, but many others that are definitely worth exploring).

However, if your aim is to run Objective-C code on a server, then that need is already met by existing runtimes.  The GCC runtime has been used in production in this role for over two decades.  It was being used with object-relational mapping in GNUstepWeb before Ruby on Rails was a gleam in its creators eye.  The GNUstep runtime is now almost a decade old and has been used in large-scale deployment for almost as long, and supports all of the features of modern Objective-C.

If this is your goal, it’s already met.  Mulle-Objc might also meet it, but it doesn’t change the game in any way,

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

edwin ancaer
I don't have experience with this kind of varied environments, so this might be a stupid question... 

let's imagine I created this wonderful application with GNUstep. 
And imagine that for a popular Linux distribution there is a packaged version for GNUstep (base, make, gui & back) made with compiler A and runtime A.   
And then again, imagine I packaged my application for this distibution, but with Compiler B/Runtime B ;

If someone used the package manager to install GNUstep and my application, would this be guaranteed to be working?

2016-12-02 11:16 GMT+01:00 David Chisnall <[hidden email]>:
On 1 Dec 2016, at 21:16, Luboš Doležel <[hidden email]> wrote:
>
> Dne 1.12.2016 v 17:30 David Chisnall napsal(a):
>> On 1 Dec 2016, at 16:26, Matt Butch <[hidden email]> wrote:
>>> I’m hoping to be able to use Objective-C on servers, so Mulle-Objc might be a good option for that. If it can get a good community behind it, even better.
>> I’m not sure why Mulle-Objc brings there.  I know of three different Foundation implementations (GNUstep, one for FreeBSD that makes heavy use of kqueue, and WinObjC) that use all use the GNUstep Objective-C runtime, which provides a superset of the features that Apple provides.
>>
>> David
>>
> I second this. I fail to see the benefits of yet another runtime…

That’s not quite what I said.  I exchanged some emails with the author about a year ago when he was starting.  He’s got some interesting ideas (a few of which we tried with the Étoilé runtime that didn’t work so well in wider deployment, but many others that are definitely worth exploring).

However, if your aim is to run Objective-C code on a server, then that need is already met by existing runtimes.  The GCC runtime has been used in production in this role for over two decades.  It was being used with object-relational mapping in GNUstepWeb before Ruby on Rails was a gleam in its creators eye.  The GNUstep runtime is now almost a decade old and has been used in large-scale deployment for almost as long, and supports all of the features of modern Objective-C.

If this is your goal, it’s already met.  Mulle-Objc might also meet it, but it doesn’t change the game in any way,

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

Liam Proven
On 2 December 2016 at 15:04, Edwin Ancaer <[hidden email]> wrote:

> I don't have experience with this kind of varied environments, so this might
> be a stupid question...
>
> let's imagine I created this wonderful application with GNUstep.
> And imagine that for a popular Linux distribution there is a packaged
> version for GNUstep (base, make, gui & back) made with compiler A and
> runtime A.
> And then again, imagine I packaged my application for this distibution, but
> with Compiler B/Runtime B ;
>
> If someone used the package manager to install GNUstep and my application,
> would this be guaranteed to be working?


You really should not hijack someone else's thread.

Start a new one with its own subject line.

--
Liam Proven • Profile: https://about.me/liamproven
Email: [hidden email] • Google Mail/Talk/Plus: [hidden email]
Twitter/Facebook/Flickr: lproven • Skype/LinkedIn/AIM/Yahoo: liamproven
UK: +44 7939-087884 • ČR/WhatsApp/Telegram/Signal: +420 702 829 053

_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

edwin ancaer
I humbly apologize.

Would it be better if I rephrase as:
> And imagine that for a popular Linux distribution there is a packaged
> version for GNUstep (base, make, gui & back) made with mulle-objc compiler  and
> mulle obj-c runtime
> And then again, imagine I packaged my application for this distribution, but
> with the clang compiler/etoilé runtime;

because if they do not cooperate, you're cutting in half instead of making great, as far as I'm concerned.
>


2016-12-02 15:47 GMT+01:00 Liam Proven <[hidden email]>:
On 2 December 2016 at 15:04, Edwin Ancaer <[hidden email]> wrote:
> I don't have experience with this kind of varied environments, so this might
> be a stupid question...
>
> let's imagine I created this wonderful application with GNUstep.
> And imagine that for a popular Linux distribution there is a packaged
> version for GNUstep (base, make, gui & back) made with compiler A and
> runtime A.
> And then again, imagine I packaged my application for this distibution, but
> with Compiler B/Runtime B ;
>
> If someone used the package manager to install GNUstep and my application,
> would this be guaranteed to be working?


You really should not hijack someone else's thread.

Start a new one with its own subject line.

--
Liam Proven • Profile: https://about.me/liamproven
Email: [hidden email] • Google Mail/Talk/Plus: [hidden email]
Twitter/Facebook/Flickr: lproven • Skype/LinkedIn/AIM/Yahoo: liamproven
UK: <a href="tel:%2B44%207939-087884" value="+447939087884">+44 7939-087884 • ČR/WhatsApp/Telegram/Signal: <a href="tel:%2B420%20702%20829%20053" value="+420702829053">+420 702 829 053

_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Reply | Threaded
Open this post in threaded view
|

Re: mulle-objc #MakeObjCGreatAgain

David Chisnall
On 2 Dec 2016, at 15:15, Edwin Ancaer <[hidden email]> wrote:

>
> I humbly apologize.
>
> Would it be better if I rephrase as:
> > And imagine that for a popular Linux distribution there is a packaged
> > version for GNUstep (base, make, gui & back) made with mulle-objc compiler  and
> > mulle obj-c runtime
> > And then again, imagine I packaged my application for this distribution, but
> > with the clang compiler/etoilé runtime;
> because if they do not cooperate, you're cutting in half instead of making great, as far as I'm concerned.

I wrote an article for Communications of the ACM about why the Étoilé runtime was a dead end a few years ago (ACM Queue version is free to read):

http://queue.acm.org/detail.cfm?id=2331170

One of the main design goals for the GNUstep runtime was to be backwards compatible with the GCC runtime.  Any code compiled with GCC or old versions of clang will work with it (though the converse is not true - you can’t use a recent clang, use recent Objective-C features, and expect it to work with an old GCC runtime or an older version of the GNUstep runtime).  In contrast, the Mulle and Étoilé Objective-C runtimes defined a completely new ABI and, in a few places, different source-level constructs.  This means that they are not drop-in replacements for anything and you will need some source-level porting in a few places.

David


_______________________________________________
Discuss-gnustep mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep