June 17, 2017
On Friday, 16 June 2017 at 17:10:41 UTC, Jacob Carlborg wrote:
> On 2017-06-16 09:53, Mike B Johnson wrote:
>>> DVM [1] is doing some of this.
>>
>> Cool, does it keep things well organized
>
> It depends on what you definition of organized. DVM is a tool that allows you to easily install D compilers. It also allows to easily switch between multiple versions of the compiler. That is, you can have one window (terminal) with one version and another window with another version.
>
> On Posix it installs everything ~/.dvm. Each compiler is placed in its own directory, it's mostly the zip archives available on dlang.org unpacked. Here's an example of how the directory structure looks like on Posix:
>
> $ tree -L 2 .dvm
> .dvm
> ├── archives
> │   ├── dmd.2.073.0.osx.zip
> │   ├── dmd.2.074.0-b1.osx.zip
> │   └── dmd.2.074.0.osx.zip
> ├── bin
> │   ├── dmd-2.073.0
> │   ├── dmd-2.074.0
> │   ├── dmd-2.074.0-b1
> │   ├── dvm
> │   ├── dvm-current-dc
> │   ├── dvm-default-dc
> ├── compilers
> │   ├── dmd-2.073.0
> │   ├── dmd-2.074.0
> │   ├── dmd-2.074.0-b1
> ├── env
> │   ├── default
> │   ├── dmd-2.073.0
> │   ├── dmd-2.074.0
> │   ├── dmd-2.074.0-b1
> └── scripts
>     └── dvm
>
>> and deals with windows issues(link.exe., dlls, etc) or just uses the "D way" which is a hairball?
>
> I'm not that familiar with Windows (the Windows support was contributed by another developer) so I'm not sure which issues you refer to.


Thanks. At least D has something going on correctly here.

My feeling is, unless DVM works well with windows, that it probably currently doesn't offer much help. If it does manage the versioning well and can deal with the environmental issues well then it is close to what I am asking. If that's the case, it should be polished off and used as the main front end and hosted by D.

You didn't state if it works congruently with all the major compilers.

The issues in windows are:

1. coff/omf. Requires use of windows and visual studio/C stuff who's locations and versions change over the years. This can be a major headache finding the right version. Mainly because the error messages, when using the wrong version, do not suggest that it is a versioning error.

dvm could have the option to search the entire system for the files it needs(e.g., link.exe, various dlls that are generally used, etc) and attempt get things to work.

2. Managing different compilers: Not too bad but if you end up with some problems here, then it gets multiplied by the factor of the number of issues with each compiler. if LDC has an issue with the x64 dlls and dmd with the x32 and they are always looking in the same place because the versions are different and wrong, then it becomes a issue with a "factor of 4" problem. This can become even worse when you try cross compiling and such.

3. Re-installation can be problematic. sci.ini is overwritten. If you hand coded the paths to get everything to work, guess what? Well, who cares? You have plenty of time to waste, right?

4. Reinstalling one thing can break something else. This depends on how fragile the setup was at the start.

5. People that don't have problems with their setup generally think everything "just works" and bitch at others for complaining.  Ignorance is bliss, but it's still ignorance. Life is more complicated and everything just doesn't work for everyone because everyone system is different. I don't use standard paths to install things and when an installer hard codes paths that don't exist, it breaks on my system. That is not my fault. The installer shouldn't be so ignorant and do it's job properly. Usually it was written by someone who thinks that when other people have problems on their system, it is due to their ignorance rather than the ignorance of the installer writer(Because they think: Hey, it worked on my system and my system is the same as everyone elses). Same goes for utilities.

I have over 1 billion files on my system, I use it for around 20 different non-complementary subjects(graphics, music, programming, etc). When everything is "competing for space" and things are not set up to work together, one seemingly unrelated program and effect every other one. (e.g., simply by adding to the path variable and break things with error messages that are meaningless to the real problem)

