www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Alexander Stepanov notes on programming online

reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Maybe this is widespread knowledge but Alexander Stepanov (creator of 
the STL) has some lecture notes online about his take on programming and 
such, including of course a healthy dose of the thinking that went into 
creating the STL.

http://www.stepanovpapers.com/notes.pdf

Was mentioned on another list I'm on.  They look interesting at first 
glance, but I haven't had a chance to look too closely.  Might be 
especially interesting reading for those currently designing standard 
libraries. ;-)

--bb
Feb 08 2007
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Bill Baxter wrote:
 Maybe this is widespread knowledge but Alexander Stepanov (creator of 
 the STL) has some lecture notes online about his take on programming and 
 such, including of course a healthy dose of the thinking that went into 
 creating the STL.
 
 http://www.stepanovpapers.com/notes.pdf
 
 Was mentioned on another list I'm on.  They look interesting at first 
 glance, but I haven't had a chance to look too closely.  Might be 
 especially interesting reading for those currently designing standard 
 libraries. ;-)

Er, just to make sure that's not taken the wrong way -- by ";-)" I do *not* mean to suggest that the folks writing Tango are in need of any design advice. I just meant that despite referring vaguely to "people working on standard libraries", I really meant specifically Tango folks, since everybody knows there's really only one big standard library project going on at the moment, and it is Tango. It was a lame attempt at humor, at best. Hope nobody took it the wrong way. --bb
Feb 08 2007
next sibling parent Frits van Bommel <fvbommel REMwOVExCAPSs.nl> writes:
John Reimer wrote:
 I
 think there can only be one standard for D (or else "standard" really
 becomes a meaningless term if there are multiples of them) 

But the nice thing about standards is that there are so many of them to choose from... :P
Feb 08 2007
prev sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
John Reimer wrote:
 I just wanted to clear something up here concerning the use of the term
 "standard":
 
 Tango is certainly intended to be "standard" capable, but by no means has
 any claims to being a standard unless someone like Walter makes it so
 or people implicitly adopt it as such (in this case, that's still not
 /really/ standard other than in use). It's really counterproductive to
 pretend a library is going to be a standard just because it exhists: I
 think there can only be one standard for D (or else "standard" really
 becomes a meaningless term if there are multiples of them) and that spot
 isn't something with which to trifle. So, Tango is merely an
 excellent alternative. I'm biased to think it rather as the better of the
 two for various reasons. :) But having a choice is good for people.  And I
 think that that is precisely what Tango is trying to express: people
 should be given "choice". :)

Tango is still different from other libraries in the sense that it is incompatible with Phobos, and as such is 'a standard' library if that makes sense, an alternative as you said.
 Tango definitely tries to be what Phobos can not or will not be.
 Tango is designed to be community driven -- hightly responsive to bug
 reports, suggestions, critiques, and contributions; well documented, well
 maintained.  The development model is different than phobos' and really
 not comparable; the designs also are noticeably different, Tango's being
 noticeably more object-oriented than procedural.  In addtion, Tango is
 /painstakingly/ designed for reliability, performance, and small binary
 size (I've seen the developers at work at this process and the amount of
 energy they put into finding solutions for these issues is
 absolutely incredible).

I agree, from what I've seen it is very impressive work, with an attention to detail. You say choice is good, but one thing I'm worried about is that there will be two 'standard libraries', and what this will mean. Some libraries will support Tango, some Phobos, some both. I'm not sure this is a situation that will be good for D in the long run? (For now it might be fine though, it gives Tango a chance to prove itself). Personally I think Tango has a much better chance and imho it would be best if this is adopted as *the* standard library eventually, if only for the reason there are so many programmers involved.
Feb 09 2007
prev sibling next sibling parent Sean Kelly <sean f4.ca> writes:
Bill Baxter wrote:
 Maybe this is widespread knowledge but Alexander Stepanov (creator of 
 the STL) has some lecture notes online about his take on programming and 
 such, including of course a healthy dose of the thinking that went into 
 creating the STL.

Ah nice, I don't think I've read this one before. Alexander is an eloquent writer, I suspect it will be a good read :-) Sean
Feb 08 2007
prev sibling parent John Reimer <terminal.node gmail.com> writes:
On Fri, 09 Feb 2007 01:35:31 +0900, Bill Baxter wrote:

 Bill Baxter wrote:
 Maybe this is widespread knowledge but Alexander Stepanov (creator of 
 the STL) has some lecture notes online about his take on programming and 
 such, including of course a healthy dose of the thinking that went into 
 creating the STL.
 
 http://www.stepanovpapers.com/notes.pdf
 
 Was mentioned on another list I'm on.  They look interesting at first 
 glance, but I haven't had a chance to look too closely.  Might be 
 especially interesting reading for those currently designing standard 
 libraries. ;-)

Er, just to make sure that's not taken the wrong way -- by ";-)" I do *not* mean to suggest that the folks writing Tango are in need of any design advice. I just meant that despite referring vaguely to "people working on standard libraries", I really meant specifically Tango folks, since everybody knows there's really only one big standard library project going on at the moment, and it is Tango. It was a lame attempt at humor, at best. Hope nobody took it the wrong way. --bb

I just wanted to clear something up here concerning the use of the term "standard": Tango is certainly intended to be "standard" capable, but by no means has any claims to being a standard unless someone like Walter makes it so or people implicitly adopt it as such (in this case, that's still not /really/ standard other than in use). It's really counterproductive to pretend a library is going to be a standard just because it exhists: I think there can only be one standard for D (or else "standard" really becomes a meaningless term if there are multiples of them) and that spot isn't something with which to trifle. So, Tango is merely an excellent alternative. I'm biased to think it rather as the better of the two for various reasons. :) But having a choice is good for people. And I think that that is precisely what Tango is trying to express: people should be given "choice". :) Tango definitely tries to be what Phobos can not or will not be. Tango is designed to be community driven -- hightly responsive to bug reports, suggestions, critiques, and contributions; well documented, well maintained. The development model is different than phobos' and really not comparable; the designs also are noticeably different, Tango's being noticeably more object-oriented than procedural. In addtion, Tango is /painstakingly/ designed for reliability, performance, and small binary size (I've seen the developers at work at this process and the amount of energy they put into finding solutions for these issues is absolutely incredible). Naturally people have different preferences, and that's fine. Still, I believe Tango can progress much further than Phobos based on the nature of it's development and design. I also think it will be an excellent library on which to build world-class applications, clients and servers, etc. and to garner a whole lot of attention for the D language, in general. So, it's nothing but good news for D whatever the outcome. -JJR (DISCLAIMER: the opinions expressed above indicate my own personal opinion and do not necessarily indicate any opinion of the Tango Team members. )
Feb 08 2007