October 17, 2015
On Saturday, 17 October 2015 at 23:42:01 UTC, Walter Bright wrote:
> On 10/17/2015 2:24 PM, Vladimir Panteleev wrote:
>> I wish the extent of platform support for GDC and LDC was clearer. I
>> decided not to list any platforms on D's download page unless support
>> for those platforms was rock-solid and is expected to work.
>>
>> At least at that time, iOS and Android support, as I understood it, was
>> in the "well, if you download this thing some guy uploaded to his
>> personal website and patch that file and don't do this thing which
>> doesn't work yet, you might get a "hello world" that runs from the
>> terminal if you SSH in" ballpark. I'm not sure we should be advertising
>> support for any platform at that level. Personally, I feel that if a
>> platform/architecture is listed on a language's download page, I should
>> be able to download the compiler and build a fully-working application
>> within a few minutes, and as I understand we are nowhere close to that
>> yet. I don't feel particularly strong about this, but if we do decide to
>> lower the bar, then we should reconsider all the other platforms that
>> have been left out (such as the long list of GDC architectures which I
>> understood Iain to say that, well, since the build succeeds and Debian
>> successfully packages it, then it has to work. I might be wrong, though,
>> which is my point exactly - there is really insufficient information
>> about what exactly one can expect to work on each platform/architecture
>> (and their combinations).
>
> I think it'll be alright if these are clearly marked as unofficial and alpha quality, and perhaps with a blurb with some details on what it's state actually is, like "compiles hello world".

Should all this really be on the download page, though? There's like a score platforms/architectures/combinations of such between all compilers combined.

Have you looked at the linked wiki page?

http://wiki.dlang.org/Compilers

I'm not sure we should essentially be copying that table to dlang.org.

I think we are good as we are right now. There is an "others" link on the download page, so people interested in support for less common or less supported platforms can find said information on the wiki.

October 18, 2015
On 10/18/15 2:57 AM, Vladimir Panteleev wrote:
> I think we are good as we are right now. There is an "others" link on
> the download page, so people interested in support for less common or
> less supported platforms can find said information on the wiki.

Mobile support is huge, and one of the first things people ask about D. If ldc supports mobile platforms, that tidbit should be mentioned FRONT AND CENTER.

Again: I didn't know it! People ask me about mobile support all the time and I'm telling them "not yet".


Andrei
October 18, 2015
On Sunday, 18 October 2015 at 04:05:59 UTC, Andrei Alexandrescu wrote:
> On 10/18/15 2:57 AM, Vladimir Panteleev wrote:
>> I think we are good as we are right now. There is an "others" link on
>> the download page, so people interested in support for less common or
>> less supported platforms can find said information on the wiki.
>
> Mobile support is huge, and one of the first things people ask about D. If ldc supports mobile platforms, that tidbit should be mentioned FRONT AND CENTER.
>
> Again: I didn't know it! People ask me about mobile support all the time and I'm telling them "not yet".

And we're not there yet.

Please correct me if I'm wrong, but as I understand, you'll get nowhere on mobile with any current official LDC releases. Saying that LDC supports iOS/Android out of the box on dlang.org would be false advertising at this point.

I'm not sure what expectations people have when they hear "language X supports iOS/Android", but at least as someone who hasn't done a lot of mobile development, I'd expect that the official compiler can emit code I can call from my app, and get it all working in minutes. This would include tutorials of how would I compile/link this D code and make it talk to my Java/Obj-C/Swift UI code. Again, please correct me if I'm wrong.

Don't get me wrong, I'm as excited about this as anyone, but at the same time I don't want people mocking us for claiming support when what we have is a proof-of-concept provided by a third-party fork.

October 18, 2015
On Sunday, 18 October 2015 at 04:05:59 UTC, Andrei Alexandrescu wrote:
> On 10/18/15 2:57 AM, Vladimir Panteleev wrote:
>> I think we are good as we are right now. There is an "others" link on
>> the download page, so people interested in support for less common or
>> less supported platforms can find said information on the wiki.
>
> Mobile support is huge, and one of the first things people ask about D. If ldc supports mobile platforms, that tidbit should be mentioned FRONT AND CENTER.
>
> Again: I didn't know it! People ask me about mobile support all the time and I'm telling them "not yet".
>
>
> Andrei

The mobile support in LDC is at best, shaky.
<insert rant about dmd being the default compiler and LDC/GDC being neglected here>
October 18, 2015
On Sunday, 18 October 2015 at 04:13:56 UTC, Vladimir Panteleev wrote:
> Don't get me wrong, I'm as excited about this as anyone, but at the same time I don't want people mocking us for claiming support when what we have is a proof-of-concept provided by a third-party fork.

To elaborate on this a bit... the information on the downloads page was written only two months ago, with the collaboration of both GDC and LDC maintainers:

https://github.com/D-Programming-Language/dlang.org/pull/1067

Now, unless mobile support has matured significantly in the past two months, the point here is that the maintainers themselves have not pointed out that they were ready to advertise mobile support for their compilers on dlang.org. I don't think we should change this without their consent, at least. As I understand, development for mobile support is still occurring in a fork, and this might result users pestering the maintainers regarding code that isn't even in the repository they are maintaining.

October 18, 2015
On Saturday, 17 October 2015 at 16:49:44 UTC, Chris wrote:
> On Saturday, 17 October 2015 at 14:37:46 UTC, Joakim wrote:
>> Ldc binaries for iOS were announced in July, Dan's now working on 64-bit support:
>>
>> http://forum.dlang.org/thread/m2mvz57seb.fsf@comcast.net
>>
>> Android is pretty much done, just cleaning it up by integrating with ldc's CMake build system and other small details, announcement coming next week.
>
> Yeah, I remember the announcemment, I was very happy. Is it still 2.066 or is it part and parcel of the latest LDC? Your efforts are very much appreciated! Thank you guys!

Dan has made available some source for his work on the latest LDC, including 64-bit support, but not binaries like he did for the previous 2.066 release:

https://github.com/smolt/ldc/tree/ios-merge-2.067

On Saturday, 17 October 2015 at 21:24:34 UTC, Vladimir Panteleev wrote:
> I wish the extent of platform support for GDC and LDC was clearer. I decided not to list any platforms on D's download page unless support for those platforms was rock-solid and is expected to work.

Sure, makes sense that you did that at the time, we didn't even list the betas there till last week.

> At least at that time, iOS and Android support, as I understood it, was in the "well, if you download this thing some guy uploaded to his personal website and patch that file and don't do this thing which doesn't work yet, you might get a "hello world" that runs from the terminal if you SSH in" ballpark. I'm not sure we should be advertising support for any platform at that level. Personally, I feel that if a platform/architecture is listed on a language's download page, I should be able to download the compiler and build a fully-working application within a few minutes, and as I understand we are nowhere close to that yet. I don't feel particularly strong about this, but if we do decide to lower the bar, then we should reconsider all the other platforms that have been left out (such as the long list of GDC architectures which I understood Iain to say that, well, since the build succeeds and Debian successfully packages it, then it has to work. I might be wrong, though, which is my point exactly - there is really insufficient information about what exactly one can expect to work on each platform/architecture (and their combinations).

As Walter said, as long as we label it as alpha, we can get people playing with it and point out that mobile support is close.

On Saturday, 17 October 2015 at 23:57:06 UTC, Vladimir Panteleev wrote:
> Should all this really be on the download page, though? There's like a score platforms/architectures/combinations of such between all compilers combined.
>
> Have you looked at the linked wiki page?
>
> http://wiki.dlang.org/Compilers
>
> I'm not sure we should essentially be copying that table to dlang.org.
>
> I think we are good as we are right now. There is an "others" link on the download page, so people interested in support for less common or less supported platforms can find said information on the wiki.

Yes, we shouldn't copy that page, but as Andrei said, the giant PR value of mobile support means that even alpha stage support for mobile does make sense to add.  I wasn't planning on submitting such a PR for the download page, was only going to post in the Announce forum, but I think Andrei is right that mobile is too important.

On Sunday, 18 October 2015 at 04:13:56 UTC, Vladimir Panteleev wrote:
> And we're not there yet.
>
> Please correct me if I'm wrong, but as I understand, you'll get nowhere on mobile with any current official LDC releases. Saying that LDC supports iOS/Android out of the box on dlang.org would be false advertising at this point.

We won't say anything about the official ldc/gdc releases.  Rather, we'll provide links to Dan's iOS binary and one I'll provide for Android that'll be for experimental usage.

> I'm not sure what expectations people have when they hear "language X supports iOS/Android", but at least as someone who hasn't done a lot of mobile development, I'd expect that the official compiler can emit code I can call from my app, and get it all working in minutes. This would include tutorials of how would I compile/link this D code and make it talk to my Java/Obj-C/Swift UI code. Again, please correct me if I'm wrong.

For those willing to play with alpha/experimental code, I don't think such hand-holding is necessary.  Anyway, I'll write up another wiki page for ldc, just as I did for dmd:

http://wiki.dlang.org/Build_DMD_for_Android

> Don't get me wrong, I'm as excited about this as anyone, but at the same time I don't want people mocking us for claiming support when what we have is a proof-of-concept provided by a third-party fork.

As I said, iOS and Android now pass essentially all tests from druntime and phobos.  That's a long way from "hello world."  Is it rock solid?  Of course not, but an alpha compiler doesn't need to be.

Now, the download page has not traditionally listed alphas and betas.  But the importance of mobile is so high that I think it is worth it to do so, with the appropriate cautions about alpha quality.

On Sunday, 18 October 2015 at 04:27:19 UTC, Vladimir Panteleev wrote:
> To elaborate on this a bit... the information on the downloads page was written only two months ago, with the collaboration of both GDC and LDC maintainers:
>
> https://github.com/D-Programming-Language/dlang.org/pull/1067
>
> Now, unless mobile support has matured significantly in the past two months, the point here is that the maintainers themselves have not pointed out that they were ready to advertise mobile support for their compilers on dlang.org. I don't think we should change this without their consent, at least. As I understand, development for mobile support is still occurring in a fork, and this might result users pestering the maintainers regarding code that isn't even in the repository they are maintaining.

The ldc/gdc maintainers are not that involved with the iOS/Android work: they answer our questions when we ask and they did earlier work for linux/ARM that is useful for other ARM platforms also.  Anyway, they would not have to support it, we would.  I don't know about Dan, but I _want_ more feedback on the Android build.  I made available a test runner for druntime/phobos as an Android apk months ago and never got any feedback:

http://forum.dlang.org/post/erqxbcfyyxzviftmhyzp@forum.dlang.org

Looking back at what I wrote now, perhaps part of it is my fault for not explicitly asking people to try it out and report back how it works for them.  That is what I was planning on doing for the upcoming announcement though, as I want to document any devices that have problems anywhere.  So far, I've found a couple small differences on the three Android devices I've tested, probably because most of my development was on a Nexus device with the latest Android, while the other two I tested later had older versions of Android.

Anyway, we can hash this out on the PR.  Mobile builds will be explicitly labeled alpha and feedback directed at me (we'll have to ask Dan if he wants to take part), not the official maintainers.
October 18, 2015
On 10/18/15 7:55 AM, Joakim wrote:
> Now, the download page has not traditionally listed alphas and betas.
> But the importance of mobile is so high that I think it is worth it to
> do so, with the appropriate cautions about alpha quality.

Yes, very much so. Please make that happen. Thanks! -- Andrei
October 18, 2015
On Sunday, 18 October 2015 at 04:55:53 UTC, Joakim wrote:
> I made available a test runner for druntime/phobos as an Android apk months ago and never got any feedback:
>
> http://forum.dlang.org/post/erqxbcfyyxzviftmhyzp@forum.dlang.org

Posts buried deep in old threads are not very visible. I would suggest creating a new thread in the announce group (titled e.g. "D for Android alpha - testers needed").

> Anyway, we can hash this out on the PR.  Mobile builds will be explicitly labeled alpha and feedback directed at me (we'll have to ask Dan if he wants to take part), not the official maintainers.

If I may suggest, I would recommend creating a wiki page first. Currently even http://wiki.dlang.org/Compilers says absolutely nothing about LDC for Android, so it's not surprising that your project is not discoverable. The page should make it clear that this is presently a fork of the official LDC project, and contain all the instructions on getting something to work. I'll be happy to add a link to it from dlang.org once it's up.

October 18, 2015
On 17 Oct 2015 11:25 pm, "Vladimir Panteleev via Digitalmars-d" < digitalmars-d@puremagic.com> wrote:
>
> On Saturday, 17 October 2015 at 16:55:06 UTC, Joakim wrote:
>>
>> On Saturday, 17 October 2015 at 16:38:29 UTC, Andrei Alexandrescu wrote:
>>>
>>> Fantastic!
>>>
>>> Could you please send a PR to upgrade http://dlang.org/download.html so
it lists the iOS and (later) Android downloads? Even I didn't know ldc has
an iOS download! -- Andrei
>>
>>
>> Will do.  Support for both platforms is at the alpha stage, but doesn't
hurt to get more hands on them, and the fact that pretty much all of the druntime and phobos tests pass mean they're in reasonably good shape.
>
>
> I wish the extent of platform support for GDC and LDC was clearer. I
decided not to list any platforms on D's download page unless support for those platforms was rock-solid and is expected to work.
>
> At least at that time, iOS and Android support, as I understood it, was
in the "well, if you download this thing some guy uploaded to his personal website and patch that file and don't do this thing which doesn't work yet, you might get a "hello world" that runs from the terminal if you SSH in" ballpark. I'm not sure we should be advertising support for any platform at that level. Personally, I feel that if a platform/architecture is listed on a language's download page, I should be able to download the compiler and build a fully-working application within a few minutes, and as I understand we are nowhere close to that yet. I don't feel particularly strong about this, but if we do decide to lower the bar, then we should reconsider all the other platforms that have been left out (such as the long list of GDC architectures which I understood Iain to say that, well, since the build succeeds and Debian successfully packages it, then it has to work. I might be wrong, though, which is my point exactly - there is really insufficient information about what exactly one can expect to work on each platform/architecture (and their combinations).
>

Essentially, the reason D has not been ported to X has nothing to do with lack of compiler support.  A compiler can always be built to target X, and if that wasn't enough, there are many ready built packages available that target X.

It is now your job as porters to fix up druntime to allow a library to be built by these compilers.

Iain.


October 18, 2015
On Sunday, 18 October 2015 at 07:37:55 UTC, Iain Buclaw wrote:
> Essentially, the reason D has not been ported to X has nothing to do with lack of compiler support.  A compiler can always be built to target X, and if that wasn't enough, there are many ready built packages available that target X.
>
> It is now your job as porters to fix up druntime to allow a library to be built by these compilers.

That's not very useful. LDC and GDC still include Phobos and Druntime.

You're essentially saying that once LDC gets Android/iOS support, GDC will automatically get it as well with no effort required from you?