Most ignorant people do not take those things in to account because they oversimplify... and that usually causes problems down the road for the rest of us.

As D becomes increasing popular, there are going to be more variation in the system and the flaws in it will become larger and larger.  It's best to start working on fixing those flaws before they become too large to manage and weaken the whole structure. We all know this to be true on some level, but it is actually fact. It is the way of life, everything breaks down. The more flaws it has at the start, the faster it will break down... unless they are fixed at the start. Fixing them near the end just results in a huge waste of time and resources. e.g., same problem with a human being. If a kid doesn't take care of themselves, they will have many problems when they get old... then tons of money will be wasted on trying to "fix" them. If the kid took care of himself when he was young, those problems would be minimized. Same with a utility, app, or installer. But most humans treat their work like their life... they don't do the right thing until they are forced too, and by then it's too late. The point with all this is that D needs to start doing the right things that now rather than wait until it's too late. I'm not saying it is not doing anything right, but it is obvious by some of the comments that some people just don't get it and think it's everyone else's problem(and these people are generally the one that fucks it up for the rest of us, just look at the world today for the constant reminder). D and be the shining city on the hill or it can just be another New York or Dallas. Sure, they are big, but full of problems. Some people are happy and some are not. The goal is to make everyone happy. That starts by, first, by having a good foundation.








June 17, 2017
On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
> When a new user goes to start using D for the first time, D is a PITA to get working! Don't believe me?!?!

I'm running Debian GNU/Linux (testing). Here's the installation process for the 3 major D compilers.

$ apt install gdc
$ gdc my_first_program.d

GDC is too old for you? Fine, let's use ldc:

$ apt install ldc
$ ldc2 my_first_program.d

Or if you want the bleeding edge version of D:

(download dmd .deb package from dlang.org)
$ dpkg -i dmd_*******.deb
$ rdmd my_first_program.d

Debian maintainers, one word: Thank you!
June 17, 2017
On Sat, 2017-06-17 at 08:27 +0000, Sebastien Alaiwan via Digitalmars-d wrote:
> On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
> > When a new user goes to start using D for the first time, D is a PITA to get working! Don't believe me?!?!
> 
> I'm running Debian GNU/Linux (testing). Here's the installation process for the 3 major D compilers.
> 
> $ apt install gdc
> $ gdc my_first_program.d

Or use aptitude, which I believe remains the Debian preferred high- level tool.

> GDC is too old for you? Fine, let's use ldc:
> 
> $ apt install ldc
> $ ldc2 my_first_program.d

Definitely, caveat aptitude.

> Or if you want the bleeding edge version of D:
> 
> (download dmd .deb package from dlang.org)
> $ dpkg -i dmd_*******.deb
> $ rdmd my_first_program.d

I wonder if it is better to use the d-apt repository for DMD rather than downloading. Downloading is always a pain for updating packages.

http://d-apt.sourceforge.net/

OK so it is on SourceForge, but it does work.

> Debian maintainers, one word: Thank you!

That's two words. :-)

-- 
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

June 17, 2017
On Saturday, 17 June 2017 at 08:27:33 UTC, Sebastien Alaiwan wrote:
> On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
>> When a new user goes to start using D for the first time, D is a PITA to get working! Don't believe me?!?!
>
> I'm running Debian GNU/Linux (testing). Here's the installation process for the 3 major D compilers.
>
> $ apt install gdc
> $ gdc my_first_program.d
>
> GDC is too old for you? Fine, let's use ldc:
>
> $ apt install ldc
> $ ldc2 my_first_program.d
>
> Or if you want the bleeding edge version of D:
>
> (download dmd .deb package from dlang.org)
> $ dpkg -i dmd_*******.deb
> $ rdmd my_first_program.d
>
> Debian maintainers, one word: Thank you!

Sorry, doesn't help me or people in general. Also, simple examples are not proof that the solutions are general. It may be that easy on linux or it may not be, but it's definitely not that case on windows FOR almost ALL installations.



