July 01, 2020
On Wednesday, 1 July 2020 at 17:00:27 UTC, Steven Schveighoffer wrote:
>
> It may not be a dismissable problem, but it's also not someone anyone but Walter can fix. So the question from a community standpoint is (allowing that we have really no control over this), is it worth having Walter create an entirely new backend instead of doing other work? I'd say no.
>

It's inevitable that backends using LLVM or GCC will take over. Already today the DMD backend falls short when it comes to code generation compared to LDC and GDC. DMD has its benefits but as LDC and GDC progresses those benefits become less and it will not be worth using DMD at all.

Walter may work all he wants on the DMD backend but the question is how well spent time that is as not many people will use it. If I would be Walter I would retire the DMD code generator and completely migrate to LLVM and GCC. This is a project with limited resources and that's one way to streamline the project. About all new language projects use an external backends like GCC or LLVM. Mention one project that has its own in the last 10 years. Now this was not the case during 90s where D was being formed.

LDC is my default compiler and it was that from the very beginning. I just tried out DMD a bit but never ever used for something serious.

July 01, 2020
Yes, ideally a compiler shouldn't need to worry about a backend nowadays. Yet, SBCL and OCaml have comfortably maintained their own non-GCC non-LLVM backends. They are fairly imperative languages, so the choice of dmd backend may hypothetically be among 4, not 2. If it comes to evolving dmd backend, maybe it should shift, but maintaining script-like development seems useful. It doesn't help that ARM is a fragmented land, compiling dmd from source may be commonly required and I haven't had success compiling gdc on amd64 with less than 4GB of RAM. It sounds bad to need a separate big machine just for compilation, when ARM isn't an embedded targer.
July 01, 2020
On 2020-07-01 05:10, Seiji Emery wrote:
> addendum:
> 
> yes, this means you'd be stuck w/ an apple dev kit (and need to be a registered apple developer so the full cost of getting this is ~$600)

No you won't. You need to return it.

-- 
/Jacob Carlborg
July 01, 2020
On 2020-07-01 10:22, Paolo Invernizzi wrote:

> There are plenty of solutions, without having to rely on Apple!

If we're talking specifically about supporting the new Apple Silicon (as they call their ARM chip) any old ARM won't do. Apple uses a slightly different ABI then regular ARM. It might get you close, but not all the way. Alternatively, one can work with an iPhone or an iPad. iPhone and iPad apps run unmodified on Macs with Apple Silicon. It happens so, that this dev kit is running exactly the same CPU as the latest iPad Pro.

Also, one probably need to be able to cross-compile, which DMD doesn't support. Or using an old version from when DMD was written in C++ to bootstrap.

-- 
/Jacob Carlborg
July 01, 2020
On Wednesday, 24 June 2020 at 16:27:27 UTC, Seb wrote:
> There are _zero_ plans to make DMD work on ARM architectures. There are so many other actually impactful things to do ;-)

I personally had, but I quickly gave up due to the massive amount of work it would have taken, alongside with having less experience with coding.

Supposedly it wouldn't be too hard to modify the backend, and now that it's also in D it would be much easier. I personally don't have any will to do as such, and I would like to work on my own projects instead, like the BASIC interpreter I started to design.
July 02, 2020
On Wednesday, 24 June 2020 at 11:21:51 UTC, aberba wrote:
> https://www.google.com/amp/s/www.wsj.com/amp/articles/apples-new-macs-how-theyll-work-after-ditching-intel-chips-11592862690
>
> This means there's genuine interest in Arm. Note there's similar move by Microsoft to get their system to work on Arm chips.
>
>
> PC was the only compelling target for Intel/Amd targets but now its changing.

I'm quite skeptical about how big of an impact it'll have.

Apple's main customers are rich business people wanting to do regular office-work on a luxury machine. Machined aluminium is the new beige. Yes, other people still use them, but seeing how long Apple have neglected it's professional users, I wouldn't be surprised if they either ditched them completely, or just force them into their restrictive ecosystem. There's a lot of productivity apps ported to ARM processors already, but some people will suffer as a consequence of Apple's move.

