Re: why a part of D community do not want go to D2 ?

2010-12-02 Thread retard
Thu, 02 Dec 2010 13:21:57 +, Bruno Medeiros wrote:

 On 30/11/2010 19:02, Stewart Gordon wrote:
 On 30/11/2010 14:13, Bruno Medeiros wrote:
 On 30/11/2010 14:08, Stewart Gordon wrote:
 On 29/11/2010 18:30, Bruno Medeiros wrote:
 snip
 Did you mean D2, in Sick of waiting for D1 to be finished. ?

 I don't know what you mean
 snip
 I meant: did you mean Sick of waiting for D2 to be finished. instead
 of Sick of waiting for D1 to be finished. ? Otherwise I don't quite
 get it, D1 is quite stable (as a language), it's D2 that is getting a
 lot of changes.

 I guess it was really a question of why you meant it rather than what
 you meant.

 D1 may be quite stable, but that's very different from finished.
 http://www.digitalmars.com/d/archives/digitalmars/D/
When_will_D1_be_finished_89749.html

 http://d.puremagic.com/issues/show_bug.cgi?id=677

 The point is that D1 should have been finished ages ago. Development of
 D2 has detracted from this, and so people are fighting against this by
 not supporting the D2 project.

 Stewart.
 
 Given what you meant by finished (consistently defined language, etc.),
 then yeah, D1 isn't really finished. But what do you mean D1 should
 have been finished ages ago? As far as I know, Walter never expressed
 the intention of making D1 finished, that is, to flesh out and
 formalize the language spec. Rather, the creation of D2 was to make D1
 stable (to not introduce backwards incompatible changes to the
 language, and to reduce bugs in the D1 compiler).
 
 If you mean should as in, that should have been the intention, well,
 that's arguable. If one wanted at that point for D to stop evolving (in
 a non backwards-compatible way), then yes, you'd want the main focus of
 attention to be D1, and in finishing it. But that wasn't the desire with
 many (probably most) in the community, including Walter himself, so D2
 became the main focus of development. And with this decision, fleshing
 out the D1 spec was never going to be important (as in, important enough
 to dedicate time to it in a significant way).

Even if Walter refused to work on D1 anymore, some believe that the 
language should be finished in any case. This means that the community 
continues the work (writing specs, developing build tools etc.) Why is 
this surprising? This has happened with almost all languages. It's open 
source, you're free to work on it. That's the price you pay. You can't 
force people to work on D2 instead.


Re: why a part of D community do not want go to D2 ?

2010-12-01 Thread so

D1 may be quite stable, but that's very different from finished.
http://www.digitalmars.com/d/archives/digitalmars/D/When_will_D1_be_finished_89749.html
http://d.puremagic.com/issues/show_bug.cgi?id=677


What is a finished language, is it something like that is it guys, we  
can't advance any further in ###?


The point is that D1 should have been finished ages ago.  Development of  
D2 has detracted from this, and so people are fighting against this by  
not supporting the D2 project.


I believe their reasons are political.
If their reason is really D1 being not finished then we are better off  
with them.

Quite stable and stable is the state we should be after, am i wrong?

Thank you.

--
Using Opera's revolutionary email client: http://www.opera.com/mail/


Re: why a part of D community do not want go to D2 ?

2010-12-01 Thread Stewart Gordon

On 01/12/2010 12:17, so wrote:

D1 may be quite stable, but that's very different from finished.
http://www.digitalmars.com/d/archives/digitalmars/D/When_will_D1_be_finished_89749.html

http://d.puremagic.com/issues/show_bug.cgi?id=677


What is a finished language, is it something like that is it guys, we
can't advance any further in ###?

snip

In this context, I mean it being a completely and consistently defined 
language that third parties can implement.


Stewart.


Re: why a part of D community do not want go to D2 ?

2010-11-30 Thread Stewart Gordon

On 29/11/2010 18:30, Bruno Medeiros wrote:

On 07/11/2010 20:48, Stewart Gordon wrote:

On 06/11/2010 23:11, bioinfornatics wrote:

hello,
I have a question (i would like understand), they are many important
people of D community who do not want go to D2, why ?

thanks for answer


Sick of waiting for D1 to be finished.
So many differences between D1 and D2 now that it's a nightmare making
libraries compatible with both.

Stewart.


Did you mean D2, in Sick of waiting for D1 to be finished. ?


I don't know what you mean

Another possible contributing factor: a feeling that D is losing its 
elegance.


Stewart.


Re: why a part of D community do not want go to D2 ?

2010-11-30 Thread Bruno Medeiros

On 30/11/2010 14:08, Stewart Gordon wrote:

On 29/11/2010 18:30, Bruno Medeiros wrote:

On 07/11/2010 20:48, Stewart Gordon wrote:

On 06/11/2010 23:11, bioinfornatics wrote:

hello,
I have a question (i would like understand), they are many important
people of D community who do not want go to D2, why ?

thanks for answer


Sick of waiting for D1 to be finished.
So many differences between D1 and D2 now that it's a nightmare making
libraries compatible with both.

Stewart.


Did you mean D2, in Sick of waiting for D1 to be finished. ?


I don't know what you mean

Another possible contributing factor: a feeling that D is losing its
elegance.

Stewart.


I meant: did you mean Sick of waiting for D2 to be finished. instead 
of Sick of waiting for D1 to be finished. ?
Otherwise I don't quite get it, D1 is quite stable (as a language), it's 
D2 that is getting a lot of changes.


--
Bruno Medeiros - Software Engineer


Re: why a part of D community do not want go to D2 ?

2010-11-30 Thread Stewart Gordon

On 30/11/2010 14:13, Bruno Medeiros wrote:

On 30/11/2010 14:08, Stewart Gordon wrote:

On 29/11/2010 18:30, Bruno Medeiros wrote:

snip

Did you mean D2, in Sick of waiting for D1 to be finished. ?


I don't know what you mean

snip

I meant: did you mean Sick of waiting for D2 to be finished. instead
of Sick of waiting for D1 to be finished. ?
Otherwise I don't quite get it, D1 is quite stable (as a language), it's
D2 that is getting a lot of changes.


I guess it was really a question of why you meant it rather than what 
you meant.


D1 may be quite stable, but that's very different from finished.
http://www.digitalmars.com/d/archives/digitalmars/D/When_will_D1_be_finished_89749.html
http://d.puremagic.com/issues/show_bug.cgi?id=677

The point is that D1 should have been finished ages ago.  Development of 
D2 has detracted from this, and so people are fighting against this by 
not supporting the D2 project.


Stewart.


Re: why a part of D community do not want go to D2 ?

2010-11-29 Thread Bruno Medeiros

On 10/11/2010 02:53, Eric Poggel wrote:

On 11/9/2010 5:27 AM, thank you oldtimer wrote:

ankh, anonymous troll, another lurker, anton smith, arnoldsschwartz,
bjarne yesterday, blaise pascal, cal, chmod+x, crap, darth tango,
domino, ellis peters, foobar, gareth charnock, gcc-lurker,
girlprogrammer, godworshipper, gryphon, her3tic, jameskan, jane doe,
jarett billingsley, jer, languagefan, larry coder, lars ivar
douchesund, levenshtein, lurker, nobody, oldtimer, pipe dream,
pointing hand, retard, retard++, retarded.clear(), scott, steveh,
superdan, user, wah, william t. fnk, yoda, typeerasure, uriel
(reddit), eternium (reddit), iliekcaeks (reddit), feepingcreature
(reddit), parametricpoly (reddit), nfxjfg (bugzilla), and many more!


If h3r3tic, jarett billingsley, retard*, superdan, bearophile, and
feepingcreature are the same person, then that's quite an act.

h3r3tic has made some valuable contributions to phobos, Jarett made
miniD (before leaving the D community), and while I don't agree with all
of bearophile's suggestions, some of them are great. I also appreciate
that he takes the time to benchmark and create bug reports. I hope he
continues with all of these.


Dude, you're wasting your breath with such a serious reply: thank you 
oldtimer is effectively a troll, just like oldtimer himself. People 
should pay little to no attention to these posts made under random 
anonymous nicknames, especially if its the first posts made under such a 
name.
There seems to be a pattern where occasionally some troll identity will 
reply and argue against some other troll identity. It's a curious thing 
at best, I'm not sure what the intentions are (trying to make one troll 
post seem more respectable? Just messing with the heads of other D 
users?), but it's best to just not waste time on that.



--
Bruno Medeiros - Software Engineer


Re: why a part of D community do not want go to D2 ?

2010-11-29 Thread Bruno Medeiros

On 07/11/2010 20:48, Stewart Gordon wrote:

On 06/11/2010 23:11, bioinfornatics wrote:

hello,
I have a question (i would like understand), they are many important
people of D community who do not want go to D2, why ?

thanks for answer


Sick of waiting for D1 to be finished.
So many differences between D1 and D2 now that it's a nightmare making
libraries compatible with both.

Stewart.


Did you mean D2, in Sick of waiting for D1 to be finished. ?

--
Bruno Medeiros - Software Engineer


Re: why a part of D community do not want go to D2 ?

2010-11-29 Thread troll
Bruno Medeiros Wrote:

 Dude, you're wasting your breath with such a serious reply: thank you 
 oldtimer is effectively a troll, just like oldtimer himself. People 
 should pay little to no attention to these posts made under random 
 anonymous nicknames, especially if its the first posts made under such a 
 name.

As one of these trolls, here's my short story: I only came here because the 
religious zealotly of this community cannot be kept a secret anymore no matter 
what you do. I found two other forums rather boring. They only discussed 
language semantics and syntax and toolchain issues and language specifications 
and all kinds of dead boring stuff, can you believe that? This is a great place 
for me, unproductive environment full of bad software engineering practices. 
Something to mock. You should know, as a new software engineer, how badly 
organized this all is.

 There seems to be a pattern where occasionally some troll identity will 
 reply and argue against some other troll identity. It's a curious thing 
 at best, I'm not sure what the intentions are (trying to make one troll 
 post seem more respectable?

Where did you get that from? If this is true, it just means that this place is 
infested with idiots not capable of even lacing their shoes if they didn't see 
this earlier. Do we need a reminder on how that kind of lack of intelligence 
affects language development quality or our marketing efforts?

* 
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.Darticle_id=123193
Just messing with the heads of other D users?), but it's best to just not 
waste time on that.

* 
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.Darticle_id=123245
Fortunately the implementation effort is also very low, so let's just check 
there is no unintended consequences, and move on.

You're in a hurry, Son? Were waisting time whole the time.


Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread spir
On Thu, 11 Nov 2010 23:17:05 + (UTC)
retard r...@tard.com.invalid wrote:

 Thu, 11 Nov 2010 23:59:36 +0100, spir wrote:
 
  (3) most texts we deal with
  today only hold common characters that have a single-code
  representation. So that everybody plays with strings as if (1 code --
  1 char).
 
 That might be true for many americans. But even then the single byte 
 can't express all characters you need in everyday communication. There 
 are countless people with é or ë or ü in their last name. ” and “ are 
 probably not among the first 128-256 codes. Using e instead of ë or é 
 might work to some extent, but ü and u are pronounced differently. Some 
 use ue instead.

I meant _codes_ (code points). Not code _unit_ and even less bytes.

The character I with dot above and dot below (if ever you want to use it ;-) 
needs 2 or 3 code _points_ for representation in memory or storage. Try:
writeln (); // -- Ị̇
If your output system is sufficiently capable, then you get an I with dot above 
and dot below! (I recommand the DejaVu font series). And, as you see, the type 
dstring is used, meaning each element is a dchar holding a whole code point. 
Right? But it's a single character requiring 3 codes.
Ebven more troubling: if I choose a lowercase 'i' instead, then since i with 
dot below exists as a precombined code, I have the choice between 2 or 3 codes.

An abstract character, as introduced by UCS and represented by a code, is 
*not* what we think as character. It is an abstract mark, such as the 'I', 
the combining dot above, the combining dot below, all inside Ị̇.
Also, it's important to realise that there is no formal definition of 
character, and even less a universal one. A character is what people using a 
scripting system consider as such.
I know, UCS / Unicode terminology is misleading. It does not help, instead it 
increases confusion.

What you are evoking is a lower-level issue, namely the encoding of code points 
themselves (here, 3) into code units, and then bytes, in a concrete form (say, 
in file). Depending on the encoding (here I consider only utf8/16/32 ones), 
there may be 1, 1 or 2, 1 to 4, code units per code point.


Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread spir
On Thu, 11 Nov 2010 18:09:44 -0800
Walter Bright newshou...@digitalmars.com wrote:

 Daniel Gibson wrote:
  If I'm not mistaken, those functions don't handle these graphemes, 
 
 Probably not, since I don't know what the  a grapheme is. I think the 
 person 
 who thought unicode should be divided up into characters, bytes, code points, 
 code units, glyphs, combining characters, composite characters, and graphemes 
 (and whatever new complexity they dream up this week) should be taken out and 
 screened by the TSA.

I think about the same.

 Unicode is a simple idea, made absurdly complex.

Yes, for sure. The added, non-functional, complexity was introduced (people 
say) to keep some kind of superficial compatibility with legacy charset, in the 
(hopeless) hope that this would boost initial adoption of UCS. Thus, we have 
characters like an (a with circumflex) which is represented in UCS (I'm talking 
of the higher-level not of encoding, what Unicode addresses):
* basically, with 2 code _points_, which is good, because this scheme allows 
economically representing all possible combinations,
* but also with a single precombined code point, to cope with legacy charsets 
of the latin-N series, which id bad.
In addition to that, characters represented by more than 2 code points suffer 
another issue, namely that the additional combining codes cna be put in any 
order ;-) There is a normal one (and an algorithm to restore it), but it is not 
imposed.

These supposed trade-offs helped nothing concretely, because legacy texts 
require decoding anyway; mapping to two unicode code points instead of one is 
nothing for software, and needs to be done once only. For this initial 
advantage, we suffer undue complication for the rest of the standard's 
lifetime.
The consequence in terms of computing is a huge loss:
*** the mapping 1 character -- 1 representation does not hold anymore 
***
And it's even broken in several ways. Instead, we have
1 character -- n representations -- where n is unpredictable
I guess you can imagine the logical suites...

 Furthermore, I think that Phobos handles Unicode in a straightforward manner. 
 All this other crazy stuff should be handled by some 3rd party 100Mb add-on, 
 so 
 none of the rest of us have to suffer under it.

All right. Maybe I'll write one day a library or type that deals with UText 
at the high level (the user level) I try to explain here. Then, one can index, 
slice, search, count, replace, match... like with plain ASCII. I've done it 
once in Lua (unfinished, but worked).

The key point to understand is that an array of code points (read, a dstring) 
is still not a logical string. Reason why I introduce the notion of stack 
(ripped the word from a unicode doc). Below each c is a code:

 c c c c   physical sequence of codes
 a ^ m e   -- sequence of marks

 c
 c c c logical sequence of stacks
 â m e -- sequence of characters

One stack holds one place in the (horizontal) logical sequence, thus the name.