June 17, 2017
On 2017-06-17 08:06, Mike B Johnson wrote:

> Thanks. At least D has something going on correctly here.
>
> My feeling is, unless DVM works well with windows, that it probably
> currently doesn't offer much help. If it does manage the versioning well
> and can deal with the environmental issues well then it is close to what
> I am asking. If that's the case, it should be polished off and used as
> the main front end and hosted by D.
>
> You didn't state if it works congruently with all the major compilers.

No, unfortunately it only allows to install DMD.

> The issues in windows are:
>
> 1. coff/omf. Requires use of windows and visual studio/C stuff who's
> locations and versions change over the years. This can be a major
> headache finding the right version. Mainly because the error messages,
> when using the wrong version, do not suggest that it is a versioning error.
>
> dvm could have the option to search the entire system for the files it
> needs(e.g., link.exe, various dlls that are generally used, etc) and
> attempt get things to work.

No, DVM doesn't do anything to try to find the installation of Visual Studio. Unless the compiler already can find it, it won't help. DVM was created before the compiler supported Visual Studio and I haven't kept the tool up to date to match that.

> 3. Re-installation can be problematic. sci.ini is overwritten. If you
> hand coded the paths to get everything to work, guess what? Well, who
> cares? You have plenty of time to waste, right?

That's a difficult problem. What if you messed up sc.ini and that's the reason you want to reinstall?

-- 
/Jacob Carlborg
June 17, 2017
On Saturday, 17 June 2017 at 06:06:53 UTC, Mike B Johnson wrote:

> 1. coff/omf. Requires use of windows and visual studio/C stuff who's locations and versions change over the years. This can be a major headache finding the right version. Mainly because the error messages, when using the wrong version, do not suggest that it is a versioning error.

This isn't as severe as you make it sound. If the latest version of VS doesn't work, the one before will. It's easy to prevent such issues in the future. Since we never know if a new version of VS will break things, this can be solved by one person who can monitor the beta releases of VS and submit PRs to the appropriate repositories if the paths change, or (as happened with VS 2015) the C runtime library changes, or some other breakage arises. Then DMD can get support for the new version before it's released. Could that person be you?


>
> 2. Managing different compilers: Not too bad but if you end up with some problems here, then it gets multiplied by the factor of the number of issues with each compiler. if LDC has an issue with the x64 dlls and dmd with the x32 and they are always looking in the same place because the versions are different and wrong, then it becomes a issue with a "factor of 4" problem. This can become even worse when you try cross compiling and such.

What I've done in the past is to keep the latest DMD on the system path, then set up Command Prompt shortcuts initialized with a different batch file to set override it with paths to different compilers/versions. If DVM could get support for LDC and GDC, then you'd have everything in one convenient app.

>
> 3. Re-installation can be problematic. sci.ini is overwritten. If you hand coded the paths to get everything to work, guess what? Well, who cares? You have plenty of time to waste, right?

Backup the sc.ini file.

>
> 4. Reinstalling one thing can break something else. This depends on how fragile the setup was at the start.

Like what?

>
> 5. I have over 1 billion files on my system, I use it for around 20 different non-complementary subjects(graphics, music, programming, etc). When everything is "competing for space" and things are not set up to work together, one seemingly unrelated program and effect every other one. (e.g., simply by adding to the path variable and break things with error messages that are meaningless to the real problem)
>
> Most ignorant people do not take those things in to account because they oversimplify... and that usually causes problems down the road for the rest of us.

So, what are you proposing here? Educate us. What are we supposed to take into account? I use my computer also for graphics, music, programming, document editing, all sorts of stuff. The only breakage I've ever had has usually been related to anti-virus software, though in the past there was an occasional issue with things like SecuRom. What exactly should the D community to in order to alleviate these major breakages you have on your system?

>
> As D becomes increasing popular, there are going to be more variation in the system and the flaws in it will become larger and larger.  It's best to start working on fixing those flaws before they become too large to manage and weaken the whole structure.

