How programmers transition between languages

Russel Winder russel at winder.org.uk
Thu Feb 1 12:19:48 UTC 2018


On Tue, 2018-01-30 at 11:55 +0000, rjframe via Digitalmars-d wrote:
> On Tue, 30 Jan 2018 10:38:31 +0000, Russel Winder wrote:
> 
[…]
> 
> Are you sure? Every project on my PC places the build files in
> $PROJECTDIR/.dub/build; the source is in ~/.dub/packages.

I see the source of the dependencies both in ~/.dub/packages and in the
project .dub directory, but I see the compilation products in
~/.dub/packages. There are every compiled version in obscure named sub-
directories and the last compiled (unknown compiler and options) in the
dependency directory.

Compilation seems to be only of .a and not (.so|.dll).

> That said, the name of the compiler is kept in the directory
> structure (as 
> well as architecture and OS), which means there could be advantages
> to 
> placing build artifacts globally, since compiler changes would still
> be 
> separated, we get a reduction in disk usage and (sometimes) compile
> speed 
> for already-built libraries.

In which case, why is there anything in the project directory at all.

Also the OS/compiler/options is all encoded in a very long and obscure
naming directory name, rather than a nice directory hierarchy. Chapel
made this switch and it improved everything a lot. 

[…]
> This would be nice. I wonder though if the community is too small for
> this 
> right now; remove the necessity of the central repository and it may
> die 
> (I would say it's somewhat struggling as it is) -- and when it comes
> to 
> finding libraries there are advantages to it that Github doesn't
> have.

I think not. The Rust experience is that the mixed economy of central
released and actively curated (though Rust hasn't quite got to that yet
sadly, there is a build up of crap just as happens with PyPI) and use
of Git repository HEADs works very well. The Go experience of not
having a central place, just the Git/Mercurial/Bazaar/Breezy
repositories leads to a lot of hassle, and thence to vendoring. Ceylon
as well as D only has the central repository and it can be very
annoying.

Having the central repo is a good thing, but having access to DVCS is
as well.

> 
> > The Cargo repository is just nicer than the Dub repository.
> 
> 
> […]

Clearly there is debate to be had about the Cargo vs. Dub repositories,
I agree and disagree with the points you made, but that is for the Dub
forum I guess. 

(I hate forums without email support, but I guess I could look at the
Dub forum from time to time.)

> 
> > Cargo uses TOML project specifications, Dub uses JSON or SDL. Cargo
> > wins, Dub doesn't.
> 
> Agreed.

Sadly I suspect there is no future in this point, the JSON/SDL fight
seems to have used up everyone's energy and moving to an actually good
format is not on the cards.
 
> […]
> Have you opened issues on the dub repository for the various problems
> you 
> see?

Not as yet, but I guess I will have to overcome my abhorrence of
forums, and post to the Dub forum.

(Did I mention I really hate forums with no email interface. Probably.)

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20180201/5ebbac78/attachment.sig>


More information about the Digitalmars-d mailing list