April 12, 2017
On 12/04/2017 10:54 AM, Russel Winder via Digitalmars-d wrote:
> On Wed, 2017-04-12 at 10:43 +0100, rikki cattermole via Digitalmars-d
> wrote:
>> […]
>>
>> JNI itself isn't hard to work with, its mapping classes for D easily
>> to
>> it which is hard. Especially when inheritance comes into play.
>
> JNI is on notice for being retired, but clearly this is Java so
> sometime next century. The replacement won't be here for a while, but
> it will be here.
>
> http://openjdk.java.net/jeps/191

Considering it was created in 2014, I think we're safe implementing extern(JNI) support either which ways.

Although a little strange since nobody has completed a full JNI implementation yet!

April 12, 2017
On 04/06/2017 08:52 AM, Adam D. Ruppe wrote:
>
> I don't even own a mobile device and don't see that changing any time
> soon (they are really expensive, slow, and just generally hard to use*).

That last point is so very true. Bugs me so much that 99.999% of mobile users never really understood the difference between "easy to learn" and "easy to use".

And frankly, if you ask me, the only real thing that ever made those hieroglyph-heavy, non-discoverable-gesture-reliant devices "easy to learn" was the fact that Steve Jobs was very insistent on making sure everyone called it a "phone" and that they were to NEVER be called "computers" - hence sidestepping the #1 roadblock in learning how to use a computer: epidemic knee-jerk intimidation at the mere mention of the work "computer". iPhones (and Android) were NEVER easy to learn (who in the world EVER learned how to switch between running applications on an iPhone without somebody having to explain it to them first? Nobody. 100% non-discoverable.). But unlike computers, people actually bothered to try, because they were told they were "phones" and "Oh, I know how to use a phone!". "Phone" isn't scary. "Computer" is scary. My PalmOS devices were VASTLY easier to get things done on. All they really needed was WiFi (which was expensive at the time) and a better camera.

I don't blame you. Only reason I eventually wound up getting a "smartphone" is so I could have basic internet connectivity while AFK. (And because both my watch and portable music player finally died, so I was like, meh, well, I can take care of all that at once.) But for most tasks, it's quicker and easier to just wait until I'm back at the PC.

April 12, 2017
I *strongly* agree with the notion that mobile/ARM/iOS/'droid/etc needs to be a major part of D's immediate future.

However...