I would like to reiterate here what I mentioned earlier in this thread -- people in the D community are currently fixing flaws all the time. That we aren't fixing the flaws that particularly peeve you does not mean nothing is being done. I would also like to reiterate that if something is important enough to you, then you could do something about it besides coming to the forums and calling the rest of us ignorant. Write a DIP. File issues on Bugzilla. Submit pull requests. Take on responsibility for ensuring Visual Studio compatibility. Or do nothing, but please don't act as if we're all just sitting here twiddling our thumbs.
June 17, 2017
On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
> If you are interested in donations, there is such infrastructure, it's called the D Foundation.

I imagine that it's not possible to make donations to the foundation that are restricted for the use of advancing a specific aspect of the language (e.g. tooling).

I don't know if anyone is looking at the state of the ecosystem from the persepctive of a corporation considering whether or not to use D for some project. Of course, such a perspective is immaterial if there is little community interest in corporate adaption of D...
June 17, 2017
On Saturday, 17 June 2017 at 22:57:46 UTC, Mark wrote:
> On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
>> If you are interested in donations, there is such infrastructure, it's called the D Foundation.
>
> I imagine that it's not possible to make donations to the foundation that are restricted for the use of advancing a specific aspect of the language (e.g. tooling).

IANAL, but if you tie a monetary exchange to a specific service, it's not a donation, but payment for services (to be) rendered.

>
> I don't know if anyone is looking at the state of the ecosystem from the persepctive of a corporation considering whether or not to use D for some project.

I would imagine the people at Sociomantic do.

> Of course, such a perspective is immaterial if there is little community interest in corporate adaption of D...

People who work on/with something in their free time for their own purposes are imho (rightfully) unlikely to care about catering to third party corporate interests.
June 17, 2017
On Saturday, 17 June 2017 at 23:14:24 UTC, Moritz Maxeiner wrote:
> IANAL, but if you tie a monetary exchange to a specific service, it's not a donation, but payment for services (to be) rendered.
>

Good point.

> People who work on/with something in their free time for their own purposes are imho (rightfully) unlikely to care about catering to third party corporate interests.

Okay. Fair enough.
June 18, 2017
As D continues to grow, there will be messages like this posted more frequently. Imagine that you work at a large company and are considering adopting D so you decide to check out the forum.

Posts like this have to be deleted from the website and users that post such things need to be banned. Like it or not, this is marketing.


On Sunday, 18 June 2017 at 08:40:22 UTC, Mike B Johnson wrote:
> On Saturday, 17 June 2017 at 15:01:34 UTC, Mike Parker wrote:
>> On Saturday, 17 June 2017 at 14:01:38 UTC, Mike B Johnson wrote:
>>
>>>
>>> You realize your mentality is like a dead rat? It just stinks. Your solutions are not solutions. They are patches. I wouldn't hire you to fix my plumbing because in a few months I'll have to fix it again. You are ok with that, because you get paid either way.  Keep kicking the can down the road... It may get you a bit of exercise but in the long run you are just wasting everyone's time. I also suggest you get out of the 1970's. Software and computers have come a long way. We shouldn't have to resort to the same mind set 40+ years ago. I shouldn't have to backup sc.ini, just because you think it is the way doesn't mean it is. That mindset for sc.ini pervades all your so called solutions. There are better ways, too bad you don't care or are too ignorant to see them.
>>
>> That's fine. One more piece of advice I have for you. If you want anyone to take you seriously, check the attitude at the gate. Good luck!
>
> Cool. Since we are friends now, I have some advice for you: I suggest that if you want anyone to take you seriously, I suggest you check your mediocrity mentality at the door.
>
> See how that works?!?! Probably not. I suggest you get with the program and stop assuming it's ok to waste peoples time, including your own. The world would be a better place if people like you stopped playing your little games and grow up. Then people like me wouldn't have to constantly put you in your place.