Even if Apple will fail massively with their ARM chips, we still need to get into ARM more than currently. I personally would have gotten a Raspberry Pi, unfortunately my country has a quite infamous used market, where people are trying to sell outdated hardware barely below their original price. Money is still a concern for me, although I have a few plans to remedy it.
July 02, 2020
On Wednesday, 1 July 2020 at 15:55:34 UTC, Paolo Invernizzi wrote:
> On Wednesday, 1 July 2020 at 15:48:59 UTC, Martin Tschierschke wrote:
>> On Wednesday, 1 July 2020 at 08:22:25 UTC, Paolo Invernizzi wrote:
>>
>>>
>>> A 35$ Raspberry PI supports 2x 4K display, and comes with a Debian based linux complete with GUI. You can attach a keyboard, mouse and have a little ARM machine to toy with (but no precompiled LDC, its 32bit ...)
>>
>> What do you mean by "no precompiled LDC?"
>>
>> Just `sudo apt install ldc` and you go....
>>
>> ldc2 --version
>> LDC - the LLVM D compiler (1.12.0):
>>   based on DMD v2.082.1 and LLVM 6.0.1
>>   built with LDC - the LLVM D compiler (1.12.0)
>>   Default target: armv6-unknown-linux-gnueabihf
>>   Host CPU: cortex-a72
>>   http://dlang.org - http://wiki.dlang.org/LDC
>
> Cool, (a little outdated) but cool!
>
> Usually we use the tar from the release page of the LDC GitHub page, but good to know LDC it's available also on that platform!
>
> Thank you Martin for the info!

There's not enough awareness of some of these things.

If you don't get why DMD is so important in this ARM talk is unless you're a seasoned D developer of LLVM guy, you'll most likely start with DMD. Cus it's the default compiler and it's quite easy to use with a simple .deb file download.
July 02, 2020
On Wednesday, 1 July 2020 at 17:00:27 UTC, Steven Schveighoffer wrote:
> On 7/1/20 12:27 PM, Yatheendra wrote:
>> On Wednesday, 1 July 2020 at 14:27:21 UTC, bachmeier wrote:

> Another approach may be to figure out a way to make a non-optimized build with ldc run as fast as or close to dmd.
>
Can this be done. Is so, then there wouldn't be much need for DMD to still remain the default.

You know DMD has the best get-go developer experience. All you need is a simple .deb

Back when I was using even Windows XP (early D2), DMD had the best get-go experience that got me stuck with it. Just like python in Windows.

Can't say that about LDC.


July 02, 2020
On 02/07/2020 1:45 PM, aberba wrote:
> On Wednesday, 1 July 2020 at 17:00:27 UTC, Steven Schveighoffer wrote:
>> On 7/1/20 12:27 PM, Yatheendra wrote:
>>> On Wednesday, 1 July 2020 at 14:27:21 UTC, bachmeier wrote:
> 
>> Another approach may be to figure out a way to make a non-optimized build with ldc run as fast as or close to dmd.
>>
> Can this be done. Is so, then there wouldn't be much need for DMD to still remain the default.
> 
> You know DMD has the best get-go developer experience. All you need is a simple .deb
> 
> Back when I was using even Windows XP (early D2), DMD had the best get-go experience that got me stuck with it. Just like python in Windows.
> 
> Can't say that about LDC.

On Windows LDC and DMD should have the same out of the box experience thanks to LLD today.

LDC is packaged in linux repositories like debian.

https://packages.debian.org/buster/ldc

Not the latest, but it is simpler than dmd as no looking for a deb file.

$ apt install ldc

;)
July 02, 2020
On Thursday, 2 July 2020 at 01:56:34 UTC, rikki cattermole wrote:
> On 02/07/2020 1:45 PM, aberba wrote:
>> On Wednesday, 1 July 2020 at 17:00:27 UTC, Steven Schveighoffer wrote:
>>> On 7/1/20 12:27 PM, Yatheendra wrote:
>>>> On Wednesday, 1 July 2020 at 14:27:21 UTC, bachmeier wrote:
>> 
>>> Another approach may be to figure out a way to make a non-optimized build with ldc run as fast as or close to dmd.
>>>
>> Can this be done. Is so, then there wouldn't be much need for DMD to still remain the default.
>> 
>> You know DMD has the best get-go developer experience. All you need is a simple .deb
>> 
>> Back when I was using even Windows XP (early D2), DMD had the best get-go experience that got me stuck with it. Just like python in Windows.
>> 
>> Can't say that about LDC.
>
> On Windows LDC and DMD should have the same out of the box experience thanks to LLD today.
>
> LDC is packaged in linux repositories like debian.
>
> https://packages.debian.org/buster/ldc
>
> Not the latest, but it is simpler than dmd as no looking for a deb file.
>
> $ apt install ldc
>
> ;)

For your information, using a deb is actually more simple. It all depends on how you're conditioned. Also where you're coming from.

There's a reason why dmd installer downloads keep ticking.