Hello Steven,

"Piotrek" wrote

Hello!

It's just an idea. After reading about issues on disallowing DWT to
stay in standardization area (Anomaly on Wiki4D GuiLibraries page)
some question appeared in my mind. For propaganda sake isn't it
better to not make such a big division between phobos and tango in
the module naming? Logically:

phobos -> std
tango  -> stdex (not tango -> tango)
Let's not forget the licensing issues.  Tango is incompatible with
some developers license wise, as you must include attribution for
Tango in any derivative works (i.e. compiled binaries).  Phobos has a
less restrictive opt-in policy.  I think Walter intends to keep it
that way, at least for DMD.  Note that other compilers are free to use
Tango or their own standard library, the D spec is pretty free from
library references.

With regards to Tango for D2.  It is going to happen.  It may not be
tomorrow, but it will probably be done this year.  To answer some
questions throughout this discussion, it will look similar to
Tango/D1, but will utilize many of the features of D2, as well as obey
the requirements.  For example, it's not simply going to cast away
const to keep the implementation closer to D1.  So it will look
different than Tango/D1 and most likely, will not be one code base.
Which means, people will have to maintain both, which is no small
feat.  But it can (and will) be done.  I like D2 too much to not do it
:)

The Tango D2 branch currently in SVN compiles and runs on Linux DMD
2.019. We have basic functionality for many of the examples, but not
all unit tests pass.  However, it should be usable to test simple
code.  So far, we have ported completely tango.core and
tango.util.log.  We have yet to incorporate druntime, as I didn't want
to tackle issues that might be in druntime as well as porting issues.
I think I will try to upgrade to 2.023, as it seems druntime/compiler
interaction is getting a lot more stable, and then continue porting.

I don't see Tango and Phobos becoming more like one or the other, but
as others have said, there are definite sections of code that can be
used from both without interference.  I/O is not one of them, and I
don't see that changing.  But due to the open source nature, you can
port or re-implement features of one library into the other, so while
you may be choosing between two different styles, you shouldn't have
to choose one or the other for functionality.

I also don't think this is a bad thing.  One of two things will
happen. Either one library totally dominates the other, and eventually
everyone starts using the more popular one (the Beta/VHS route), or
both libraries flourish, and due to the common runtime, can be used
concurrently in projects (the KDE/GNOME route).  Either way, I don't
see the current rift between Tango/Phobos being a major detriment to
D.  It will be short-lived IMO.

-Steve



A fair analysis, but I think incomplete. Once again, the problem has more to do with the perception of new users and outsiders. I believe those of is in here, those of us who have frustrated and agonized over D over the last few years are going to be in a much better position of accepting the situation as it develops: we've grown with it, so our sympathies are well rooted -- we may very much enjoy having the option of using either of or both of two great libraries. I can easily agree that your analysis has some sense to it because of that.

But, as I said before, the hardest part remains in finding a method to promote it as a "good thing" to everyone else who has no real emotional attatchment to the language, those who see learning a language as a synonymous with learning one "standard" library (because that seems to be the general history of programming languages). Maybe I'm wrong about this one (I hope I am wrong, and you are right), but I don't think it's wise to completely discredit the possibility of a problem in having two popular libraries at the core of D 2.0. If the libraries do go the Beta/VHS route... well that's just a mercy for D.

Still trying to think positively,  of course. :)

-JJR


Reply via email to