On 04/06/2017 01:24 AM, Joakim wrote:
> I have been saying for some time now that mobile is going to go after
> the desktop next
> (http://forum.dlang.org/thread/rionbqmtrwyenmhmmggx@forum.dlang.org),
> Samsung just announced it, for a flagship device that will ship tens of
> millions:

If you look into the details and current reality of the S8's docked mode, *at best* it's equivalent to Windows 8.0 and will remain so for at least a couple years or so: It's connecting a keyboard/mouse/monitor to a software ecosystem that is still 90% tailored for handheld formfactor.

Ie, at best, it's going to be awhile before it's docked mode is realistically usable as a Win/Lin/OSX replacement (as opposed to a mobile projected onto a 20" screen). And by then, they'll be building hype for Galaxy S10 or so.

Not saying it won't happen at some point in the near-to-mid future, but time has proven that each of these attempts, individually, only each have a modest chance of really taking off (and frankly, I've seen other attempts that did a better job - namely the abandoned one Ubuntu had been working on, which ran the *actual* Ubuntu desktop when you plugged in monitor/keyboard/mouse). Even if Samsung does succeed in making the Galaxy a genuine desktop option, it's definitely not going to happen within the S8's lifetime. This is just the "early adopter tech-preview" device.

>
> D is currently built and optimized for that dying PC platform.

This is just hyperbole. Declining != dying.

April 13, 2017
On Wed, 2017-04-12 at 10:59 +0100, rikki cattermole via Digitalmars-d wrote:
> […]
> 
> Considering it was created in 2014, I think we're safe implementing extern(JNI) support either which ways.
> 
> Although a little strange since nobody has completed a full JNI implementation yet!

JNI will be around for decades because of the way deprecation works in Javaland. I suspect though that if Charles gets the support of the JNA folk to back his JNR basis for this proposal, it can all happen quite quickly. JDK10 being possible though JDK11 more likely.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

April 13, 2017
On 13 April 2017 at 10:12, Russel Winder via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Wed, 2017-04-12 at 10:59 +0100, rikki cattermole via Digitalmars-d wrote:
>> […]
>>
>> Considering it was created in 2014, I think we're safe implementing extern(JNI) support either which ways.
>>
>> Although a little strange since nobody has completed a full JNI implementation yet!
>
> JNI will be around for decades because of the way deprecation works in Javaland. I suspect though that if Charles gets the support of the JNA folk to back his JNR basis for this proposal, it can all happen quite quickly. JDK10 being possible though JDK11 more likely.
>

It may be of worthy note that gcc has dropped the Java frontend (gcj) and thus the JNI from C/C++ in the compiler.

If JNI can work as a library, then there's no problem, however.

April 13, 2017
On 13/04/2017 10:30 AM, Iain Buclaw via Digitalmars-d wrote:
> On 13 April 2017 at 10:12, Russel Winder via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
>> On Wed, 2017-04-12 at 10:59 +0100, rikki cattermole via Digitalmars-d
>> wrote:
>>> […]
>>>
>>> Considering it was created in 2014, I think we're safe implementing
>>> extern(JNI) support either which ways.
>>>
>>> Although a little strange since nobody has completed a full JNI
>>> implementation yet!
>>
>> JNI will be around for decades because of the way deprecation works in
>> Javaland. I suspect though that if Charles gets the support of the JNA
>> folk to back his JNR basis for this proposal, it can all happen quite
>> quickly. JDK10 being possible though JDK11 more likely.
>>
>
> It may be of worthy note that gcc has dropped the Java frontend (gcj)
> and thus the JNI from C/C++ in the compiler.
>
> If JNI can work as a library, then there's no problem, however.

Tried as a library, not easy to get right, compiler would be a good deal better.

April 13, 2017
On Thursday, 6 April 2017 at 09:39:05 UTC, kinke wrote:
> we already have (unlike DMD, fully free!) D compilers able to ...

DMD is now fully free:

https://forum.dlang.org/post/oc8acc$1ei9$1@digitalmars.com
April 13, 2017
On Wednesday, 12 April 2017 at 19:20:27 UTC, Nick Sabalausky (Abscissa) wrote:
>
> I *strongly* agree with the notion that mobile/ARM/iOS/'droid/etc needs to be a major part of D's immediate future.
>
> However...
>
> On 04/06/2017 01:24 AM, Joakim wrote:
>> I have been saying for some time now that mobile is going to go after
>> the desktop next
>> (http://forum.dlang.org/thread/rionbqmtrwyenmhmmggx@forum.dlang.org),
>> Samsung just announced it, for a flagship device that will ship tens of
>> millions:
>
> If you look into the details and current reality of the S8's docked mode, *at best* it's equivalent to Windows 8.0 and will remain so for at least a couple years or so: It's connecting a keyboard/mouse/monitor to a software ecosystem that is still 90% tailored for handheld formfactor.

I'm guessing you mean that it's equivalent because most Windows apps were never redone for their mobile platform, but the S8 and Nougat are ahead in one key area: their docked support actually has full multi-window, unlike Microsoft's similar Continuum docked mode which only supports using apps in fullscreen (that may be changing with the just-released Creators update).

> Ie, at best, it's going to be awhile before it's docked mode is realistically usable as a Win/Lin/OSX replacement (as opposed to a mobile projected onto a 20" screen). And by then, they'll be building hype for Galaxy S10 or so.

No, the mobile apps run in their own smaller windows, so they're not projected to the full 20" screen, unlike with Continuum.  You're right that most mobile apps haven't been redone for this docked mode, but you can usually use them just fine with a mouse and keyboard.

I'm doing it right now: Chrome for Android has had keyboard shortcuts for a long time and Android has long supported mouse pointers.  I'm typing this into an Android tablet with a bluetooth keyboard, and Alt-tabbing back to the Termux app to look at D code:

https://play.google.com/store/apps/details?id=com.termux&hl=en

It's been usable for me since I installed Termux in late 2015, which is why I didn't bother buying anything else when my Win7 ultrabook died then.  With Android 7.0 Nougat, which builds native multi-window into every Android device, you'll be able to screencast even budget phones like this:

https://arstechnica.com/gadgets/2017/03/moto-g5-plus-review-still-good-and-cheap-but-not-the-bargain-it-once-was/

though it requires an app to enable it:

http://www.androidpolice.com/2016/08/27/taskbar-lets-enable-freeform-mode-android-nougat-without-root-adb/
http://www.androidpolice.com/2016/09/19/taskbar-updated-version-1-2-can-now-completely-replace-home-screen/

> Not saying it won't happen at some point in the near-to-mid future, but time has proven that each of these attempts, individually, only each have a modest chance of really taking off (and frankly, I've seen other attempts that did a better job - namely the abandoned one Ubuntu had been working on, which ran the *actual* Ubuntu desktop when you plugged in monitor/keyboard/mouse). Even if Samsung does succeed in making the Galaxy a genuine desktop option, it's definitely not going to happen within the S8's lifetime. This is just the "early adopter tech-preview" device.

Sure, but we're talking about an attempt now with a software platform that sells more than a billion devices per year, and with a device, the S8, that will sell tens of millions.  That is a first compared to the previous efforts you list, and make this more likely to succeed.

>> D is currently built and optimized for that dying PC platform.
>
> This is just hyperbole. Declining != dying.

"Luke, you're going to find that many of the truths we cling to depend greatly on our own point of view."

From a certain point of view, you could say PC sales are only down 25% from their peak, that's not dead yet.  But the chart I linked shows their share of personal computing devices, including mobile, has dropped from 78% to a little less than 14% over the last decade.  I'd call that dying.
April 15, 2017
On Thursday, 6 April 2017 at 09:39:05 UTC, kinke wrote:
>
> What LDC would primarily need is a CI platform supporting ARM (and ideally AArch64) in order to make it a true first-class target. We don't know of a free CI platform, so ARM isn't tested automatically, and it's currently mostly up to poor you to check for regressions. ;(

I bought a Pi3 and was planning to use it as tester for LDC. But so far, I've only spent time to build LDC on it and run the tests once.

Kai worked on setting up a buildbot infrastructure that we can use for automated testing, but the full integration with Github was still a work-in-progress I think. Would have to ask Kai if that's the current status.
I'd be happy to use the Pi3 as permanent tester, if the risks of a hacker intruding my home network are manageable ;-)

cheers,
  Johan


April 15, 2017
On Saturday, 15 April 2017 at 09:52:49 UTC, Johan Engelen wrote:
> On Thursday, 6 April 2017 at 09:39:05 UTC, kinke wrote:
>>
>> What LDC would primarily need is a CI platform supporting ARM (and ideally AArch64) in order to make it a true first-class target. We don't know of a free CI platform, so ARM isn't tested automatically, and it's currently mostly up to poor you to check for regressions. ;(
>
> I bought a Pi3 and was planning to use it as tester for LDC. But so far, I've only spent time to build LDC on it and run the tests once.
>
> Kai worked on setting up a buildbot infrastructure that we can use for automated testing, but the full integration with Github was still a work-in-progress I think. Would have to ask Kai if that's the current status.
> I'd be happy to use the Pi3 as permanent tester, if the risks of a hacker intruding my home network are manageable ;-)
>
> cheers,
>   Johan

Not sure how much memory ldc takes to build.  If it would be helpful for ARM I could contribute a couple of servers on scaleway or similar.  I get a lot of value from LDC and would like to be able to have mature platform for android ARM too, so happy to contribute some small thing back.   Android servers also interesting longer term, though I couldn't yet find anything interesting vs what's available on Intel.  (I rent bare metal fairly beefy servers from  OVH). Just let me know if it would be helpful.

Gitlab has test runners built in, at least for enterprise version (which is not particularly expensive) and we have been happy with that.

Laeeth