October 26, 2017
On 10/26/17 7:09 AM, Mike Parker wrote:
> On Thursday, 26 October 2017 at 10:16:27 UTC, Adam Wilson wrote:
>> On 10/26/17 00:32, Jacob Carlborg wrote:
> 
>>>
>>> IIRC, there have been people on these forums that have been asking why
>>> they need to download additional software when they already have the
>>> compiler.
>>>
>>> Same on macOS.
>>>
>>
>> How many though? Also, we have to do it for macOS, why is Windows special? The macOS setup was just as hard. Download two large packages (XCode+Cmd tools), install, and done.
> 
> There definitely has been an uptick in that sort of complaint. The question should be, how many aren't coming here to complain?
> 
> My initial internal reaction has always been, "just download and install -- how hard is it?". But one day I stopped and asked myself, what if I were coming to D today? I got by just fine for years without having VS installed. Once the 6.0 days were behind me, I neither needed nor wanted VS. I was content with mingw for my C stuff. When I first came to D, I came with the full knowledge that there was no ecosystem, things were rough, and I'd have to do a lot by hand. I stuck around because the language was worth it. If I came in today and saw that I needed to install VS just to get 64-bit binaries, I doubt I'd stick around long enough to discover how great the language is.
> 
> I also didn't like that I had to install the Xcode tools on my Mac, but that's needed for any development on Mac from what I can see.

A wizard-style installation with links to things and a good flow might help a lot here. Is that possible? -- Andrei
October 26, 2017
On 10/26/17 7:09 AM, Mike Parker wrote:
> I also didn't like that I had to install the Xcode tools on my Mac, but that's needed for any development on Mac from what I can see.

Want to hear something scary? The autotester does not use xcode tools :)

In fact, I've been meaning to bug Brad about checking to see if things have improved (xcode's compiler used to generate a dmd that would fail some of the tests). I've never used gnu gcc, only ever Xcode's compiler (which is llvm).

-Steve
October 26, 2017
On Thursday, 26 October 2017 at 10:19:23 UTC, Kagamin wrote:
>
> LLD was integrated in ldc 1.3.0 https://github.com/ldc-developers/ldc/pull/2142 but currently has conflicting command line options. I suppose you can still run it separately, for me even ld works.

Interesting.
October 26, 2017
On Thursday, 26 October 2017 at 11:32:26 UTC, Andrei Alexandrescu wrote:
>
> A wizard-style installation with links to things and a good flow might help a lot here. Is that possible? -- Andrei

The DMD installer is already a Wizard on Windows.

First it checks if you have a current version of D and will uninstall that, then it checks if you want to install D2 along with some extras (Visual D, DMC, D1), and it goes through additional steps to install the extras if you select them.

However, if you need Visual Studio installed, then that takes like a half an hour. My recollection is that it's a little tricky if you upgrade to a new version of VS. I usually just uninstall D and reinstall it rather than deal with that.

