On 2/6/13 4:24 PM, David Nadlinger wrote:
On Wednesday, 6 February 2013 at 18:56:49 UTC, Brad Anderson wrote:
What is needed to get Orbit off the ground (Kepler's law, I guess,
would be the joke answer)?
Somebody actually working on it.
No offense, Jacob, but to me it seems like you have quite a few
interesting projects (DVM, DStep, Orbit, …), and although you are
usually quick to advertise them here, it seems that none of them is
quite ready for prime time.
Maybe concentrating your efforts on one of them would be a good idea?
Otherwise, you'll inevitably leave behind a trail of broken expectations
as you cannot realistically expect to support all of them at the same time…
David
I think one demotivating factor for both Jacob and the loosely-defined
core D team is that we quickly reach irreducible positions on
fundamental matter. It took literally two years for Jacob to decide to
do away with Ruby. (Two years for real:
https://github.com/jacob-carlborg/orbit/issues/1) Now we have
dependencies on https://github.com/jacob-carlborg/dstack and
https://github.com/jacob-carlborg/mambo. I took a look. This codebase is
entirely neat and I'm glad a combination of author's talent and D makes
the code so easy on the eyes, but there's no way we can ever make this
part of the official distribution. It's parallel to the canon and some
of it dedicates hundreds of lines to duplicating Phobos functionality
with minor distinctions in functionality.
I'm looking at e.g.
https://github.com/jacob-carlborg/mambo/blob/master/mambo/arguments/Arguments.d
which I bet money does some cool things with command-line arguments, but
I see no reason for using it over std.getopt. Similarly
https://github.com/jacob-carlborg/mambo/blob/master/mambo/arguments/Formatter.d
is yet another std.format. Then,
https://github.com/jacob-carlborg/mambo/blob/master/mambo/core/Array.d
seems to be in the midst of a retrofitting to use std.algorithm as much
of what it does now is do algorithm-y work with slightly changed names.
Again, this is all fine and I'm not criticizing. If the purpose is to
build a package manager for one's own use and to amass a community of
users around it, great. But if the purpose is to make Orbit _the_
official package manager of the D programming language, there's no
equivalent but distinct libraries for command-line arguments, no
beginsWith that does what startsWith does, etc. etc. etc.
There are three ways I see out of this: (a) Jacob goes full bore and
ports Orbit to Phobos, and proposes the generally useful parts of his
library for inclusion in Phobos; (b) Jacob agrees for someone else to do
a clean room implementation of his package manager design; (c) we agree
with the status quo with the understanding there's no more dangling of
Orbit as a possible official package manager.
Andrei