This requires, for any source text or text slice (eg a substring to be 
searched):
* decoding, properly speaking -- array of code in source charset (eg latin-3)
* code mapping -- array of unicode code ~= dstring
  (unecessary if source encoding is utfN, ascci, or latin-1, since code maps 
are identical)
* grouping code units representing single chars -- array of stacks 
(mini-dstring)
* normalising to decomposed form, called NFD (eg â is 2 codes)
* sorting codes inside stack
Actually, the 3 last step can be done in one go (but it's not a big gain, if 
any).

Then, we have restored the sensible bi-univoque mapping 1 character -- 1 
representation. (Like in ASCII, latin-1, and all charsets that represent 
characters with single-length forms). Thus, we can safely perform any kind of 
process.


Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread spir
On Fri, 12 Nov 2010 01:00:18 +0100
Daniel Gibson metalcae...@gmail.com wrote:

  http://www.digitalmars.com/d/2.0/phobos/std_utf.html  
 
 If I'm not mistaken, those functions don't handle these graphemes, i.e. 
 something that appears like one character on the screen, but consists of 
 multiple code *points*. Like spir's â that, in UTF-8, is encoded with the 
 following bytes: 0x61 (=='a'), 0xCC, 0x82. (Or \u0061\u0302 in UTF-32).

You are right, Daniel. As far as I understand it superficially (haven't used it 
yet), the current utf library deals with the lower-level issues of encoding 
code point into code units, and bytes.

 Also, a function returning the physical position (i.e. pos in arrray of chars 
 or 
 wchars) of logical char #logPos may be useful, e.g. for fixed width printing 
 stuff:
size_t getPhysPos(char[] str, size_t logPos)

See my reply to Walter's next post.

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread Jacob Carlborg

On 2010-11-11 20:28, Sean Kelly wrote:

Jacob Carlborg Wrote:


I you don't think that support for other compilers should be in druntime
what do you suggest?


They should be in their own SVN repository somewhere.  I think one could even 
argue that the DMD compiler runtime (src/rt in druntime) should be maintained 
separately.  It's quite convenient to have the druntime repository produce a 
fully functional runtime however, and what better compiler to support than the 
reference compiler?