I would have to uninstall MSVC to figure out how annoying it would be to install without one (and that's a bit of a hassle). I can't remember at what point it checks for MSVC, maybe before installing Visual D?

One thing that might slightly simplify things is if the smallest free MSVC you can install is provided as optional if no MSVC installation is found. Some note can be added like "Required for 64bit binaries".
October 26, 2017
On 10/26/2017 08:36 AM, jmh530 wrote:
> On Thursday, 26 October 2017 at 11:32:26 UTC, Andrei Alexandrescu wrote:
>>
>> A wizard-style installation with links to things and a good flow might help a lot here. Is that possible? -- Andrei
> 
> The DMD installer is already a Wizard on Windows.
> 
> First it checks if you have a current version of D and will uninstall that, then it checks if you want to install D2 along with some extras (Visual D, DMC, D1), and it goes through additional steps to install the extras if you select them.
> 
> However, if you need Visual Studio installed, then that takes like a half an hour. My recollection is that it's a little tricky if you upgrade to a new version of VS. I usually just uninstall D and reinstall it rather than deal with that.
> 
> I would have to uninstall MSVC to figure out how annoying it would be to install without one (and that's a bit of a hassle). I can't remember at what point it checks for MSVC, maybe before installing Visual D?
> 
> One thing that might slightly simplify things is if the smallest free MSVC you can install is provided as optional if no MSVC installation is found. Some note can be added like "Required for 64bit binaries".

I am preparing a request for Microsoft to allow us to redistribute some of their binaries. Of course we want to do that only if deemed necessary (they are not available easily from their site etc). Any help building an exact list of requisites would be great. Thanks! -- Andrei
October 26, 2017
On Thursday, 26 October 2017 at 12:36:40 UTC, jmh530 wrote:
> However, if you need Visual Studio installed, then that takes like a half an hour.

And a gig of space, just because D needs a small part of it. That is why people do not want to install VS. Why install a competing language studio, when you are installing D.
October 26, 2017
On Thursday, 26 October 2017 at 15:50:07 UTC, Andrei Alexandrescu wrote:
> On 10/26/2017 08:36 AM, jmh530 wrote:
>> [...]
>
> I am preparing a request for Microsoft to allow us to redistribute some of their binaries. Of course we want to do that only if deemed necessary (they are not available easily from their site etc). Any help building an exact list of requisites would be great. Thanks! -- Andrei

Thanks a lot Andrei. At my working environment I advertise the use of DLang. Major competitors are python, nodejs, java and go. Everything which makes the installation and use of DLang more easy makes it easier to advertise D.

Kind regards
Andre
October 26, 2017
On Thursday, 26 October 2017 at 15:50:07 UTC, Andrei Alexandrescu wrote:
>
> I am preparing a request for Microsoft to allow us to redistribute some of their binaries. Of course we want to do that only if deemed necessary (they are not available easily from their site etc). Any help building an exact list of requisites would be great. Thanks! -- Andrei

Cool.

From the Installing DMD wiki (https://wiki.dlang.org/Installing_DMD), it recommends the VS 2015 Community for Windows 7/8 or VS 2017 Community for Windows 10 users. I have Visual Studio Community 2017 installed, available from one of the links here:
https://www.visualstudio.com/downloads/

One little trick in the wiki is that it says that you can uncheck boxes to reduce the size/time of the download. It might be helpful to know the minimum required to get D working and the minimum required to get Visual D working.

It also lists an alternative to install the Microsoft build tools and an appropriate version of the Windows SDK. LDC also refers to the Visual C++ build tools, but does not reference the SDK. I think the VS build tools replace the Visual C++ tools. The VS build tools look like they have an option to install the SDK and other stuff too.
October 26, 2017
On Thursday, 26 October 2017 at 11:32:26 UTC, Andrei Alexandrescu wrote:

> A wizard-style installation with links to things and a good flow might help a lot here. Is that possible? -- Andrei

The installer currently offers to install VS 2013. A more recent version might be better for some people, but I don't think it would have done anything for me. Just the idea that it's necessary would be a turn off. These days especially I'm less inclined to try new things if the slightest hurdle is presented simply because I put a higher premium on my time than I used to.

More broadly, I think in 2017 it's still true that serious Windows developers/shops will have VS installed, but there's no guarantee that anyone developing on Windows is a "Windows developer". With the myriad languages and VMs to choose from, they're don't even have to be aware that VS exists. Anything that hides the dependency from them in a way the minimizes the install would be a win.
October 26, 2017
On Thursday, 26 October 2017 at 16:27:13 UTC, Andre Pany wrote:
> On Thursday, 26 October 2017 at 15:50:07 UTC, Andrei Alexandrescu wrote:
>> On 10/26/2017 08:36 AM, jmh530 wrote:
>>> [...]
>>
>> I am preparing a request for Microsoft to allow us to redistribute some of their binaries. Of course we want to do that only if deemed necessary (they are not available easily from their site etc). Any help building an exact list of requisites would be great. Thanks! -- Andrei
>
> Thanks a lot Andrei. At my working environment I advertise the use of DLang. Major competitors are python, nodejs, java and go. Everything which makes the installation and use of DLang more easy makes it easier to advertise D.

That's exactly the kind of developer background I'm thinking of. Getting permission to redistribute from MS would be the ideal solution. If not, I'm sure someone will find a way to make it work with the LLVM or MinGW tools eventually.