On Mon, 10 Feb 2014 22:07:50 -0800, Daniel Murphy <yebbliesnos...@gmail.com> wrote:

"Adam Wilson" wrote in message news:op.xa3n27el707...@invictus.hra.local...

To be honest I haven't been following it closely as I've been buried in work projects and Aurora. It would be awesome if that came sometime later this year. We badly need those capabilities, and I imagine that hacking on the compiler itself will get much easier when it's converted to D.

No guarantees.

I don't know if I can express how strongly I disagree with that sentiment. I don't use dub, I don't really want to use dub, and I am virtually certain that the whole concept of using dub is a going to make newbie acceptance much more difficult. D is supposed to make life easier, not harder.

As Mike Parker said, that doesn't match my experience, and it seems to work for python/ruby/etc

DUB is great if you're an experienced linux dev. But for somebody just getting started, especially those coming from other languages with standard libraries (aka, all of them) the idea of having to use a package manager to do anything is completely backwards. We need to be reducing our project setup times, not increasing them by making people download the same 10 packages for every project they start. People want to download a language and start writing code. Not faff about with getting the right package configuration just to write some output to the console.

The situation you describe sounds bad, but I'm not sure that's the situation with dub. Obviously I don't want us to move to a worse situation.

It is also very helpful to have a standardized set of capabilities that I can rely on existing at a minimum in all configurations. This is critical in a code-generation context when you are building code for an unknown environment where the only certain capabilities you have are the stdlib and any libraries you provide. And yes, I have a code generation project planned for D later this year that is very important to my company. Killing the standard library would effectively cancel that project and end my involvement in D, as we can't convert to D without this code-gen project. I make this point not to try to hold D hostage to myself, D should never be held hostage by the needs of any one entity, but that having a stdlib available by default is extremely useful in certain cases and by removing it you make those cases exponentially more difficult if not impossible to achieve.

I don't understand this at all. We wouldn't stop shipping phobos with the compiler, it would just be in the format of a dub repo/several dub repos instead of it's own thing.


I suppose as long as it's available by default that's OK.

If anything Phobos needs to get bigger and increase the coverage standard available functionality. We can talk about improvements to reduce module dependencies, and improve layout, design, and code quality, but none of those are sufficient reasons in my mind to through out the idea of a stdlib altogether.

Maybe I should have said it differently. I don't want to throw out the _concept_ of phobos, just normalize it a little with the concept of third-party packages. Phobos would still be officially supported, regression tested, code reviewed etc

My hope is that this would improve the quality and quantity of phobos, because third-party modules meeting the high standards could be moved into phobos, and unmaintained or obsolete modules could be moved out without horrific breakage.

The only way I could accept that is if D integrated DUB directly into it's source code and downloaded and installed packages silently in the background when one of the imports matches a DUB package import. But I don't see that happening anytime soon.

I can certainly imagine a world where `rdmd proj.d` will automagically fetch dub packages for you.

That'd be quite good actually. :-) Although at this point I don't see much advantage, either way.

--
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator

Reply via email to