On Wednesday, 3 February 2016 at 05:41:52 UTC, Tofu Ninja wrote:
On Wednesday, 3 February 2016 at 03:19:57 UTC, earthfront wrote:
On Friday, 29 January 2016 at 16:07:48 UTC, Adam D. Ruppe
wrote:
When you do `import std.string;` you expect it to just work,
and you find std.string's docs easily from dmd.
I'd love it if you could do `import thirdparty.independent;`
and it magically works too - without even need for a
configuration file or an install command. And the docs are
right there and tutorials are written however the author
feels like writing them.
OMG I would love this.
Often I write short scripts and use rdmd for rapid prototyping.
Having to dub initialize and pull in libraries is a pain for
this. Python got it right with their package manager(s)
I suggested this once but there seems to be a group of people
the viscerally oppose this.
See:
http://forum.dlang.org/post/[email protected]
How would you select the package version you want to use.
Obviously it would be fine for small scripts to pick the latest
version, but no so much for non-trivial projects.
Somewhat related: I would love to be able to install packages
with dub "globally", and then have them automatically added to
the compiler's search paths and working with import with rdmd and
dmd.
I install version 0.1 of package X globally and now all my
programs pick that up with import. If the package is a library,
dub would (re)compile then upon installation and put the
resulting libs in the correct places so that all my programs can
simply link to them.
I should also be able to override the global import with a
different version at the project level if I which to do so.
Similar to what dub.selections.json currently does.
Having dub fully integrated with the compiler and it's
configuration would be a major quality of life improvement, and a
nice step towards the "it just works" state. Much like C/C++
libraries get installed by Linux's package managers and just
work, but for D.
Right now the easiest way to boot up a new project is to copy one
that already exists, rename it, and edit the dub.json file to
add/remove any dependencies. This gets old really quickly and is
the only reason why D doesn't really feel like a scripting
language for small projects, because setting up the environment
and frequently used dependencies takes longer than writing the
script, and you need a project directory instead of a single .d
file that just uses all your common imports.