To be clear, I'm not vehemently opposed to other compiler runtimes living in 
the druntime repository.  It's simply proven to be a bad model.  In Tango, when 
a new DMD version was released I merged changes into the Tango runtime (a task 
which wouldn't admittedly exist with druntime), and then I speculatively made 
the same changes to the other runtimes as well.  In places where compiler 
support was needed, I left the new code versioned out with a comment to deal 
with it when that compiler was updated.  All in all, it meant a lot of work for 
me, and it was difficult to maintain a fully functional source tree.  I know 
the alternative is that each compiler team may have to sync with changes to 
druntime (at least core/* and gc/*), but this is a rather small and stable set 
of modules compared to the D1 Phobos arrangement.

 From a functional perspective, the other issue is that the compiler doesn't like 
something having a module name of rt.blah but living in ldcrt/blah.d.  This 
is a problem with maintaining multiple GCs as well.  Symlinks are an option on Posix, but 
as far as I know that isn't possible on Windows, so files would have to be copied around 
during the build process depending on which compiler or GC was selected.


Ok, thanks for explaining.

--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread Daniel Gibson

spir schrieb:
Furthermore, I think that Phobos handles Unicode in a straightforward manner. 
All this other crazy stuff should be handled by some 3rd party 100Mb add-on, so 
none of the rest of us have to suffer under it.


All right. Maybe I'll write one day a library or type that deals with UText 
at the high level (the user level) I try to explain here. Then, one can index, slice, 
search, count, replace, match... like with plain ASCII. I've done it once in Lua 
(unfinished, but worked).



That'd be great :-)


Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread Walter Bright

spir wrote:
An abstract character, as introduced by UCS 


Oh gosh, another in the never ending menagerie of Unicode terms. :-(


Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread dsimcha
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
 spir wrote:
  An abstract character, as introduced by UCS
 Oh gosh, another in the never ending menagerie of Unicode terms. :-(

If Unicode is not complicated, what is an abstract basic multilingual plane
multibyte code unit and when's the last time you needed one?


Re: why a part of D community do not want go to D2 ?

2010-11-12 Thread so

On Sat, 13 Nov 2010 00:59:05 +0200, dsimcha dsim...@yahoo.com wrote:


== Quote from Walter Bright (newshou...@digitalmars.com)'s article

spir wrote:
 An abstract character, as introduced by UCS
Oh gosh, another in the never ending menagerie of Unicode terms. :-(


If Unicode is not complicated, what is an abstract basic multilingual  
plane

multibyte code unit and when's the last time you needed one?


How can they not know it? Don't we call it shortly ABMPMCU? :)

--
Using Opera's revolutionary email client: http://www.opera.com/mail/


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread spir
On Thu, 11 Nov 2010 00:43:33 +0100
Daniel Gibson metalcae...@gmail.com wrote:

 I guess having some Tango modules (e.g. for Streams or XML) for D2 may be 
 useful, until there are an adequate alternatives in Phobos.. but it would 
 most 
 probably harm the acceptance of these alternatives, once they're ready.

But why not design from the start new Phobos libs with inspiration from 
known-to-be-good Tango ones?

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Jacob Carlborg

On 2010-11-10 22:26, Sean Kelly wrote:

Jacob Carlborg Wrote:


On 2010-11-09 23:04, Don wrote:

Jacob Carlborg wrote:

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because
Tango was first it's druntime that chose to turn away from compatibility.


Sorry, that is completely false. druntime was created specifically to
allow Phobos and Tango to co-exist. At the time, almost all of the code
in druntime was written by Sean, and he was leading the Tango runtime
development. The expectation was that Tango would continue to use Sean's
runtime, it was just in a separate project.


Of course that would be the preferred way, there should have been some
kind of agreement for this (maybe there was but never fulfilled?) But
you also have to look at it from Tangos point of view. Why would Tango
drop support for anything that isn't DMD 32bit? Or should Tango keep
half of it's runtime in it's own repository and for the other half use
druntime.


I maintained a D1 branch of druntime for ages thinking that it might be a good 
transition point for Tango, but no one ever used it.  I was also very careful 
to avoid creating any incompatibilities with the Tango runtime for quite a 
while, but finally had to choose between letting the library stagnate in 
anticipation of an event that would likely never happen and moving forward.  I 
do still try to avoid changing existing user-facing code though.  Also, if you 
compare the two now, I think you'll find that the Tango runtime has diverged 
from the original design far more than druntime, so there's little apparent 
interest there in facilitating a merge.  Either way, as there's been little 
apparent effort in porting Tango to D2, this whole discussion is moot.


I can really understand that this can be very frustrating. I don't have 
any answers on why Tango didn't adopt druntime. Although as I said 
earlier I can think some reasons like no support for other compilers.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a
runtime.


That runtime is druntime. If there is no understanding of that at Tango,
that is suicide.


Apparently not, since Sean ripped out all that wasn't necessary for
Phobos but is necessary for Tango. Why are you blaming everything on
Tango all the time?


Sean took all the code he had written. The other minor contributors did
not yet give permission for their code to be used, so of course it could
not be included.


I really think it's a shame they couldn't/wanted to give permission for
their code to be used.


There was another simpler reason as well, which was that I didn't want to 
speculatively maintain code for various compilers or whatever just in case they 
decided to use druntime one day.  It's far less effort to simply add whatever's 
needed when that day comes.  Also, I do still feel that the druntime SVN 
shouldn't have to be the repository used for every compiler runtime or garbage 
collector implementation.  That was necessary in Tango because Tango was an 
alternative library, so for any hope of Tango being used we had to do all the 
work ourselves.  It's far from being an optimal workflow however.


I you don't think that support for other compilers should be in druntime 
what do you suggest?


--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Jacob Carlborg

On 2010-11-10 18:16, Walter Bright wrote:

Jacob Carlborg wrote:

I don't want to increase any separation in the D community and would
hope peoeple could agree more. I have no problems what so ever
contributing both to Tango and Phobos/druntime. And I'm happy to
license any of my code to whatever license would be need for a give D
project.


This is great news! Thank you!


No no no, thank YOU. You have been very generous in licensing your 
software. Many of the files in druntime are Public Domain and the rest, 
including all of Phobos, have the Boost license. You often grant 
permission to distribute DMD when people ask. Lately gave the permission 
to put online a repository of DMD including the backend for experimental 
work with Objective-C. And the last thing you took the initiative and 
continued the process of integrating GDC as an official part of GCC, 
giving the copyright of (a fork of) the DMD frontend to FSF.


Thank You.

--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Simen kjaeraas

spir denis.s...@gmail.com wrote:

But why not design from the start new Phobos libs with inspiration from  
known-to-be-good Tango ones?


We got kinda spooked by the incident with SHOO and std.time. It likely
was not as bad as it seemed, but it brought some bad blood.

--
Simen


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Justin Johansson

On 11/11/10 09:00, bearophile wrote:

But in the end OOP was invented to face problems present in larger programs.
 OO is infrastructure that adds some complexity to reduce complexity 
in larger programs.

It's not wise to add complexity unless it's necessary.
So using a class where a free functions is enough may be over-engineering.

Well said.  Maintain the rage against OOP for *everything*.



Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Justin Johansson

On 11/11/10 09:10, Andrew Wiley wrote:

On Wed, Nov 10, 2010 at 4:00 PM, bearophile bearophileh...@lycos.com
mailto:bearophileh...@lycos.com wrote:

One thought here:
If Tango is still useful in the D world but there isn't too much
enthusiasm about porting it to D2, why not break its functionality (that
isn't already in Phobos 2) down into a set of supplemental libraries
that can be included as needed? This would seem to give the best of both
worlds because there is no longer a runtime split, the functionality and
APIs provided by Tango is still available as needed, and porting becomes
something that can easily be done incrementally.




Thoughts? Criticisms? Denunciations?


You forgot Excommunication :-)



btw. interesting results on google for: define: excommunication


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Steven Schveighoffer
On Wed, 10 Nov 2010 21:04:08 -0500, Jonathan M Davis jmdavisp...@gmx.com  
wrote:



std.container has almost nothing in it -
SList and Array. It's supposed to get pretty much every container which  
would be
considered fairly standard, but those implementations haven't been  
completed

yet.


red black tree is complete, and has been submitted to Andrei for inclusion.

-Steve


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Bernard Helyer
On Wed, 10 Nov 2010 16:26:52 -0500, Sean Kelly wrote:
 Also, I do still feel
 that the druntime SVN shouldn't have to be the repository used for every
 compiler runtime or garbage collector implementation.

I am attempting to write a compiler in D2 (github.com/bhelyer/SDC), and I 
can't help but feel that rewriting druntime, or picking out the 
relatively benign parts would be a difficult, bug filled task. I don't 
see a realistic alternative to druntime compatibility.  I also feel that 
having all implementations share the GC implementation means that 
improvements there will improve everywhere else. If I weren't to use 
druntime's GC, then I would use the Boehm collector, but I feel using 
druntime is more beneficial than not.


Re: Pls. bury this damned hatchet very deep (was Re: why a part of D community do not want go to D2 ?)

2010-11-11 Thread piotrek
On Wed, 10 Nov 2010 12:55:01 +0100, Gour wrote:

 On Wed, 10 Nov 2010 11:51:19 +0100
 Jacob == Jacob Carlborg wrote:
 [...]
 However, I'm sure that D community is not the only place in the universe
 where people might get hurt, but if you cannot go over it, it's shame...
 
 Forgive, stay and contribute to push D(2) forward.
 
 Otherwise, if the above is not possible, stop whining and find a better
 language/community to contribute to.
 [...]
 Sincerely,
 Gour
 
  --
 
 Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA
 

These words I strongly agree with ;) 


If only deeds don't require imprisonment there's always a place for 
agreement or peaceful farewell.

Cheers
Piotrek


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread superman
== Quote from FeepingCreature (default_357-l...@yahoo.de)'s article
 thank you oldtimer Wrote:
  oldtimer Wrote:
 
  Is it a coincidence that all the complaints seem to come from a
single person? Let's take a look at my killfile:
 
  ankh, anonymous troll, another lurker, anton smith,
arnoldsschwartz, bjarne yesterday, blaise pascal, cal, chmod+x,
crap, darth tango, domino, ellis peters, foobar, gareth charnock,
gcc-lurker, girlprogrammer, godworshipper, gryphon, her3tic,
jameskan, jane doe, jarett billingsley, jer, languagefan, larry
coder, lars ivar douchesund, levenshtein, lurker, nobody, oldtimer,
pipe dream, pointing hand, retard, retard++, retarded.clear(),
scott, steveh, superdan, user, wah, william t. fnk, yoda,
typeerasure, uriel (reddit), eternium (reddit), iliekcaeks
(reddit), feepingcreature (reddit), parametricpoly (reddit), nfxjfg
(bugzilla), and many more!
 
 Wow.
 I must be INSANELY productive.
 Maybe you should listen to me.

Or ME!


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread klickverbot

On 11/11/10 2:53 AM, Andrew Wiley wrote:

Well, my assumption was that Phobos 2 was pretty much complete. […]


Hell, no – there currently isn't even a reliable way to load shared 
libraries in Phobos 2. std.loader doesn't count, it's almost unusable in 
practice (ExeModule being a scope class – what the …?!) and nowhere 
solid, idiomatic D.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Daniel Gibson

Jonathan M Davis schrieb:

On Wednesday, November 10, 2010 14:52:10 Jesse Phillips wrote:

Walter Bright Wrote:

dsimcha wrote:

Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to roll
their own.

Hear hear. For example, one of the goals with D strings was to make them
so good that people wouldn't invent their own string classes.

And yet we still get those that want a class, or even limit the capability
of arrays so that a class is more appealing. (Had a friend that hated the
idea that D went back to array of characters, then he saw that arrays
could actually do stuff)


Well, of course his first reaction was negative. Arrays suck in other languages 
in comparison to D. Having strings be arrays in C is horrible. I'd be annoyed to 
have strings be arrays if you were using Java arrays, and they're a definite 
improvement over C - if nothing else because they know their length. Strings as 
arrays work in D precisely because D arrays are so awesome. I've never used 
another language which had arrays which were even close to as awesome as the 
ones in D.


- Jonathan M Davis


The only possible source of confusion may be that slicing is only safe with 
dchar[]. (But still may work with char[] as long as you're only using ASCII 
characters, so the error may not be obvious)


Of course I don't want to propose to change that because it makes perfect sense 
the way it is, because in many situations you want to know, how long the string 
physically is (how many bytes), so any hack to splice by logical characters 
instead of physical characters would result in a terrible mess.


But this is something a string-class with .substring(beg, end), .logLength, 
.physLength and stuff like that could fix, because these differences were more 
obvious.


But then again, having the following functions in std.string may suffice:

size_t logLength(string s) // logical length in code points
string substring(string s, size_t beg, size_t end) // logical slice - from 
code point number beg to code point number end


On the other hand those wouldn't play nice with the existing functions like 
indexOf etc :/


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Daniel Gibson

Jacob Carlborg schrieb:

On 2010-11-10 22:26, Sean Kelly wrote:


There was another simpler reason as well, which was that I didn't want 
to speculatively maintain code for various compilers or whatever just 
in case they decided to use druntime one day.  It's far less effort to 
simply add whatever's needed when that day comes.  Also, I do still 
feel that the druntime SVN shouldn't have to be the repository used 
for every compiler runtime or garbage collector implementation.  That 
was necessary in Tango because Tango was an alternative library, so 
for any hope of Tango being used we had to do all the work ourselves.  
It's far from being an optimal workflow however.


I you don't think that support for other compilers should be in druntime 
what do you suggest?




That every compiler ships it's own version of druntime?
If druntime needs to be adjusted for any compiler anyway, the compiler-devs can 
do that themselves (probably they know better how to do that, anyway).
This has the merit the compiler devs can make changes on the compiler without 
being afraid of breaking druntime - because they can adjust their version of 
druntime accordingly.


Cheers,
- Daniel


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Andrei Alexandrescu

On 11/11/10 9:25 AM, Daniel Gibson wrote:

Jonathan M Davis schrieb:

On Wednesday, November 10, 2010 14:52:10 Jesse Phillips wrote:

Walter Bright Wrote:

dsimcha wrote:

Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to
roll
their own.

Hear hear. For example, one of the goals with D strings was to make
them
so good that people wouldn't invent their own string classes.

And yet we still get those that want a class, or even limit the
capability
of arrays so that a class is more appealing. (Had a friend that hated
the
idea that D went back to array of characters, then he saw that arrays
could actually do stuff)


Well, of course his first reaction was negative. Arrays suck in other
languages in comparison to D. Having strings be arrays in C is
horrible. I'd be annoyed to have strings be arrays if you were using
Java arrays, and they're a definite improvement over C - if nothing
else because they know their length. Strings as arrays work in D
precisely because D arrays are so awesome. I've never used another
language which had arrays which were even close to as awesome as the
ones in D.

- Jonathan M Davis


The only possible source of confusion may be that slicing is only safe
with dchar[]. (But still may work with char[] as long as you're only
using ASCII characters, so the error may not be obvious)

Of course I don't want to propose to change that because it makes
perfect sense the way it is, because in many situations you want to
know, how long the string physically is (how many bytes), so any hack to
splice by logical characters instead of physical characters would result
in a terrible mess.

But this is something a string-class with .substring(beg, end),
.logLength, .physLength and stuff like that could fix, because these
differences were more obvious.

But then again, having the following functions in std.string may suffice:

size_t logLength(string s) // logical length in code points


That would be walkLength.


string substring(string s, size_t beg, size_t end) // logical slice -
from code point number beg to code point number end


That's not implemented and I don't think it would be useful. Usually 
when I want a substring, the calculations up to that point indicate the 
code _unit_ I'm at.



On the other hand those wouldn't play nice with the existing functions
like indexOf etc :/


Hm, I just noticed a problem. std.algorithm.indexOf returns logical 
position because it uses the forward range interface, and 
std.string.indexOf returns the physical position :o(.



Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Daniel Gibson

Andrei Alexandrescu schrieb:

On 11/11/10 9:25 AM, Daniel Gibson wrote:

Jonathan M Davis schrieb:

On Wednesday, November 10, 2010 14:52:10 Jesse Phillips wrote:

Walter Bright Wrote:

dsimcha wrote:

Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to
roll
their own.

Hear hear. For example, one of the goals with D strings was to make
them
so good that people wouldn't invent their own string classes.

And yet we still get those that want a class, or even limit the
capability
of arrays so that a class is more appealing. (Had a friend that hated
the
idea that D went back to array of characters, then he saw that arrays
could actually do stuff)


Well, of course his first reaction was negative. Arrays suck in other
languages in comparison to D. Having strings be arrays in C is
horrible. I'd be annoyed to have strings be arrays if you were using
Java arrays, and they're a definite improvement over C - if nothing
else because they know their length. Strings as arrays work in D
precisely because D arrays are so awesome. I've never used another
language which had arrays which were even close to as awesome as the
ones in D.

- Jonathan M Davis


The only possible source of confusion may be that slicing is only safe
with dchar[]. (But still may work with char[] as long as you're only
using ASCII characters, so the error may not be obvious)

Of course I don't want to propose to change that because it makes
perfect sense the way it is, because in many situations you want to
know, how long the string physically is (how many bytes), so any hack to
splice by logical characters instead of physical characters would result
in a terrible mess.

But this is something a string-class with .substring(beg, end),
.logLength, .physLength and stuff like that could fix, because these
differences were more obvious.

But then again, having the following functions in std.string may suffice:

size_t logLength(string s) // logical length in code points


That would be walkLength.


Ok. I really should get familiar with std.algorithm and D2 in general :-)




string substring(string s, size_t beg, size_t end) // logical slice -
from code point number beg to code point number end


That's not implemented and I don't think it would be useful. Usually 
when I want a substring, the calculations up to that point indicate the 
code _unit_ I'm at.



On the other hand those wouldn't play nice with the existing functions
like indexOf etc :/


Hm, I just noticed a problem. std.algorithm.indexOf returns logical 
position because it uses the forward range interface, and 
std.string.indexOf returns the physical position :o(.




I'm glad to have accidentally revealed that inconsistency ;)
Probably something should be done about this, maybe by renaming one of the 
functions or something like that?




Andrei


Cheers,
- Daniel


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Andrei Alexandrescu

On 11/10/10 10:12 PM, Sam Hu wrote:

Boris Wang Wrote:


First, forgive my poor english.

we all known , Walter good at compiler writing, but not good at language
design and development management , if can't change this, just be silent.

I think, on language desgin, wisdom and leadership are more more important
than technology.

Ether continue working on D, or make D like clone,  if we can't do it like
APPLE, just give up ASAP,
because we can only save us by our selves.
.
.



2010/11/10 Boris Wangkona.m...@gmail.com

Is printing Chinese font in the console under windows now workable?If yes,which 
function under which module should I use?If not,when is it supposed to be?

Is it workable writing a DLL under windows in D2 now?

I read from previous thread that std.xml is supposed to be replace by another 
better one,when?

In TDPL,chap 01,

1.import std.stdio, std.string;
2.void main()
3.{
4.uint[string] dictionary;
5.foreach (line; stdin.byLine())
6.{
7.// Break sentence into words
8.// Add each word in the sentence to the vocabulary
9.foreach (word; splitter(strip(line)))
10.{
11.if (word in dictionary) continue; // Nothing to do
12.auto newlD = dictionary.length;
13.dictionary[word] = newlD;
14.writeln(newlD, word);
15.}
16. }
17.}


The above code is supposed to print each word one time,but after testing by 
myself and my friends on different machine both under windows,it does not.It 
prints some of the words several times,but some are ok.One of my friend 
suggested to modify the code as below:

1.foreach(line;stdin.byLine())
2.{
3.line = line.dup;   //-- here
4.foreach(word;splitter(strip(line)))
5.{
6.if(word in dictionary) continue;
7.auto newID=dictionary.length;
8.dictionary[word]=newID;
9.writeln(newID,'\t',word);
10.}
11.}

Still it behaves different on different machine under windows.


I am ashamed to reply that this is due to a major dmd bug that is not 
yet fixed:


http://d.puremagic.com/issues/show_bug.cgi?id=2954

Apologies. I will do what I can to have this fixed asap.


Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Andrei Alexandrescu

On 11/11/10 9:52 AM, Daniel Gibson wrote:

Andrei Alexandrescu schrieb:

On 11/11/10 9:25 AM, Daniel Gibson wrote:

Jonathan M Davis schrieb:

On Wednesday, November 10, 2010 14:52:10 Jesse Phillips wrote:

Walter Bright Wrote:

dsimcha wrote:

Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to
roll
their own.

Hear hear. For example, one of the goals with D strings was to make
them
so good that people wouldn't invent their own string classes.

And yet we still get those that want a class, or even limit the
capability
of arrays so that a class is more appealing. (Had a friend that hated
the
idea that D went back to array of characters, then he saw that arrays
could actually do stuff)


Well, of course his first reaction was negative. Arrays suck in other
languages in comparison to D. Having strings be arrays in C is
horrible. I'd be annoyed to have strings be arrays if you were using
Java arrays, and they're a definite improvement over C - if nothing
else because they know their length. Strings as arrays work in D
precisely because D arrays are so awesome. I've never used another
language which had arrays which were even close to as awesome as the
ones in D.

- Jonathan M Davis


The only possible source of confusion may be that slicing is only safe
with dchar[]. (But still may work with char[] as long as you're only
using ASCII characters, so the error may not be obvious)

Of course I don't want to propose to change that because it makes
perfect sense the way it is, because in many situations you want to
know, how long the string physically is (how many bytes), so any hack to
splice by logical characters instead of physical characters would result
in a terrible mess.

But this is something a string-class with .substring(beg, end),
.logLength, .physLength and stuff like that could fix, because these
differences were more obvious.

But then again, having the following functions in std.string may
suffice:

size_t logLength(string s) // logical length in code points


That would be walkLength.


Ok. I really should get familiar with std.algorithm and D2 in general :-)




string substring(string s, size_t beg, size_t end) // logical slice -
from code point number beg to code point number end


That's not implemented and I don't think it would be useful. Usually
when I want a substring, the calculations up to that point indicate
the code _unit_ I'm at.


On the other hand those wouldn't play nice with the existing functions
like indexOf etc :/


Hm, I just noticed a problem. std.algorithm.indexOf returns logical
position because it uses the forward range interface, and
std.string.indexOf returns the physical position :o(.



I'm glad to have accidentally revealed that inconsistency ;)
Probably something should be done about this, maybe by renaming one of
the functions or something like that?


Yah, this is worth a bug report. Thanks.

http://d.puremagic.com/issues/show_bug.cgi?id=5201


Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Sean Kelly
Jacob Carlborg Wrote:
 
 I you don't think that support for other compilers should be in druntime 
 what do you suggest?

They should be in their own SVN repository somewhere.  I think one could even 
argue that the DMD compiler runtime (src/rt in druntime) should be maintained 
separately.  It's quite convenient to have the druntime repository produce a 
fully functional runtime however, and what better compiler to support than the 
reference compiler?

To be clear, I'm not vehemently opposed to other compiler runtimes living in 
the druntime repository.  It's simply proven to be a bad model.  In Tango, when 
a new DMD version was released I merged changes into the Tango runtime (a task 
which wouldn't admittedly exist with druntime), and then I speculatively made 
the same changes to the other runtimes as well.  In places where compiler 
support was needed, I left the new code versioned out with a comment to deal 
with it when that compiler was updated.  All in all, it meant a lot of work for 
me, and it was difficult to maintain a fully functional source tree.  I know 
the alternative is that each compiler team may have to sync with changes to 
druntime (at least core/* and gc/*), but this is a rather small and stable set 
of modules compared to the D1 Phobos arrangement.

From a functional perspective, the other issue is that the compiler doesn't 
like something having a module name of rt.blah but living in ldcrt/blah.d.  
This is a problem with maintaining multiple GCs as well.  Symlinks are an 
option on Posix, but as far as I know that isn't possible on Windows, so files 
would have to be copied around during the build process depending on which 
compiler or GC was selected.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Sean Kelly
Bernard Helyer Wrote:

 On Wed, 10 Nov 2010 16:26:52 -0500, Sean Kelly wrote:
  Also, I do still feel
  that the druntime SVN shouldn't have to be the repository used for every
  compiler runtime or garbage collector implementation.
 
 I am attempting to write a compiler in D2 (github.com/bhelyer/SDC), and I 
 can't help but feel that rewriting druntime, or picking out the 
 relatively benign parts would be a difficult, bug filled task. I don't 
 see a realistic alternative to druntime compatibility.  I also feel that 
 having all implementations share the GC implementation means that 
 improvements there will improve everywhere else. If I weren't to use 
 druntime's GC, then I would use the Boehm collector, but I feel using 
 druntime is more beneficial than not.

I absolutely believe that druntime should be used by D2 compilers.  The only 
issue is staying in sync with the main druntime repository.  Perhaps a 
different VCS would make this easier though.  Maybe git?  Functionally, all 
you'd need to do is replace src/object_.d and src/rt/* with your own code, 
assuming that you didn't want to use the DMD stuff as-is.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Russel Winder
On Thu, 2010-11-11 at 14:34 -0500, Sean Kelly wrote:
[ . . ]
 I absolutely believe that druntime should be used by D2 compilers.
 The only issue is staying in sync with the main druntime repository.
 Perhaps a different VCS would make this easier though.  Maybe git?
 Functionally, all you'd need to do is replace src/object_.d and
 src/rt/* with your own code, assuming that you didn't want to use the
 DMD stuff as-is.

Using Git is certainly better than using Subversion, but Bazaar and
Mercurial are the tools of choice for the discerning developer.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread bioinfornatics
git is better for managing branch


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread klickverbot

On 11/11/10 8:52 PM, Russel Winder wrote:

Using Git is certainly better than using Subversion, but Bazaar and
Mercurial are the tools of choice for the discerning developer.


Oh, so you really want to start that discussion/flamewar again? -.-

As you noted yourself in the thread over at d.D.announce, »[…]
no-one to date has objective data so all statements on this are 
opinion«, so could we please leave it at that, at least for the time being?


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Vladimir Panteleev
On Thu, 11 Nov 2010 21:28:47 +0200, Sean Kelly s...@invisibleduck.org  
wrote:



They should be in their own SVN repository somewhere.


Nitpicking and off-topic, but probably not SVN - a DVCS would make  
maintaining a fork much easier.


Symlinks are an option on Posix, but as far as I know that isn't  
possible on Windows,


NTFS has had junction points for quite a while now, which behave almost  
exactly like directory symlinks. The last OS to not support them was  
Windows XP, if it was installed to a FAT32 partition.


--
Best regards,
 Vladimirmailto:vladi...@thecybershadow.net


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread spir
On Thu, 11 Nov 2010 09:40:05 -0800
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote:

  string substring(string s, size_t beg, size_t end) // logical slice -
  from code point number beg to code point number end  
 
 That's not implemented and I don't think it would be useful. Usually 
 when I want a substring, the calculations up to that point indicate the 
 code _unit_ I'm at.

Yes, but a code unit does not represent a character, instead a unicode 
abstract character.

void main() {
dstring s = \u0061\u0302\u006d\u0065d;
writeln(s); // âme
assert(s[0..1] == a);
assert(s.indexOf(â) == -1);
}

A user-perceived character (also strangely called grapheme in unicode docs) 
can be represented by an arbitrary number of code _units_ (up to 8 in their 
test data, but there is no actual limit). What a code unit represents is, say, 
a scripting mark. In â, there are 2 of them. For legacy reasons, UCS also 
includes precombined characters, so that â can also be represented by a 
single code, indeed. But the above form is valid, it's even arguably the base 
form for â (and most composite chars cannot be represented by a single code).

In my views, there is a missing level of abstraction in common UString 
processing libs and types. How to count the âs in a text? How to find one? 
Above, indexOf fails because my editor uses a precombined code, while the 
source (here literal) uses another form.
To be able to produce meaningful results, and to use simple routines like 
index, find, count..., the way we used to with single-length character sets, 
there should be a grouping phase on top of decoding; we would then process 
arrays of stacks representing characters, not of codes. ITo search, it's also 
necessary to have all characters normalised form, so that both â would match: 
another phase.
Unicode provides algorithms for those phases in constructing string 
representations -- but everyone seems to ignore the issues... s[0..1] would 
then return the first character, not the first code of the stack representing 
the first character.


Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Daniel Gibson

spir schrieb:

On Thu, 11 Nov 2010 09:40:05 -0800
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote:


string substring(string s, size_t beg, size_t end) // logical slice -
from code point number beg to code point number end  
That's not implemented and I don't think it would be useful. Usually 
when I want a substring, the calculations up to that point indicate the 
code _unit_ I'm at.


Yes, but a code unit does not represent a character, instead a unicode abstract 
character.

void main() {
dstring s = \u0061\u0302\u006d\u0065d;
writeln(s); // âme
assert(s[0..1] == a);
assert(s.indexOf(â) == -1);
}

A user-perceived character (also strangely called grapheme in unicode docs) can be represented by an arbitrary number of code 
_units_ (up to 8 in their test data, but there is no actual limit). What a code unit represents is, say, a scripting mark. In 
â, there are 2 of them. For legacy reasons, UCS also includes precombined characters, so that â can also be 
represented by a single code, indeed. But the above form is valid, it's even arguably the base form for â (and most composite chars 
cannot be represented by a single code).



OMG, this is worse than I thought O_O
I thought ok, for UTF-8 one code unit is one byte and one 'real', visible 
character is called a code point and consists of 1-4 code units - but having 
user-perceived characters that consist of multiple code units is sick.
Unicode has a way to tell if a sequence of code units (bytes) belongs together 
or not, so identifying code points isn't too hard.
But is there a way to identify graphemes? Other then a list of rules like a 
sequence of the two code points foo and bar make up one grapheme foobar?




Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Walter Bright

spir wrote:

In my views, there is a missing level of abstraction in common UString processing libs 
and types. How to count the âs in a text? How to find one? Above, indexOf 
fails because my editor uses a precombined code, while the source (here literal) uses 
another form.
To be able to produce meaningful results, and to use simple routines like index, find, count..., 
the way we used to with single-length character sets, there should be a grouping phase on top of 
decoding; we would then process arrays of stacks representing characters, not of codes. 
ITo search, it's also necessary to have all characters normalised form, so that both â 
would match: another phase.
Unicode provides algorithms for those phases in constructing string representations -- 
but everyone seems to ignore the issues... s[0..1] would then return the first character, 
not the first code of the stack representing the first character.




http://www.digitalmars.com/d/2.0/phobos/std_utf.html


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread spir
On Thu, 11 Nov 2010 22:40:47 +0100
Daniel Gibson metalcae...@gmail.com wrote:

 spir schrieb:
  On Thu, 11 Nov 2010 09:40:05 -0800
  Andrei Alexandrescu seewebsiteforem...@erdani.org wrote:
  
  string substring(string s, size_t beg, size_t end) // logical slice -
  from code point number beg to code point number end  
  That's not implemented and I don't think it would be useful. Usually 
  when I want a substring, the calculations up to that point indicate the 
  code _unit_ I'm at.
  
  Yes, but a code unit does not represent a character, instead a unicode 
  abstract character.
  
  void main() {
  dstring s = \u0061\u0302\u006d\u0065d;
  writeln(s); // âme
  assert(s[0..1] == a);
  assert(s.indexOf(â) == -1);
  }
  
  A user-perceived character (also strangely called grapheme in unicode 
  docs) can be represented by an arbitrary number of code _units_ (up to 8 in 
  their test data, but there is no actual limit). What a code unit represents 
  is, say, a scripting mark. In â, there are 2 of them. For legacy 
  reasons, UCS also includes precombined characters, so that â can also 
  be represented by a single code, indeed. But the above form is valid, it's 
  even arguably the base form for â (and most composite chars cannot be 
  represented by a single code).
  
 
 OMG, this is worse than I thought O_O
 I thought ok, for UTF-8 one code unit is one byte and one 'real', visible 
 character is called a code point and consists of 1-4 code units - but having 
 user-perceived characters that consist of multiple code units is sick.

Most people, even programmers that deal with unicode everyday, think the same. 
This is due to several factors: (1) unicode's misleading use of abstract 
character (wonder whether it was done in purpose?) (2) string processing tools 
simply ignore all of that (3) most texts we deal with today only hold common 
characters that have a single-code representation.
So that everybody plays with strings as if (1 code -- 1 char).

 Unicode has a way to tell if a sequence of code units (bytes) belongs 
 together 
 or not, so identifying code points isn't too hard.
 But is there a way to identify graphemes? Other then a list of rules like 
 a 
 sequence of the two code points foo and bar make up one grapheme 
 foobar?
 
There is an algorithm, indeed, and not too complicated. But you won't find any 
information in the string of codes itself that tells you about it (meaning, you 
cannot synchronise at start/end of grapheme without knowledge of the whole 
algorithm).
Accordingly, when picking _some_ code points (eg the one 'a' above), there is 
no way to tell whether it's a standalone code that happens to represent a whole 
character (a), or the just the start of it. These are the base marks: they 
have the same code when meaning a whole char and as start of stack (substring 
representing a whole char). But combining marks have 2 codes: one when 
combined, one when used alone like in in portuguese, '~' is used to denote a 
nasal vowel.
(Hope I'm clear.)

The whole set of UCS (the charset) issues, over Unicode ones, is imo:
1. Actual characters are represented by an arbitrary number of codes.
2. The same character can be represented by different strings of codes...
3. including strings of the same length, but in different order ;-)
The first issue is actually good: it would be stupid to try and give a code to 
every possible combination, and even impossible. also, the present scheme 
allows _creating_ character for our use, that will be rndered correctly (yes!). 
(But I would kill any designer collegue that would allow for points 2. and 3. 
;-)

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread retard
Thu, 11 Nov 2010 23:59:36 +0100, spir wrote:

 (3) most texts we deal with
 today only hold common characters that have a single-code
 representation. So that everybody plays with strings as if (1 code --
 1 char).

That might be true for many americans. But even then the single byte 
can't express all characters you need in everyday communication. There 
are countless people with é or ë or ü in their last name. ” and “ are 
probably not among the first 128-256 codes. Using e instead of ë or é 
might work to some extent, but ü and u are pronounced differently. Some 
use ue instead.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Daniel Gibson

Walter Bright schrieb:

spir wrote:
In my views, there is a missing level of abstraction in common UString 
processing libs and types. How to count the âs in a text? How to 
find one? Above, indexOf fails because my editor uses a precombined 
code, while the source (here literal) uses another form.
To be able to produce meaningful results, and to use simple routines 
like index, find, count..., the way we used to with single-length 
character sets, there should be a grouping phase on top of decoding; 
we would then process arrays of stacks representing characters, not 
of codes. ITo search, it's also necessary to have all characters 
normalised form, so that both â would match: another phase.
Unicode provides algorithms for those phases in constructing string 
representations -- but everyone seems to ignore the issues... s[0..1] 
would then return the first character, not the first code of the 
stack representing the first character.




http://www.digitalmars.com/d/2.0/phobos/std_utf.html


If I'm not mistaken, those functions don't handle these graphemes, i.e. 
something that appears like one character on the screen, but consists of 
multiple code *points*. Like spir's â that, in UTF-8, is encoded with the 
following bytes: 0x61 (=='a'), 0xCC, 0x82. (Or \u0061\u0302 in UTF-32).


Also, a function returning the physical position (i.e. pos in arrray of chars or 
wchars) of logical char #logPos may be useful, e.g. for fixed width printing stuff:

  size_t getPhysPos(char[] str, size_t logPos)

Cheers,
- Daniel


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Sam Hu
Andrei Alexandrescu Wrote:
  The above code is supposed to print each word one time,but after testing by 
  myself and my friends on different machine both under windows,it does 
  not.It prints some of the words several times,but some are ok.One of my 
  friend suggested to modify the code as below:
 
  Still it behaves different on different machine under windows.
 
 I am ashamed to reply that this is due to a major dmd bug that is not 
 yet fixed:
 
 http://d.puremagic.com/issues/show_bug.cgi?id=2954
 
 Apologies. I will do what I can to have this fixed asap.
 
 
 Andrei
Thank you so much for your time to reading my post!

So many times I felt D is so great,so beautiful and decided to focus on it,so 
many times I encountered problems,some weird,like this sample;some are known 
issue but it seems never ever got attention,like Chinese font print to 
console,and some others ,which make me feel bad,and can not go on the learning.

Hope apprent issues get fixed asap,a workable workspace is available very soon.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Walter Bright

Daniel Gibson wrote:
If I'm not mistaken, those functions don't handle these graphemes, 


Probably not, since I don't know what the  a grapheme is. I think the person 
who thought unicode should be divided up into characters, bytes, code points, 
code units, glyphs, combining characters, composite characters, and graphemes 
(and whatever new complexity they dream up this week) should be taken out and 
screened by the TSA.


Unicode is a simple idea, made absurdly complex.

Furthermore, I think that Phobos handles Unicode in a straightforward manner. 
All this other crazy stuff should be handled by some 3rd party 100Mb add-on, so 
none of the rest of us have to suffer under it.


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Andrei Alexandrescu

On 11/11/10 5:17 PM, Sam Hu wrote:

Andrei Alexandrescu Wrote:

The above code is supposed to print each word one time,but after testing by 
myself and my friends on different machine both under windows,it does not.It 
prints some of the words several times,but some are ok.One of my friend 
suggested to modify the code as below:


Still it behaves different on different machine under windows.


I am ashamed to reply that this is due to a major dmd bug that is not
yet fixed:

http://d.puremagic.com/issues/show_bug.cgi?id=2954

Apologies. I will do what I can to have this fixed asap.


Andrei

Thank you so much for your time to reading my post!

So many times I felt D is so great,so beautiful and decided to focus on it,so 
many times I encountered problems,some weird,like this sample;some are known 
issue but it seems never ever got attention,like Chinese font print to 
console,and some others ,which make me feel bad,and can not go on the learning.

Hope apprent issues get fixed asap,a workable workspace is available very soon.


Walter fixed this bug today: 
http://www.dsource.org/projects/dmd/changeset/749


If it's not urgent, you may want to wait for the next release.


Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Nick Sabalausky
thank you oldtimer nos...@_._ wrote in message 
news:ibb7ma$2fs...@digitalmars.com...
 oldtimer Wrote:
 Some of us hoped D2 would solve the ugly corner cases of the language and 
 unify a lot of features. Unfortunately not any kind of macro system was 
 implemented, templates got even uglier, the alias this hack, snake oil 
 template!X syntax shortcut and all kinds of unnecessary features were 
 added. Of course also good features were added, but overall this just 
 isn't good enough.


 Sometimes feels like this guy dresses up as bearophile just to waste our 
 time with stupid nonsense. In reality there's a single sick person 
 opposing D2 and it's probably the lead developer of Tango who wasn't 
 invited (it's just one freaking license change!). No wonder Tango for D2 
 gets ever done, the guy is wasting time here posting this crap. Sad times. 
 :-( Do us a favor, go and use that 
 F#/Spec#/ATS/Clojure/Go/Scala/Haskell/C++/C#/Java/{whatever it is this 
 time}. Never come back. It's time to cut off this bullshit now.

This bothers me. I don't think it's at all healthy for the D community to be 
antaginizing Tango, especially with such speculative accusations.

 We're adults.

Then can we please act like it, even in response to posts that happen to be 
critical of some aspects of D? It's not as if oldtimer's post was tossing 
personal insults or anything, or criticizing anything that hasn't already 
been criticized by upstanding members of the NG who just happened to 
disagree with a particular design. 




Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Nick Sabalausky
spir denis.s...@gmail.com wrote in message 
news:mailman.283.1289507692.21107.digitalmar...@puremagic.com...
On Thu, 11 Nov 2010 09:40:05 -0800

A user-perceived character (also strangely called
grapheme in unicode docs) can be represented by an
arbitrary number of code _units_ (up to 8 in their test data, but
there is no actual limit). What a code unit represents is, say, a
scripting mark. In â, there are 2 of them. For legacy
reasons, UCS also includes precombined characters, so that
â can also be represented by a single code, indeed. But the
above form is valid, it's even arguably the base form for
â (and most composite chars cannot be represented by a
single code).

Minor rant:

Sometimes I'm nostalgic for for utter simplicity of ASCII and look at all 
the complexity of all the international symbols out there and think Well, 
ok, so Unicode's not as simple, but it is necessary. It can't be as simple 
as ASCII and still work. And code-units/code-points, and UTF8 vs UTF16 vs 
UTF32 really aren't all *that* bad, all things considered.

Then something comes along and reminds me that Unicode decided to toss in 
multiple ways to represent the same damn character in a *single* encoding 
scheme, and then I just want to slap them. Like the precombined vs 
non-precombined characters. And how they responded to the \n vs \r\n mess by 
adding *another* newline character (Really? That's supposed to help? 
REALLY?!?).




Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Don

so wrote:
Sean took all the code he had written. The other minor contributors 
did not yet give permission for their code to be used, so of course it 
could not be included.


This is the single big thing on this tango vs phobos issue i never 
understand.
What are the reasons/motives behind this other than stupid politics? Why 
wouldn't they give permission?


Nobody knows, apart from the people involved. They've made no statement 
(not even privately).




Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread klickverbot

On 11/10/10 12:00 AM, Walter Bright wrote:

[…] Producing another incompatible split with D2 will not be of an

 advantage to anyone, and will just give people reasons not to use D
 at all.

I probably wouldn't get the problem anyway, and I have been using both 
D1/Tango and, recently, D2/Phobos, and I never understood the reasons 
for the recent clash in the first place (besides, to me, slightly … 
childish … behavior on both sides), but:


Has anyone actually proposed that? If not, I fear that comments like 
this just help spreading FUD around the current situation of D, not 
unlike the (in my eyes) exaggeration of licensing issues…


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jacob Carlborg

On 2010-11-09 23:04, Don wrote:

Jacob Carlborg wrote:

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because
Tango was first it's druntime that chose to turn away from compatibility.


Sorry, that is completely false. druntime was created specifically to
allow Phobos and Tango to co-exist. At the time, almost all of the code
in druntime was written by Sean, and he was leading the Tango runtime
development. The expectation was that Tango would continue to use Sean's
runtime, it was just in a separate project.


Of course that would be the preferred way, there should have been some 
kind of agreement for this (maybe there was but never fulfilled?) But 
you also have to look at it from Tangos point of view. Why would Tango 
drop support for anything that isn't DMD 32bit? Or should Tango keep 
half of it's runtime in it's own repository and for the other half use 
druntime.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a
runtime.


That runtime is druntime. If there is no understanding of that at Tango,
that is suicide.


Apparently not, since Sean ripped out all that wasn't necessary for
Phobos but is necessary for Tango. Why are you blaming everything on
Tango all the time?


Sean took all the code he had written. The other minor contributors did
not yet give permission for their code to be used, so of course it could
not be included.


I really think it's a shame they couldn't/wanted to give permission for 
their code to be used.


--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jacob Carlborg

On 2010-11-09 22:45, Andrei Alexandrescu wrote:

On 11/9/10 12:33 PM, Jacob Carlborg wrote:

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political
incentive to
a Tango port. Tango is currently the de facto standard library for
D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently
available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while
others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is
slightly better than the standard one. People generally don't do that
but instead add libraries on top of that because they understand the
advantages of compatibility.


There was a good standard library that you forked and never added back
any changes to it.


This must be some confusion. I didn't fork anything. Besides, it's not
useful to fall into the pattern of finger pointing.


Ok, you wasn't not a good word in this case and I apologize. What I 
meant with you was you as a group consisting of the people working 
on Phobos and druntime and/or the people that agreed (I'm assuming it 
was more than one person) we should build a new runtime for D2 based on 
the Tango runtime. I guess I just should have written Sean.



I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because
Tango was first it's druntime that chose to turn away from compatibility.


That would be a tenuous point to make in more than one way. Druntime was
a major effort to foster runtime standardization made by its author
himself and with intentions that I consider most transparent. I'd find
it very difficult to concoct a hypothesis in which Sean comes across as
not acting in the best interest of the D community.


Yes, I also think that Sean acted in the best interest of the D community.


That very concern - the best interest of the D community - has
unequivocally been the reason for which Sean and other chose to leave
petty fights to others and join Phobos, which has no political agenda.
That's supposed to tell someone something. You are gladly invited to
attempt to convince me otherwise, but the sheer facts at hand would make
it difficult for you to build a case. I mean it's possible - for any
number of good reasons - to ignore mounting evidence for some time, but
at some point the waking up and smelling of the coffee is inevitable.


I can agree with most of this and I think it's ridiculous that some 
Tango contributors don't want to contribute their code to 
Phobos/druntime. But I don't agree that it's the best interest of the D 
community that Sean stopped conributing to Tango. That's basically why 
we have this problem he never folded back any changes to Tango (as far 
as I know).



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a
runtime.


That runtime is druntime. If there is no understanding of that at Tango,
that is suicide.


Apparently not, since Sean ripped out all that wasn't necessary for
Phobos but is necessary for Tango. Why are you blaming everything on
Tango all the time?


There's no reason to get up in arms. I didn't blame anything on anyone,
just stated my view of the state of affairs. I'm hardly vested
emotionally in the matter so I'm not interested in dramatic posturing,
assigning blame, or drawing sweeping conclusions. One thing I would be
interested in is improving things going forward. I think that will be
possible once we all let bygones be bygones and see what we can do to
push D forward.


Andrei


That's good, I also want to push D forward. It's just that sometimes I'm 
having a hard time to believe what you're writing above (last 
section/paragraph) when reading other posts by you.


--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jacob Carlborg

On 2010-11-10 00:00, Walter Bright wrote:

Tobias Pfaff wrote:

1. Bitter fighting about a possible non-nullable type for D3(!).
Discussion style: Noone will take away my right to write unsafe code
! vs. Down with the reckless cowboy coders. Are we discussing guns
or coding here?
That, and purposedly overhearing the other's real point.


I don't know that it's bitter, spirited might be a better term. I like
spirited discussions.



2. Tango vs. Phobos. Wow. I really really wished we were over that by
now. It's been like two years since I last looked in here, and still
the same thing.

So, while I like the language and will probably stick around here
anyway, it might me a good thing to avoid this experience for other
people interested in D peeking into the newsgroup. Also, with (2), I
don't really get the point here. Whatever exactly happend between the
tango/phobos fraction -- the best thing to do to get everyone on board
again is probably to just to make phobos2 a library everyone enjoys to
use. And avoid starting discussions on who did what wrong over and over.
And while still lacking a few of the high-level features of Tango
(higher level network, streaming, etc.) it feels like the direction is
right.


I agree. The reasons for the Tango split long ago, whatever the merit of
those reasons was, have long since passed. Producing another
incompatible split with D2 will not be of an advantage to anyone, and
will just give people reasons not to use D at all.

Jacob has recently decided to help out with improvements to druntime; I
take that as a very welcome sign towards ending the differences.


I don't want to increase any separation in the D community and would 
hope peoeple could agree more. I have no problems what so ever 
contributing both to Tango and Phobos/druntime. And I'm happy to license 
any of my code to whatever license would be need for a give D project.



With all that been said, I'm looking forward to using D for a while,
after fighting the C++ template code monster for the last years.


Great!


--
/Jacob Carlborg


Pls. bury this damned hatchet very deep (was Re: why a part of D community do not want go to D2 ?)

2010-11-10 Thread Gour
On Wed, 10 Nov 2010 11:51:19 +0100
 Jacob == Jacob Carlborg wrote:

Jacob Of course that would be the preferred way, there should have
Jacob been some kind of agreement for this (maybe there was but never
Jacob fulfilled?) But you also have to look at it from Tangos point of
Jacob view. Why would Tango drop support for anything that isn't DMD
Jacob 32bit? Or should Tango keep half of it's runtime in it's own
Jacob repository and for the other half use druntime.

It is very disappointing to see how many people in D community are
(still) behaving like a little children pointing fingers at each other
saying You did that to me!!

I am probably more happy just arriving here recently and I can
understand that some mistakes were done and (some) people may feel
hurt...

However, I'm sure that D community is not the only place in the
universe where people might get hurt, but if you cannot go over it,
it's shame...

Forgive, stay and contribute to push D(2) forward.

Otherwise, if the above is not possible, stop whining and find a
better language/community to contribute to.

(Recently I did not agree with some steps done in one CMS community,
complained, became banned from the forums..andn ow I am enjoying a new
CMS community without burning too much brain cycles over the past experience.)
This constant crying over the spilled milk does not make sense for
adult people. The time won't be brought back. Let's learn the lesson
and move forward. Take it or leave it...


Sincerely,
Gour

 -- 

Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA



signature.asc
Description: PGP signature


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread retard
Wed, 10 Nov 2010 11:56:18 +0100, Jacob Carlborg wrote:

 On 2010-11-10 00:00, Walter Bright wrote:
 I agree. The reasons for the Tango split long ago, whatever the merit
 of those reasons was, have long since passed. Producing another
 incompatible split with D2 will not be of an advantage to anyone, and
 will just give people reasons not to use D at all.

 Jacob has recently decided to help out with improvements to druntime; I
 take that as a very welcome sign towards ending the differences.
 
 I don't want to increase any separation in the D community and would
 hope peoeple could agree more. I have no problems what so ever
 contributing both to Tango and Phobos/druntime. And I'm happy to license
 any of my code to whatever license would be need for a give D project.

A dual licensing scheme for all code might help a bit (since both parties 
refuse to switch licensing). There are also

 - stylistic issues (OOP style structured Tango vs quick'n'dirty Phobos 
API) - this causes annoying technical incompatibilities

 - psychological issues (Tango's charismatic leaders vs dull politically 
correct office persons and almost anynomous lone coders porting Boost 
code written in other languages). I believe strong personalities like Jon 
Harrop and Paul Graham actually have an overall positive effect. It's not 
a big secret that Andrei has boosted D's adoption quite a bit - this has 
more to do with the strong personality than technical issues.

 - project management issues (Tango uses trac heavily and the leaders 
have modern project management skills, Phobos developers have developed a 
new inefficient ad-hoc software process model without the big picture 
'planning' phase and without any communication between the team and the 
product owner)

 - platform issues (not everyone agrees D2 is a perfect upgrade route - 
how is this even surprising? Look at the number of people *not* using D, 
it shouldn't be a surprise that there are people who dislike D2, but like 
D1)

 - an axe fight between some key persons. I believe this can be solved if 
there weren't those other annoying problems.

These are all my subjective opinions. Feel free to throw the first rock, 
after all I'm just a stupid troll.

For me the technical issues have the greatest priority. If I want a full 
flexible Java style stream I/O interface and these kind of things, there's 
no way in hell I'll let you shove the Phobos style ideology down my 
throat. I'd have to create a PhoTango wrapper to actually use these.

The political issues aren't that interesting. If I'm coding in Java or 
C#, I don't even know the names of the stdlib developers. Maybe Doug Lea. 
But he left Oracle for political reasons..


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread klickverbot

On 11/10/10 1:38 PM, klickverbot wrote:

I probably wouldn't get the problem anyway, and[…]


Whoops, s/and/as/ there…


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Steven Schveighoffer

On Wed, 10 Nov 2010 05:51:19 -0500, Jacob Carlborg d...@me.com wrote:

Of course that would be the preferred way, there should have been some  
kind of agreement for this (maybe there was but never fulfilled?) But  
you also have to look at it from Tangos point of view. Why would Tango  
drop support for anything that isn't DMD 32bit? Or should Tango keep  
half of it's runtime in it's own repository and for the other half use  
druntime.


I think this is the whole point of Jacob's that is being missed -- Tango  
supports LDC, GDC, and DMD, and druntime supports only DMD.  When druntime  
first was developed, it was a clone of Tango's runtime, but only with dmd  
support.  I can't remember why support for the other compilers was  
removed, but I don't think it was malicious in nature, I think it was a  
point of maintenance or lack of ownership.  I would expect that if someone  
wanted to support druntime for Tango (BTW, the D1 branch is still in  
druntime, just 2 years old) with LDC and GDC support, I don't think Sean  
would object.  But I can't speak for Sean...


But this aside, there was never any point for Tango to adopt druntime --  
phobos 1 was not going to adopt it, and Tango is not going to be ported to  
D2.  Compatibility is an academic pipe dream that will never occur.


-Steve


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jacob Carlborg

On 2010-11-10 12:43, retard wrote:

Wed, 10 Nov 2010 11:56:18 +0100, Jacob Carlborg wrote:


On 2010-11-10 00:00, Walter Bright wrote:

I agree. The reasons for the Tango split long ago, whatever the merit
of those reasons was, have long since passed. Producing another
incompatible split with D2 will not be of an advantage to anyone, and
will just give people reasons not to use D at all.

Jacob has recently decided to help out with improvements to druntime; I
take that as a very welcome sign towards ending the differences.


I don't want to increase any separation in the D community and would
hope peoeple could agree more. I have no problems what so ever
contributing both to Tango and Phobos/druntime. And I'm happy to license
any of my code to whatever license would be need for a give D project.


A dual licensing scheme for all code might help a bit (since both parties
refuse to switch licensing). There are also

  - stylistic issues (OOP style structured Tango vs quick'n'dirty Phobos
API) -  this causes annoying technical incompatibilities

  - psychological issues (Tango's charismatic leaders vs dull politically
correct office persons and almost anynomous lone coders porting Boost
code written in other languages). I believe strong personalities like Jon
Harrop and Paul Graham actually have an overall positive effect. It's not
a big secret that Andrei has boosted D's adoption quite a bit - this has
more to do with the strong personality than technical issues.

  - project management issues (Tango uses trac heavily and the leaders
have modern project management skills, Phobos developers have developed a
new inefficient ad-hoc software process model without the big picture
'planning' phase and without any communication between the team and the
product owner)

  - platform issues (not everyone agrees D2 is a perfect upgrade route -
how is this even surprising? Look at the number of people *not* using D,
it shouldn't be a surprise that there are people who dislike D2, but like
D1)

  - an axe fight between some key persons. I believe this can be solved if
there weren't those other annoying problems.

These are all my subjective opinions. Feel free to throw the first rock,
after all I'm just a stupid troll.

For me the technical issues have the greatest priority. If I want a full
flexible Java style stream I/O interface and these kind of things, there's
no way in hell I'll let you shove the Phobos style ideology down my
throat. I'd have to create a PhoTango wrapper to actually use these.

The political issues aren't that interesting. If I'm coding in Java or
C#, I don't even know the names of the stdlib developers. Maybe Doug Lea.
But he left Oracle for political reasons..


I basically agree with all this.

--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Walter Bright

Jacob Carlborg wrote:
I don't want to increase any separation in the D community and would 
hope peoeple could agree more. I have no problems what so ever 
contributing both to Tango and Phobos/druntime. And I'm happy to license 
any of my code to whatever license would be need for a give D project.


This is great news! Thank you!


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Walter Bright

retard wrote:
A dual licensing scheme for all code might help a bit (since both parties 
refuse to switch licensing). There are also


Releasing under the Boost license will make it compatible with both. Such is 
kinda the point with the Boost license, and why we chose it.



It's not 
a big secret that Andrei has boosted D's adoption quite a bit - this has 
more to do with the strong personality than technical issues.


Maybe, but Andrei's technical contribution has been very large. So has his book. 
Andrei's reputation in the programming community has been well earned through 
his technical contributions.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread lurker #5
As a long time lurker I witnessed the last, rather infamous event when this 
topic
was brought up.
The way I see it the situation has only deteriorated further since then.
There are still resources spent on managing the political situation, to avoid
license infringement, supporting two libraries, duplicating code because of
license issues, not to mention the time spent on just discussing the situation.
Since the developers of the alternative standard library obviously have 
ulterior
motives, the only solution is to cut them out of the D ecosystem. This can be
easily achieved if Walter stopped showing this compassionate attitude toward 
them,
and started to officially not recommend the use of that library, in any public
forum where the issue is brought up. After a year of this their high attitude
would probably sink to the level where is belongs.
This would not undo the damage they had already done, but at least it would
neutralize any threat they represent to D2.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Daniel Gibson

lurker #5 schrieb:

As a long time lurker I witnessed the last, rather infamous event when this 
topic
was brought up.
The way I see it the situation has only deteriorated further since then.
There are still resources spent on managing the political situation, to avoid
license infringement, supporting two libraries, duplicating code because of
license issues, not to mention the time spent on just discussing the situation.
Since the developers of the alternative standard library obviously have 
ulterior
motives, the only solution is to cut them out of the D ecosystem. This can be
easily achieved if Walter stopped showing this compassionate attitude toward 
them,
and started to officially not recommend the use of that library, in any public
forum where the issue is brought up. After a year of this their high attitude
would probably sink to the level where is belongs.
This would not undo the damage they had already done, but at least it would
neutralize any threat they represent to D2.


Yeah right, that's gonna help. Walter acting like a douche will certainly 
attract people to use D2.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread FeepingCreature
thank you oldtimer Wrote:

 oldtimer Wrote:
 
 Is it a coincidence that all the complaints seem to come from a single 
 person? Let's take a look at my killfile:
 
 ankh, anonymous troll, another lurker, anton smith, arnoldsschwartz, bjarne 
 yesterday, blaise pascal, cal, chmod+x, crap, darth tango, domino, ellis 
 peters, foobar, gareth charnock, gcc-lurker, girlprogrammer, godworshipper, 
 gryphon, her3tic, jameskan, jane doe, jarett billingsley, jer, languagefan, 
 larry coder, lars ivar douchesund, levenshtein, lurker, nobody, oldtimer, 
 pipe dream, pointing hand, retard, retard++, retarded.clear(), scott, steveh, 
 superdan, user, wah, william t. fnk, yoda, typeerasure, uriel (reddit), 
 eternium (reddit), iliekcaeks (reddit), feepingcreature (reddit), 
 parametricpoly (reddit), nfxjfg (bugzilla), and many more!
 

Wow.

I must be INSANELY productive.

Maybe you should listen to me.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread dsimcha
== Quote from so (s...@so.do)'s article
 But a question comes to mind. For library development (or just everything
 if that matters) is the top down OOP approach ideal/right way?
 It is just an idiom that might have elegant solutions for certain tasks.

Frankly, for a library, I hate it in most cases.  Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to roll their 
own.
 This means minimum boilerplate.  Don't make it a class if it can be a free
function.  Don't make me import/search through zillions of tiny modules when I'm
probably going to want to use most of them at the same time.  Don't make me
instantiate 15 layers of decorators just to read in a file line by line (*cough*
Java *cough).

When it comes to the more complicated use cases, trying to anticipate these is
rather difficult.  It's often not too hard to make complicated things possible 
by
writing an OO wrapper on top of a designed-for-simplicity API.  OTOH, if you 
need
to write a bunch of wrappers to avoid needing lots of boilerplate code in the
common cases, you've by definition failed at making simple things simple.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Walter Bright

dsimcha wrote:

Libraries need to make the
simple use cases sufficiently simple that people aren't tempted to roll their 
own.


Hear hear. For example, one of the goals with D strings was to make them so good 
that people wouldn't invent their own string classes.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jacob Carlborg

On 2010-11-10 21:42, Eric Poggel wrote:

On 11/10/2010 3:16 PM, dsimcha wrote:

Don't make it a class if it can be a free
function.


I agree with most of the others except for this one.

I can type Math. and instantly see my choices. It also helps namespace
conflicts without having to do selective imports or use the slightly
longer std.math.log


You can have renamed imports: import Math = std.math; and the you can 
use Math. as you want.


--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Eric Poggel

On 11/10/2010 3:16 PM, dsimcha wrote:

Don't make it a class if it can be a free
function.


I agree with most of the others except for this one.

I can type Math. and instantly see my choices.  It also helps 
namespace conflicts without having to do selective imports or use the 
slightly longer std.math.log


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread so

I agree with most of the others except for this one.

I can type Math. and instantly see my choices.  It also helps  
namespace conflicts without having to do selective imports or use the  
slightly longer std.math.log


You can get the same thing with a namespace/module named math, after all  
it is an IDE feature.


--
Using Opera's revolutionary email client: http://www.opera.com/mail/


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Sean Kelly
Jacob Carlborg Wrote:

 On 2010-11-09 23:04, Don wrote:
  Jacob Carlborg wrote:
  On 2010-11-09 17:43, Andrei Alexandrescu wrote:
  I wouldn't be surprised if Tango chose to turn away from compatibility
  for the second time (be it theoretical compatibility for now since there
  is no Tango for D2). The technical reasons are dwindling and became
  tenuous to argue for, but however weak they are, they could be used to
  promote a political motivation: a Tango/D2 offering would come again as
  an either-or proposition for a standard library that precludes usage of
  Tango2 and Phobos2 together. In my opinion that would be an extremely
  dangerous gambit.
 
  Clearly we don't see this in the same way. I see it like this, because
  Tango was first it's druntime that chose to turn away from compatibility.
 
  Sorry, that is completely false. druntime was created specifically to
  allow Phobos and Tango to co-exist. At the time, almost all of the code
  in druntime was written by Sean, and he was leading the Tango runtime
  development. The expectation was that Tango would continue to use Sean's
  runtime, it was just in a separate project.
 
 Of course that would be the preferred way, there should have been some 
 kind of agreement for this (maybe there was but never fulfilled?) But 
 you also have to look at it from Tangos point of view. Why would Tango 
 drop support for anything that isn't DMD 32bit? Or should Tango keep 
 half of it's runtime in it's own repository and for the other half use 
 druntime.

I maintained a D1 branch of druntime for ages thinking that it might be a good 
transition point for Tango, but no one ever used it.  I was also very careful 
to avoid creating any incompatibilities with the Tango runtime for quite a 
while, but finally had to choose between letting the library stagnate in 
anticipation of an event that would likely never happen and moving forward.  I 
do still try to avoid changing existing user-facing code though.  Also, if you 
compare the two now, I think you'll find that the Tango runtime has diverged 
from the original design far more than druntime, so there's little apparent 
interest there in facilitating a merge.  Either way, as there's been little 
apparent effort in porting Tango to D2, this whole discussion is moot.

  For this to work the Tango team and the druntime
  contributors/maintainers have collaborate and work together on a
  runtime.
 
  That runtime is druntime. If there is no understanding of that at Tango,
  that is suicide.
 
  Apparently not, since Sean ripped out all that wasn't necessary for
  Phobos but is necessary for Tango. Why are you blaming everything on
  Tango all the time?
 
  Sean took all the code he had written. The other minor contributors did
  not yet give permission for their code to be used, so of course it could
  not be included.
 
 I really think it's a shame they couldn't/wanted to give permission for 
 their code to be used.

There was another simpler reason as well, which was that I didn't want to 
speculatively maintain code for various compilers or whatever just in case they 
decided to use druntime one day.  It's far less effort to simply add whatever's 
needed when that day comes.  Also, I do still feel that the druntime SVN 
shouldn't have to be the repository used for every compiler runtime or garbage 
collector implementation.  That was necessary in Tango because Tango was an 
alternative library, so for any hope of Tango being used we had to do all the 
work ourselves.  It's far from being an optimal workflow however.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread bearophile
Eric Poggel:

 On 11/10/2010 3:16 PM, dsimcha wrote:
  Don't make it a class if it can be a free
  function.
 
 I agree with most of the others except for this one.

Object oriented programming is a way to think about code, so it may come more 
natural to you, or less natural, according to the way you think (often your 
first language matters a lot. If your first language was OOP then probably 
objects are more natural for you).

But in the end OOP was invented to face problems present in larger programs. OO 
is infrastructure that adds some complexity to reduce complexity in larger 
programs. It's not wise to add complexity unless it's necessary. So using a 
class where a free functions is enough may be over-engineering.

Bye,
bearophile


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Andrew Wiley
On Wed, Nov 10, 2010 at 4:00 PM, bearophile bearophileh...@lycos.comwrote:

 Eric Poggel:

  On 11/10/2010 3:16 PM, dsimcha wrote:
   Don't make it a class if it can be a free
   function.
 
  I agree with most of the others except for this one.

 Object oriented programming is a way to think about code, so it may come
 more natural to you, or less natural, according to the way you think (often
 your first language matters a lot. If your first language was OOP then
 probably objects are more natural for you).

 But in the end OOP was invented to face problems present in larger
 programs. OO is infrastructure that adds some complexity to reduce
 complexity in larger programs. It's not wise to add complexity unless it's
 necessary. So using a class where a free functions is enough may be
 over-engineering.


One thought here:
If Tango is still useful in the D world but there isn't too much enthusiasm
about porting it to D2, why not break its functionality (that isn't already
in Phobos 2) down into a set of supplemental libraries that can be included
as needed? This would seem to give the best of both worlds because there is
no longer a runtime split, the functionality and APIs provided by Tango is
still available as needed, and porting becomes something that can easily be
done incrementally.
Thoughts? Criticisms? Denunciations?


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jesse Phillips
Walter Bright Wrote:

 dsimcha wrote:
  Libraries need to make the
  simple use cases sufficiently simple that people aren't tempted to roll 
  their own.
 
 Hear hear. For example, one of the goals with D strings was to make them so 
 good 
 that people wouldn't invent their own string classes.

And yet we still get those that want a class, or even limit the capability of 
arrays so that a class is more appealing. (Had a friend that hated the idea 
that D went back to array of characters, then he saw that arrays could actually 
do stuff)


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Daniel Gibson

Andrew Wiley schrieb:


One thought here:
If Tango is still useful in the D world but there isn't too much 
enthusiasm about porting it to D2, why not break its functionality (that 
isn't already in Phobos 2) down into a set of supplemental libraries 
that can be included as needed? 


Or just put it in one library and call it Tango2 or something like that ;)

(To allow porting of all kinds of Tango programs, about every Tango class would 
have to be ported to D2 anyway, so one could just as well do a proper port. 
Because of druntime it could coexist with Phobos2 - which was really the point 
of druntime for D2. Unfortunately nobody wanted to do this hitherto).


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Andrew Wiley
On Wed, Nov 10, 2010 at 5:27 PM, Daniel Gibson metalcae...@gmail.comwrote:

 Andrew Wiley schrieb:


 One thought here:
 If Tango is still useful in the D world but there isn't too much
 enthusiasm about porting it to D2, why not break its functionality (that
 isn't already in Phobos 2) down into a set of supplemental libraries that
 can be included as needed?


 Or just put it in one library and call it Tango2 or something like that
 ;)

 (To allow porting of all kinds of Tango programs, about every Tango class
 would have to be ported to D2 anyway, so one could just as well do a proper
 port. Because of druntime it could coexist with Phobos2 - which was really
 the point of druntime for D2. Unfortunately nobody wanted to do this
 hitherto).


Well, with Phobos 2, it may be that the cost of porting Tango no longer
outweighs the benefits of the extra functionality. My point was that it
doesn't have to be one large library that replaces Phobos, it could just be
a set of libraries ported as needed that provide the APIs that were most
useful in Tango.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Andrew Wiley
On Wed, Nov 10, 2010 at 5:27 PM, Daniel Gibson metalcae...@gmail.comwrote:

 Andrew Wiley schrieb:


 One thought here:
 If Tango is still useful in the D world but there isn't too much
 enthusiasm about porting it to D2, why not break its functionality (that
 isn't already in Phobos 2) down into a set of supplemental libraries that
 can be included as needed?


 Or just put it in one library and call it Tango2 or something like that
 ;)

 (To allow porting of all kinds of Tango programs, about every Tango class
 would have to be ported to D2 anyway, so one could just as well do a proper
 port. Because of druntime it could coexist with Phobos2 - which was really
 the point of druntime for D2. Unfortunately nobody wanted to do this
 hitherto).


It's also worthy of note that I wasn't addressing the porting of Tango
programs specifically. The modular approach does lose there.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Daniel Gibson

Andrew Wiley schrieb:



On Wed, Nov 10, 2010 at 5:27 PM, Daniel Gibson metalcae...@gmail.com 
mailto:metalcae...@gmail.com wrote:


Andrew Wiley schrieb:


One thought here:
If Tango is still useful in the D world but there isn't too much
enthusiasm about porting it to D2, why not break its
functionality (that isn't already in Phobos 2) down into a set
of supplemental libraries that can be included as needed?


Or just put it in one library and call it Tango2 or something like
that ;)

(To allow porting of all kinds of Tango programs, about every Tango
class would have to be ported to D2 anyway, so one could just as
well do a proper port. Because of druntime it could coexist with
Phobos2 - which was really the point of druntime for D2.
Unfortunately nobody wanted to do this hitherto).


It's also worthy of note that I wasn't addressing the porting of Tango 
programs specifically. The modular approach does lose there. 



I thought with [...] the functionality and APIs provided by Tango is still 
available as needed, and porting becomes something that can easily be done 
incrementally.

you meant porting Tango programs to D2, I'm sorry if I misunderstood.

I guess having some Tango modules (e.g. for Streams or XML) for D2 may be 
useful, until there are an adequate alternatives in Phobos.. but it would most 
probably harm the acceptance of these alternatives, once they're ready.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jonathan M Davis
On Wednesday, November 10, 2010 14:52:10 Jesse Phillips wrote:
 Walter Bright Wrote:
  dsimcha wrote:
   Libraries need to make the
   simple use cases sufficiently simple that people aren't tempted to roll
   their own.
  
  Hear hear. For example, one of the goals with D strings was to make them
  so good that people wouldn't invent their own string classes.
 
 And yet we still get those that want a class, or even limit the capability
 of arrays so that a class is more appealing. (Had a friend that hated the
 idea that D went back to array of characters, then he saw that arrays
 could actually do stuff)

Well, of course his first reaction was negative. Arrays suck in other languages 
in comparison to D. Having strings be arrays in C is horrible. I'd be annoyed 
to 
have strings be arrays if you were using Java arrays, and they're a definite 
improvement over C - if nothing else because they know their length. Strings as 
arrays work in D precisely because D arrays are so awesome. I've never used 
another language which had arrays which were even close to as awesome as the 
ones in D.

- Jonathan M Davis


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Andrew Wiley
On Wed, Nov 10, 2010 at 5:43 PM, Daniel Gibson metalcae...@gmail.comwrote:

 Andrew Wiley schrieb:



 On Wed, Nov 10, 2010 at 5:27 PM, Daniel Gibson metalcae...@gmail.commailto:
 metalcae...@gmail.com wrote:

Andrew Wiley schrieb:


One thought here:
If Tango is still useful in the D world but there isn't too much
enthusiasm about porting it to D2, why not break its
functionality (that isn't already in Phobos 2) down into a set
of supplemental libraries that can be included as needed?


Or just put it in one library and call it Tango2 or something like
that ;)

(To allow porting of all kinds of Tango programs, about every Tango
class would have to be ported to D2 anyway, so one could just as
well do a proper port. Because of druntime it could coexist with
Phobos2 - which was really the point of druntime for D2.
Unfortunately nobody wanted to do this hitherto).


 It's also worthy of note that I wasn't addressing the porting of Tango
 programs specifically. The modular approach does lose there.


 I thought with [...] the functionality and APIs provided by Tango is still
 available as needed, and porting becomes something that can easily be done
 incrementally.
 you meant porting Tango programs to D2, I'm sorry if I misunderstood.

 I guess having some Tango modules (e.g. for Streams or XML) for D2 may be
 useful, until there are an adequate alternatives in Phobos.. but it would
 most probably harm the acceptance of these alternatives, once they're ready.


Well, my assumption was that Phobos 2 was pretty much complete. If more
functionality is planned, then that's definitely a higher priority because
long term, that's a much better solution than any supplemental library.

And yes, D arrays are awesome. The best (solid) evidence I've seen of that
was the performance comparison on XML parsing where Tango utterly destroyed
every other major library.
I can also recall once when I was working on a Java project with the guy
that first introduced me to D, and he had a mysterious class called DArray
in his Java code with strange methods like slice. A month or so later, I
wound up making a similar class in another project.


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Jonathan M Davis
On Wednesday, November 10, 2010 17:53:08 Andrew Wiley wrote:
 Well, my assumption was that Phobos 2 was pretty much complete. If more
 functionality is planned, then that's definitely a higher priority because
 long term, that's a much better solution than any supplemental library.

Goodness, no. Phobos is nowhere near complete. Whole modules such as std.json, 
std.xml, and std.stream are planned for deprecation in favor of newer 
implementations (which haven't been done yet). New modules are on the way - 
such 
as std.datetime and std.parallelism. std.container has almost nothing in it - 
SList and Array. It's supposed to get pretty much every container which would 
be 
considered fairly standard, but those implementations haven't been completed 
yet. std.algorithm continues to get tweaked all the time. Phobos is changing 
all 
the time.

Phobos is way better than it was, but it's far from done. There's plenty of 
work 
left to do on it. Eventually, what's there will likely stabilize to the point 
that even its ABI won't generally change (except presumably for major releases 
when necessary or when outright new functionality is added), but it's still in 
quite a bit of flux. The general API isn't even yet stable (though a lot of it 
doesn't change often). I fully expect that once Phobos is fully mature, it will 
rival Tango in every respect. But there's still a lot of work to be done on it.

- Jonathan M Davis


Re: why a part of D community do not want go to D2 ?

2010-11-10 Thread Sam Hu
Boris Wang Wrote:

 First, forgive my poor english.
 
 we all known , Walter good at compiler writing, but not good at language
 design and development management , if can't change this, just be silent.
 
 I think, on language desgin, wisdom and leadership are more more important
 than technology.
 
 Ether continue working on D, or make D like clone,  if we can't do it like
 APPLE, just give up ASAP,
 because we can only save us by our selves.
 .
 .
 
 
 
 2010/11/10 Boris Wang kona.m...@gmail.com
Is printing Chinese font in the console under windows now workable?If yes,which 
function under which module should I use?If not,when is it supposed to be?

Is it workable writing a DLL under windows in D2 now?

I read from previous thread that std.xml is supposed to be replace by another 
better one,when?

In TDPL,chap 01,

1.import std.stdio, std.string;   
2.void main()
3.{   
4.uint[string] dictionary;   
5.foreach (line; stdin.byLine())
6.{   
7.// Break sentence into words   
8.// Add each word in the sentence to the vocabulary   
9.foreach (word; splitter(strip(line)))
10.{   
11.if (word in dictionary) continue; // Nothing to do   
12.auto newlD = dictionary.length;   
13.dictionary[word] = newlD;   
14.writeln(newlD, word);   
15.}   
16. }   
17.}  


The above code is supposed to print each word one time,but after testing by 
myself and my friends on different machine both under windows,it does not.It 
prints some of the words several times,but some are ok.One of my friend 
suggested to modify the code as below:

1.foreach(line;stdin.byLine()) 
2.{   
3.line = line.dup;   // -- here   
4.foreach(word;splitter(strip(line))) 
5.{ 
6.if(word in dictionary) continue; 
7.auto newID=dictionary.length; 
8.dictionary[word]=newID; 
9.writeln(newID,'\t',word); 
10.} 
11.}   

Still it behaves different on different machine under windows.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Jacob Carlborg

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

On 11/7/10 6:33 AM, bioinfornatics wrote:

So D community will be split in 2. And D1 continue to evolve without
D2 community, D1 frontend is open source and he coulb be used for
improve and fix D1


The current situation and the dynamics are quite interesting, and I am
looking forward to witnessing how things will unfold.

There is a community for which D1's offering is just fine. They've used
D1 long enough to use it idiomatically and to derive better enjoyment
than from the likes of Java or C++. The gain in power, albeit marginal,
is present. That base has been understandably annoyed by D2 being
backwards incompatible with D1, and has a dim view of the advantages
brought about by D2's additions (mainly concurrency and its
paraphernalia - immutability and no default sharing). The fact that the
implementation of the newest features is incomplete fuels arguments
against D2. The immaturity of alternative back-ends (gdc, llvm for D2
are both quite young) contributes to the perception that D2 does not
offer a net advantage when compared with D1.

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political incentive to
a Tango port. Tango is currently the de facto standard library for D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango 
runtime, removed any non DMD specific code and any code for a platform 
that DMD doesn't support. And stopped contributing to Tango while others 
improved the Tango runtime we're back at square one with two 
incompatiable runtimes and the Tango runtime still seems to be better. 
For this to work the Tango team and the druntime 
contributors/maintainers have collaborate and work together on a runtime.



So in the current equilibrium D1 and Tango form a bond: D1 is platform
offering Tango exclusivity as the standard library and Tango is the
library that makes D1 attractive. The risk assumed by that bond
(assuming the assumption above is correct) is isolation in a position
condemned to inevitable obsolescence.

As far as language proper is concerned, D1 has the option of becoming an
incompatible fork by choosing to evolve its own features independently
of dmd. That process could be greatly helped if a strong language
designer would decide to work on D1. I see that as a possible but
unlikely scenario (unlikely because a language designer would have to be
primarily politically motivated to make such a decision).

 From the D2 side, it all boils down to the question: are D2's additions
worthwhile or not? D2 places bets on concurrency, correctness, and
opt-out safety. Those bets looked much riskier two years ago than they
look now, but still carry a risk. Also, as I mentioned above, currently
the implementation of many new features is superficial. This is caused
by the current development model of the reference compiler - features
are implemented without a formal description.


Exactly, they need a formal description. This is also a problem with no 
proper language specification. If you encounter a problem/bug you never 
no what to except: is it a design bug? An implementation bug? And then 
it's hard to figure that out because you never no what can to trust, the 
language specification? The reference compiler? TDPL?



There is disproportionate reliance on the compiler test suite to effectively 
define the language
by exercising all of its features and feature combinations. The test
suite is undeniably useful, which makes it even more difficult to
explain its problems. Some more complicated features are first
implemented to simply make a narrow test pass, and then spend a long
time in an almost-well-defined state in which bug reports are fixed
and added to the test suite. I believe that the informal language
development is curre
ntly the single most important liability of D. (That is, somewhat
ironically, a matter in which D2 is at an advantage to D1.)

The insufficient implementation of new features propagates the
perception that D2 is unstable, although the more conventional, D1-like
subset of D2 is as solid in both languages. But then the perception is
justified, because one would want to use D2 primarily for its new,
unique offerings. A longer term perception problem is that some might
think the _design_ of such features has unsolvable issues, which hurts
the image of the language. I know of no major design flaws, but that is
only an academic argument in wake of perennial implementation
insufficiencies.


There are still things in D1 that are not solid, just look at the bugs 
and newsgroups posts by 

Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread ponce
 D1+Tango is working well enough for my project (Yage), but I like the 
 direction of D2.  I figure the longer I wait, the more stable it will 
 become and the easier my job will be.

Pretty much the same here, except I use D1 + Phobos.
To me there is little doubt that D2 is better.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread thank you oldtimer
oldtimer Wrote:
 Some of us hoped D2 would solve the ugly corner cases of the language and 
 unify a lot of features. Unfortunately not any kind of macro system was 
 implemented, templates got even uglier, the alias this hack, snake oil 
 template!X syntax shortcut and all kinds of unnecessary features were added. 
 Of course also good features were added, but overall this just isn't good 
 enough.

Is it a coincidence that all the complaints seem to come from a single person? 
Let's take a look at my killfile:

ankh, anonymous troll, another lurker, anton smith, arnoldsschwartz, bjarne 
yesterday, blaise pascal, cal, chmod+x, crap, darth tango, domino, ellis 
peters, foobar, gareth charnock, gcc-lurker, girlprogrammer, godworshipper, 
gryphon, her3tic, jameskan, jane doe, jarett billingsley, jer, languagefan, 
larry coder, lars ivar douchesund, levenshtein, lurker, nobody, oldtimer, pipe 
dream, pointing hand, retard, retard++, retarded.clear(), scott, steveh, 
superdan, user, wah, william t. fnk, yoda, typeerasure, uriel (reddit), 
eternium (reddit), iliekcaeks (reddit), feepingcreature (reddit), 
parametricpoly (reddit), nfxjfg (bugzilla), and many more!

Sometimes feels like this guy dresses up as bearophile just to waste our time 
with stupid nonsense. In reality there's a single sick person opposing D2 and 
it's probably the lead developer of Tango who wasn't invited (it's just one 
freaking license change!). No wonder Tango for D2 gets ever done, the guy is 
wasting time here posting this crap. Sad times. :-( Do us a favor, go and use 
that F#/Spec#/ATS/Clojure/Go/Scala/Haskell/C++/C#/Java/{whatever it is this 
time}. Never come back. It's time to cut off this bullshit now. We're adults. 
It's too late to change D in any radical way now. You either like it or hate 
it. Trust me, those favorite languages of yours suit *you* much better, we 
don't deserve that enlightenment TYVM. Go to movies, find a girlfriend, get a 
job, buy a house, start living a normal life. Don't be an emo kid. So much time 
is wasted on these stupid threads about totally irrelevant new features.

To not sound like a pathetic troll, something positive now: With that knowledge 
of yours all kinds of *good* things could be done. Write applications, write 
libraries, write languages, do language research, earn money! I challenge you 
to write your own clone of D. Maybe fork D1 and make a D 1.5 as you all 
wanted. Fix all the relevant issues and leave out template bloat. Might 
even attract small user base. Since you get your money elsewhere, you're not 
tied to the old dmc/optlink backend. Use LLVM! Use modern project management 
tools (Trac, Redmine, ...), use a modern SCM system (Git), invite all friends 
in. The stage is yours! If you come up with something better than D, I might be 
one of the first developers making the switch.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Andrei Alexandrescu

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political incentive to
a Tango port. Tango is currently the de facto standard library for D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is 
slightly better than the standard one. People generally don't do that 
but instead add libraries on top of that because they understand the 
advantages of compatibility.


I wouldn't be surprised if Tango chose to turn away from compatibility 
for the second time (be it theoretical compatibility for now since there 
is no Tango for D2). The technical reasons are dwindling and became 
tenuous to argue for, but however weak they are, they could be used to 
promote a political motivation: a Tango/D2 offering would come again as 
an either-or proposition for a standard library that precludes usage of 
Tango2 and Phobos2 together. In my opinion that would be an extremely 
dangerous gambit.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a runtime.


That runtime is druntime. If there is no understanding of that at Tango, 
that is suicide.


[snip]

The insufficient implementation of new features propagates the
perception that D2 is unstable, although the more conventional, D1-like
subset of D2 is as solid in both languages. But then the perception is
justified, because one would want to use D2 primarily for its new,
unique offerings. A longer term perception problem is that some might
think the _design_ of such features has unsolvable issues, which hurts
the image of the language. I know of no major design flaws, but that is
only an academic argument in wake of perennial implementation
insufficiencies.


There are still things in D1 that are not solid, just look at the bugs
and newsgroups posts by bearophile. The module/import system, for example.


Which ones? There are more than a few :o).


Andrei



Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Andrei Alexandrescu

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political incentive to
a Tango port. Tango is currently the de facto standard library for D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is 
slightly better than the standard one. People generally don't do that 
but instead add libraries on top of that because they understand the 
advantages of compatibility.


I wouldn't be surprised if Tango chose to turn away from compatibility 
for the second time (be it theoretical compatibility for now since there 
is no Tango for D2). The technical reasons are dwindling and became 
tenuous to argue for, but however weak they are, they could be used to 
promote a political motivation: a Tango/D2 offering would come again as 
an either-or proposition for a standard library that precludes usage of 
Tango2 and Phobos2 together. In my opinion that would be an extremely 
dangerous gambit.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a runtime.


That runtime is druntime. If there is no understanding of that at Tango, 
that is suicide.


[snip]

The insufficient implementation of new features propagates the
perception that D2 is unstable, although the more conventional, D1-like
subset of D2 is as solid in both languages. But then the perception is
justified, because one would want to use D2 primarily for its new,
unique offerings. A longer term perception problem is that some might
think the _design_ of such features has unsolvable issues, which hurts
the image of the language. I know of no major design flaws, but that is
only an academic argument in wake of perennial implementation
insufficiencies.


There are still things in D1 that are not solid, just look at the bugs
and newsgroups posts by bearophile. The module/import system, for example.


Which ones? There are more than a few :o).


Andrei



Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Bane
ponce Wrote:

  D1+Tango is working well enough for my project (Yage), but I like the 
  direction of D2.  I figure the longer I wait, the more stable it will 
  become and the easier my job will be.
 
 Pretty much the same here, except I use D1 + Phobos.
 To me there is little doubt that D2 is better.

Same thing here. It has all I need so far. Tried to switch to D2 couple months 
ago as a test, but it was painfull and unsucessfull attempt, mostly because of 
bugs.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Jacob Carlborg

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political incentive to
a Tango port. Tango is currently the de facto standard library for D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is
slightly better than the standard one. People generally don't do that
but instead add libraries on top of that because they understand the
advantages of compatibility.


There was a good standard library that you forked and never added back 
any changes to it.



I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because 
Tango was first it's druntime that chose to turn away from compatibility.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a runtime.


That runtime is druntime. If there is no understanding of that at Tango,
that is suicide.


Apparently not, since Sean ripped out all that wasn't necessary for 
Phobos but is necessary for Tango. Why are you blaming everything on 
Tango all the time?



[snip]

The insufficient implementation of new features propagates the
perception that D2 is unstable, although the more conventional, D1-like
subset of D2 is as solid in both languages. But then the perception is
justified, because one would want to use D2 primarily for its new,
unique offerings. A longer term perception problem is that some might
think the _design_ of such features has unsolvable issues, which hurts
the image of the language. I know of no major design flaws, but that is
only an academic argument in wake of perennial implementation
insufficiencies.


There are still things in D1 that are not solid, just look at the bugs
and newsgroups posts by bearophile. The module/import system, for
example.


Which ones? There are more than a few :o).


Andrei



You just helped to prove my point :)

--
/Jacob Carlborg


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Andrei Alexandrescu

On 11/9/10 12:33 PM, Jacob Carlborg wrote:

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political
incentive to
a Tango port. Tango is currently the de facto standard library for
D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently
available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is
slightly better than the standard one. People generally don't do that
but instead add libraries on top of that because they understand the
advantages of compatibility.


There was a good standard library that you forked and never added back
any changes to it.


This must be some confusion. I didn't fork anything. Besides, it's not 
useful to fall into the pattern of finger pointing.



I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because
Tango was first it's druntime that chose to turn away from compatibility.


That would be a tenuous point to make in more than one way. Druntime was 
a major effort to foster runtime standardization made by its author 
himself and with intentions that I consider most transparent. I'd find 
it very difficult to concoct a hypothesis in which Sean comes across as 
not acting in the best interest of the D community.


That very concern - the best interest of the D community - has 
unequivocally been the reason for which Sean and other chose to leave 
petty fights to others and join Phobos, which has no political agenda. 
That's supposed to tell someone something. You are gladly invited to 
attempt to convince me otherwise, but the sheer facts at hand would make 
it difficult for you to build a case. I mean it's possible - for any 
number of good reasons - to ignore mounting evidence for some time, but 
at some point the waking up and smelling of the coffee is inevitable.



For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a
runtime.


That runtime is druntime. If there is no understanding of that at Tango,
that is suicide.


Apparently not, since Sean ripped out all that wasn't necessary for
Phobos but is necessary for Tango. Why are you blaming everything on
Tango all the time?


There's no reason to get up in arms. I didn't blame anything on anyone, 
just stated my view of the state of affairs. I'm hardly vested 
emotionally in the matter so I'm not interested in dramatic posturing, 
assigning blame, or drawing sweeping conclusions. One thing I would be 
interested in is improving things going forward. I think that will be 
possible once we all let bygones be bygones and see what we can do to 
push D forward.



Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Tobias Pfaff

Hi all,

before I start, let me introduce myself:
I'm Tobias, currently PhD student (Computer Graphics). I did some toy 
project in D back in the D1/Tango days. Recently I decided on trying out 
whether D2 will work for a new research project once a 64bit compiler is 
out (still hoping someone will make ldc2 work... was my favorite 
compiler for my last project). So far, so good.
Now let me summarize my impressions when I started to peek in the 
newsgroup again a few days ago. Major threads:


1. Bitter fighting about a possible non-nullable type for D3(!).
Discussion style: Noone will take away my right to write unsafe code ! 
vs. Down with the reckless cowboy coders. Are we discussing guns or 
coding here?

That, and purposedly overhearing the other's real point.

2. Tango vs. Phobos. Wow. I really really wished we were over that by 
now. It's been like two years since I last looked in here, and still the 
same thing.


So, while I like the language and will probably stick around here 
anyway, it might me a good thing to avoid this experience for other 
people interested in D peeking into the newsgroup. Also, with (2), I 
don't really get the point here. Whatever exactly happend between the 
tango/phobos fraction -- the best thing to do to get everyone on board 
again is probably to just to make phobos2 a library everyone enjoys to 
use. And avoid starting discussions on who did what wrong over and over.
And while still lacking a few of the high-level features of Tango 
(higher level network, streaming, etc.) it feels like the direction is 
right.


With all that been said, I'm looking forward to using D for a while, 
after fighting the C++ template code monster for the last years.


Cheers,
Tobias

On 11/09/2010 10:45 PM, Andrei Alexandrescu wrote:

On 11/9/10 12:33 PM, Jacob Carlborg wrote:

On 2010-11-09 17:43, Andrei Alexandrescu wrote:

On 11/9/10 1:42 AM, Jacob Carlborg wrote:

On 2010-11-08 20:55, Andrei Alexandrescu wrote:

It is my perception (though I might be wrong) that the dichotomy has
become to some extent political. D2 offers little political
incentive to
a Tango port. Tango is currently the de facto standard library for
D1 as
the vast majority of D1 users use D1 and Tango in conjunction, which
precludes use of the underpowered Phobos1 (D1's de jure standard
library). Due to Sean's work on making druntime independently
available,
porting to D2 would lower Tango's status from the standard library to
one of the libraries that may be used in conjunction with Phobos2.


Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while
others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.


It's not difficult to offer e.g. an incompatible C runtime that is
slightly better than the standard one. People generally don't do that
but instead add libraries on top of that because they understand the
advantages of compatibility.


There was a good standard library that you forked and never added back
any changes to it.


This must be some confusion. I didn't fork anything. Besides, it's not
useful to fall into the pattern of finger pointing.


I wouldn't be surprised if Tango chose to turn away from compatibility
for the second time (be it theoretical compatibility for now since there
is no Tango for D2). The technical reasons are dwindling and became
tenuous to argue for, but however weak they are, they could be used to
promote a political motivation: a Tango/D2 offering would come again as
an either-or proposition for a standard library that precludes usage of
Tango2 and Phobos2 together. In my opinion that would be an extremely
dangerous gambit.


Clearly we don't see this in the same way. I see it like this, because
Tango was first it's druntime that chose to turn away from compatibility.


That would be a tenuous point to make in more than one way. Druntime was
a major effort to foster runtime standardization made by its author
himself and with intentions that I consider most transparent. I'd find
it very difficult to concoct a hypothesis in which Sean comes across as
not acting in the best interest of the D community.

That very concern - the best interest of the D community - has
unequivocally been the reason for which Sean and other chose to leave
petty fights to others and join Phobos, which has no political agenda.
That's supposed to tell someone something. You are gladly invited to
attempt to convince me otherwise, but the sheer facts at hand would make
it difficult for you to build a case. I mean it's possible - for any
number of good reasons - to ignore mounting evidence for some time, but
at some point the waking up and smelling of the coffee is inevitable.


For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together 

Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Walter Bright

Tobias Pfaff wrote:

1. Bitter fighting about a possible non-nullable type for D3(!).
Discussion style: Noone will take away my right to write unsafe code ! 
vs. Down with the reckless cowboy coders. Are we discussing guns or 
coding here?

That, and purposedly overhearing the other's real point.


I don't know that it's bitter, spirited might be a better term. I like 
spirited discussions.



2. Tango vs. Phobos. Wow. I really really wished we were over that by 
now. It's been like two years since I last looked in here, and still the 
same thing.


So, while I like the language and will probably stick around here 
anyway, it might me a good thing to avoid this experience for other 
people interested in D peeking into the newsgroup. Also, with (2), I 
don't really get the point here. Whatever exactly happend between the 
tango/phobos fraction -- the best thing to do to get everyone on board 
again is probably to just to make phobos2 a library everyone enjoys to 
use. And avoid starting discussions on who did what wrong over and over.
And while still lacking a few of the high-level features of Tango 
(higher level network, streaming, etc.) it feels like the direction is 
right.


I agree. The reasons for the Tango split long ago, whatever the merit of those 
reasons was, have long since passed. Producing another incompatible split with 
D2 will not be of an advantage to anyone, and will just give people reasons not 
to use D at all.


Jacob has recently decided to help out with improvements to druntime; I take 
that as a very welcome sign towards ending the differences.



With all that been said, I'm looking forward to using D for a while, 
after fighting the C++ template code monster for the last years.


Great!


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread so
Sean took all the code he had written. The other minor contributors did  
not yet give permission for their code to be used, so of course it could  
not be included.


This is the single big thing on this tango vs phobos issue i never  
understand.
What are the reasons/motives behind this other than stupid politics? Why  
wouldn't they give permission?


--
Using Opera's revolutionary email client: http://www.opera.com/mail/


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Boris Wang
++1

2010/11/9 thank you oldtimer nos...@_._

 oldtimer Wrote:
  Some of us hoped D2 would solve the ugly corner cases of the language and
 unify a lot of features. Unfortunately not any kind of macro system was
 implemented, templates got even uglier, the alias this hack, snake oil
 template!X syntax shortcut and all kinds of unnecessary features were added.
 Of course also good features were added, but overall this just isn't good
 enough.

 Is it a coincidence that all the complaints seem to come from a single
 person? Let's take a look at my killfile:

 ankh, anonymous troll, another lurker, anton smith, arnoldsschwartz, bjarne
 yesterday, blaise pascal, cal, chmod+x, crap, darth tango, domino, ellis
 peters, foobar, gareth charnock, gcc-lurker, girlprogrammer, godworshipper,
 gryphon, her3tic, jameskan, jane doe, jarett billingsley, jer, languagefan,
 larry coder, lars ivar douchesund, levenshtein, lurker, nobody, oldtimer,
 pipe dream, pointing hand, retard, retard++, retarded.clear(), scott,
 steveh, superdan, user, wah, william t. fnk, yoda, typeerasure, uriel
 (reddit), eternium (reddit), iliekcaeks (reddit), feepingcreature (reddit),
 parametricpoly (reddit), nfxjfg (bugzilla), and many more!

 Sometimes feels like this guy dresses up as bearophile just to waste our
 time with stupid nonsense. In reality there's a single sick person opposing
 D2 and it's probably the lead developer of Tango who wasn't invited (it's
 just one freaking license change!). No wonder Tango for D2 gets ever done,
 the guy is wasting time here posting this crap. Sad times. :-( Do us a
 favor, go and use that
 F#/Spec#/ATS/Clojure/Go/Scala/Haskell/C++/C#/Java/{whatever it is this
 time}. Never come back. It's time to cut off this bullshit now. We're
 adults. It's too late to change D in any radical way now. You either like it
 or hate it. Trust me, those favorite languages of yours suit *you* much
 better, we don't deserve that enlightenment TYVM. Go to movies, find a
 girlfriend, get a job, buy a house, start living a normal life. Don't be an
 emo kid. So much time is wasted on these stupid threads about totally
 irrelevant new features.

 To not sound like a pathetic troll, something positive now: With that
 knowledge of yours all kinds of *good* things could be done. Write
 applications, write libraries, write languages, do language research, earn
 money! I challenge you to write your own clone of D. Maybe fork D1 and
 make a D 1.5 as you all wanted. Fix all the relevant issues and leave
 out template bloat. Might even attract small user base. Since you get your
 money elsewhere, you're not tied to the old dmc/optlink backend. Use LLVM!
 Use modern project management tools (Trac, Redmine, ...), use a modern SCM
 system (Git), invite all friends in. The stage is yours! If you come up with
 something better than D, I might be one of the first developers making the
 switch.



Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Boris Wang
First, forgive my poor english.

we all known , Walter good at compiler writing, but not good at language
design and development management , if can't change this, just be silent.

I think, on language desgin, wisdom and leadership are more more important
than technology.

Ether continue working on D, or make D like clone,  if we can't do it like
APPLE, just give up ASAP,
because we can only save us by our selves.
.
.



2010/11/10 Boris Wang kona.m...@gmail.com

 ++1

 2010/11/9 thank you oldtimer nos...@_._

 oldtimer Wrote:
  Some of us hoped D2 would solve the ugly corner cases of the language
 and unify a lot of features. Unfortunately not any kind of macro system was
 implemented, templates got even uglier, the alias this hack, snake oil
 template!X syntax shortcut and all kinds of unnecessary features were added.
 Of course also good features were added, but overall this just isn't good
 enough.

 Is it a coincidence that all the complaints seem to come from a single
 person? Let's take a look at my killfile:

 ankh, anonymous troll, another lurker, anton smith, arnoldsschwartz,
 bjarne yesterday, blaise pascal, cal, chmod+x, crap, darth tango, domino,
 ellis peters, foobar, gareth charnock, gcc-lurker, girlprogrammer,
 godworshipper, gryphon, her3tic, jameskan, jane doe, jarett billingsley,
 jer, languagefan, larry coder, lars ivar douchesund, levenshtein, lurker,
 nobody, oldtimer, pipe dream, pointing hand, retard, retard++,
 retarded.clear(), scott, steveh, superdan, user, wah, william t. fnk, yoda,
 typeerasure, uriel (reddit), eternium (reddit), iliekcaeks (reddit),
 feepingcreature (reddit), parametricpoly (reddit), nfxjfg (bugzilla), and
 many more!

 Sometimes feels like this guy dresses up as bearophile just to waste our
 time with stupid nonsense. In reality there's a single sick person opposing
 D2 and it's probably the lead developer of Tango who wasn't invited (it's
 just one freaking license change!). No wonder Tango for D2 gets ever done,
 the guy is wasting time here posting this crap. Sad times. :-( Do us a
 favor, go and use that
 F#/Spec#/ATS/Clojure/Go/Scala/Haskell/C++/C#/Java/{whatever it is this
 time}. Never come back. It's time to cut off this bullshit now. We're
 adults. It's too late to change D in any radical way now. You either like it
 or hate it. Trust me, those favorite languages of yours suit *you* much
 better, we don't deserve that enlightenment TYVM. Go to movies, find a
 girlfriend, get a job, buy a house, start living a normal life. Don't be an
 emo kid. So much time is wasted on these stupid threads about totally
 irrelevant new features.

 To not sound like a pathetic troll, something positive now: With that
 knowledge of yours all kinds of *good* things could be done. Write
 applications, write libraries, write languages, do language research, earn
 money! I challenge you to write your own clone of D. Maybe fork D1 and
 make a D 1.5 as you all wanted. Fix all the relevant issues and leave
 out template bloat. Might even attract small user base. Since you get your
 money elsewhere, you're not tied to the old dmc/optlink backend. Use LLVM!
 Use modern project management tools (Trac, Redmine, ...), use a modern SCM
 system (Git), invite all friends in. The stage is yours! If you come up with
 something better than D, I might be one of the first developers making the
 switch.





Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Daniel Gibson
On Wed, Nov 10, 2010 at 2:19 AM, Boris Wang kona.m...@gmail.com wrote:
 First, forgive my poor english.
 we all known , Walter good at compiler writing, but not good at language
 design and development management , if can't change this, just be silent.

If he isn't good at language design (in other words: D sucks): why do
you care about D? Why are you here?

 I think, on language desgin, wisdom and leadership are more more important
 than technology.

Well, the development process of D could be better organized (having a
schedule and roadmap and such)..
But wisdom and leadership doesn't help much if nobody's there to
implement stuff. I think we're better of this way than having someone
who's wiser (what is that supposed to mean in this context anyway?)
and a better leader, but can't code.

 Ether continue working on D, or make D like clone,  if we can't do it like
 APPLE, just give up ASAP,
 because we can only save us by our selves.

Sorry, I can't make any sense of that sentence.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Andrei Alexandrescu

On 11/9/10 5:38 PM, Daniel Gibson wrote:

On Wed, Nov 10, 2010 at 2:19 AM, Boris Wangkona.m...@gmail.com  wrote:

First, forgive my poor english.
we all known , Walter good at compiler writing, but not good at language
design and development management , if can't change this, just be silent.


If he isn't good at language design (in other words: D sucks): why do
you care about D? Why are you here?


I think, on language desgin, wisdom and leadership are more more important
than technology.


Well, the development process of D could be better organized (having a
schedule and roadmap and such)..
But wisdom and leadership doesn't help much if nobody's there to
implement stuff. I think we're better of this way than having someone
who's wiser (what is that supposed to mean in this context anyway?)
and a better leader, but can't code.


Ether continue working on D, or make D like clone,  if we can't do it like
APPLE, just give up ASAP,
because we can only save us by our selves.


Sorry, I can't make any sense of that sentence.


I think he meant We should all either continue working on D or make a 
D-like clone. If we can't do it like Apple, we should just give up ASAP. 
Only the community can save the situation.


Andrei


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Daniel Gibson
On Wed, Nov 10, 2010 at 2:49 AM, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
 On 11/9/10 5:38 PM, Daniel Gibson wrote:

 On Wed, Nov 10, 2010 at 2:19 AM, Boris Wangkona.m...@gmail.com  wrote:

 First, forgive my poor english.
 we all known , Walter good at compiler writing, but not good at language
 design and development management , if can't change this, just be silent.

 If he isn't good at language design (in other words: D sucks): why do
 you care about D? Why are you here?

 I think, on language desgin, wisdom and leadership are more more
 important
 than technology.

 Well, the development process of D could be better organized (having a
 schedule and roadmap and such)..
 But wisdom and leadership doesn't help much if nobody's there to
 implement stuff. I think we're better of this way than having someone
 who's wiser (what is that supposed to mean in this context anyway?)
 and a better leader, but can't code.

 Ether continue working on D, or make D like clone,  if we can't do it
 like
 APPLE, just give up ASAP,
 because we can only save us by our selves.

 Sorry, I can't make any sense of that sentence.

 I think he meant We should all either continue working on D or make a
 D-like clone. If we can't do it like Apple, we should just give up ASAP.
 Only the community can save the situation.

 Andrei


What's meant with do it like Apple? Is that some kind of idiom I'm
not familiar with?
He certainly couldn't have meant that literally, because making D
overpriced and proprietary would certainly not help.


Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Jesse Phillips
so Wrote:

  Sean took all the code he had written. The other minor contributors did  
  not yet give permission for their code to be used, so of course it could  
  not be included.
 
 This is the single big thing on this tango vs phobos issue i never  
 understand.
 What are the reasons/motives behind this other than stupid politics? Why  
 wouldn't they give permission?
 
 -- 
 Using Opera's revolutionary email client: http://www.opera.com/mail/

Well, I think some people could not be contacted. Otherwise it is just stupid 
politics, and it is their code.


  1   2   >