For a variety of reasons, the next time I offer a public seminar on my
introductory STL materials has been pushed back from this coming November
to the second half of January, 2001. (When firm dates are available, I'll
let you know.) If you were hoping to attend the November STL seminar, I
apologize for the delay, but there are a few things we need to take care of
before we offer the seminar again. When we do it, I want to make sure we
do it correctly.
If you're in Europe, however, you may want to note the following seminar
dates:
Basel, Switzerland: November 13-14
Munich, Germany: November 16-17
For both seminars, the first day will cover "Designing and Implementing
Effective C++ Classes" (http://www.aristeia.com/class-design.html), and the
second day will cover "High-Performance C++ Programming
(http://www.aristeia.com/high-performance.html). I'm overhauling the
material in the high-performance course to include information on the use
of the STL portion of the standard C++ library. That material appears in
neither "Effective C++" nor "More Effective C++", though it will appear in
"Effective STL," which I'm working on now and which I hope to have out by
the end of the year.
The seminars in Europe are being organized by Altmann & Partner AG and by
QA Systems GmbH. At some point they will have official publicity
materials, and when those material become available, I'll let you know.
Scott
Tuesday, August 8, 2000
Monday, July 24, 2000
Reminder: Submissions Deadline is August 11
This is just a quick reminder that the deadline for submissions for the
October Workshop on C++ Template Programming is August 11. If you're doing
interesting things with templates and you'd like to share your insights and
experiences with others, I encourage you to prepare a submission.
For details, please visit http://www.netobjectdays.org/tmpw/cfp.html and
scroll to the bottom half of the page.
Thanks,
Scott
PS - In theory, this mailing will be free of ads. If not, I'll see that
heads roll at egroups...
October Workshop on C++ Template Programming is August 11. If you're doing
interesting things with templates and you'd like to share your insights and
experiences with others, I encourage you to prepare a submission.
For details, please visit http://www.netobjectdays.org/tmpw/cfp.html and
scroll to the bottom half of the page.
Thanks,
Scott
PS - In theory, this mailing will be free of ads. If not, I'll see that
heads roll at egroups...
Saturday, June 17, 2000
MEC++ Updates; Next STL Seminar; etc.
There are several topics this time:
- The MEC++ Errata Page has been updated.
- The M29 Source Code has been updated.
- My next STL seminar will likely be October 31 through November 3.
- I'm looking for a web site design/maintenance firm near Portland, OR.
- I'm still working on getting rid of the ads on these postings.
UPDATED MEC++ ERRATA LIST AND UPDATED M29 SOURCE CODE
-----------------------------------------------------
Having just tinkered with the More Effective C++ source for the next
printing (its tenth), I've updated its errata page. As usual, you can find
the errata at http://www.aristeia.com/BookErrata/mec++-errata.html.
One of the bug reports involved Item 29, so I updated the on-line version
of the code for that Item. To get the updated code, go to
http://www.aristeia.com/BookErrata/M29Source.html. The older source code
is available via a link at the AW MEC++ web site, but I'll ask AW to
replace that link with one to the URL I just gave you. This will prevent
me from having to ask AW to update their web site when I change the code
for M29 in the future. (This is also why I keep my books' errata pages at
my own site: it allows me to change them without bugging AW.)
BTW, the above link to the M29 source code is a Mailing List *exclusive*.
Aren't you excited?
MY NEXT STL SEMINAR
-------------------
Here's another exclusive:
My "Effective STL" seminar June 7-9 was a big success, so we'll be doing
another one, almost certainly October 31-November 3 at the same place (the
Crowne Plaza in Lake Oswego, a suburb of Portland, Oregon). The next one
will probably be four days instead of three, because nearly everybody who
attended the first one said they wished we'd had more time.
The seminar will probably be called "Essential STL" to reflect the
introductory nature of the material. That will allow me to use the name
"Effective STL" for a future non-introductory course that's based on
guidelines, just like "Effective C++" is.
When all the details have been worked out, we'll put up a web page for the
new seminar, and I'll post here to let you know it's up. For now, if
you're interested in attending a hands-on STL programming seminar led by
moi, reserve October 31 through November 3 and start bugging your boss for
time off and funding to attend :-)
KNOW ANY GOOD WEB SITE DESIGNERS NEAR PORTLAND, OREGON?
-------------------------------------------------------
Speaking of web sites, I'm looking for a reliable, professional web site
design and maintenance company located in or near Portland, Oregon. I'm
looking for somebody to design and maintain my own site (aristeia.com) as
well as to set up a site for my STL seminar, ideally including the ability
to accept registrations (including payment) automatically. I don't need
anything terribly fancy, but I do require somebody who is reliable, gets
work done in a timely fashion, and who is as picky about things as I am.
If you perform this kind of service or you know somebody who does, please
let me know (smeyers@...).
(To get some idea of how I feel about web site design, you might take a
look at the Introduction to my "Effective C++ CD", which you can read at
http://www.awlonline.com/cseng/meyerscddemo/DEMO/INTRO/INDEX.HTM. I'm not
looking for a site offering all the features of my CD, but I am looking for
somebody whose thoughts about web site design are similar to my own.)
ADS ON MY MAILING LIST POSTINGS
-------------------------------
I ran into a snafu in getting rid of the ads that accompany my mailing list
postings, and I apologize for that. I'm working on it, and I hope to have
it all taken care of by the end of the month. (Executive summary: I sent
egroups a check, but they never got it.)
Scott
IMPORTANT: I've been having trouble with my email recently, so if you
reply to this, PLEASE check to make sure you're sending to
"smeyers@...". If the reply address comes up as
"root@...", PLEASE let me know so I can try to debug the problem!
- The MEC++ Errata Page has been updated.
- The M29 Source Code has been updated.
- My next STL seminar will likely be October 31 through November 3.
- I'm looking for a web site design/maintenance firm near Portland, OR.
- I'm still working on getting rid of the ads on these postings.
UPDATED MEC++ ERRATA LIST AND UPDATED M29 SOURCE CODE
-----------------------------------------------------
Having just tinkered with the More Effective C++ source for the next
printing (its tenth), I've updated its errata page. As usual, you can find
the errata at http://www.aristeia.com/BookErrata/mec++-errata.html.
One of the bug reports involved Item 29, so I updated the on-line version
of the code for that Item. To get the updated code, go to
http://www.aristeia.com/BookErrata/M29Source.html. The older source code
is available via a link at the AW MEC++ web site, but I'll ask AW to
replace that link with one to the URL I just gave you. This will prevent
me from having to ask AW to update their web site when I change the code
for M29 in the future. (This is also why I keep my books' errata pages at
my own site: it allows me to change them without bugging AW.)
BTW, the above link to the M29 source code is a Mailing List *exclusive*.
Aren't you excited?
MY NEXT STL SEMINAR
-------------------
Here's another exclusive:
My "Effective STL" seminar June 7-9 was a big success, so we'll be doing
another one, almost certainly October 31-November 3 at the same place (the
Crowne Plaza in Lake Oswego, a suburb of Portland, Oregon). The next one
will probably be four days instead of three, because nearly everybody who
attended the first one said they wished we'd had more time.
The seminar will probably be called "Essential STL" to reflect the
introductory nature of the material. That will allow me to use the name
"Effective STL" for a future non-introductory course that's based on
guidelines, just like "Effective C++" is.
When all the details have been worked out, we'll put up a web page for the
new seminar, and I'll post here to let you know it's up. For now, if
you're interested in attending a hands-on STL programming seminar led by
moi, reserve October 31 through November 3 and start bugging your boss for
time off and funding to attend :-)
KNOW ANY GOOD WEB SITE DESIGNERS NEAR PORTLAND, OREGON?
-------------------------------------------------------
Speaking of web sites, I'm looking for a reliable, professional web site
design and maintenance company located in or near Portland, Oregon. I'm
looking for somebody to design and maintain my own site (aristeia.com) as
well as to set up a site for my STL seminar, ideally including the ability
to accept registrations (including payment) automatically. I don't need
anything terribly fancy, but I do require somebody who is reliable, gets
work done in a timely fashion, and who is as picky about things as I am.
If you perform this kind of service or you know somebody who does, please
let me know (smeyers@...).
(To get some idea of how I feel about web site design, you might take a
look at the Introduction to my "Effective C++ CD", which you can read at
http://www.awlonline.com/cseng/meyerscddemo/DEMO/INTRO/INDEX.HTM. I'm not
looking for a site offering all the features of my CD, but I am looking for
somebody whose thoughts about web site design are similar to my own.)
ADS ON MY MAILING LIST POSTINGS
-------------------------------
I ran into a snafu in getting rid of the ads that accompany my mailing list
postings, and I apologize for that. I'm working on it, and I hope to have
it all taken care of by the end of the month. (Executive summary: I sent
egroups a check, but they never got it.)
Scott
IMPORTANT: I've been having trouble with my email recently, so if you
reply to this, PLEASE check to make sure you're sending to
"smeyers@...". If the reply address comes up as
"root@...", PLEASE let me know so I can try to debug the problem!
Monday, June 12, 2000
Workshop on Template Programming
Somehow I ended up as the Program Chair for a workshop on template
programming in C++ in Germany this coming October. The Call for Extended
Abstracts is below. If you've been doing interesting work with templates,
I encourage you to consider submitting a paper.
Scott
CALL FOR EXTENDED ABSTRACTS
WORKSHOP ON C++ TEMPLATE PROGRAMMING
(http://www.netobjectdays.org/tmpw/)
October 9, 2000
Erfurt, Germany
in Conjunction with the
Second International Symposium on
Generative and Component-Based Software Engineering (GCSE 2000)
(http://www.netobjectdays.org/gcse/)
One of the most exciting research areas in C++ focuses on the use of
templates, especially as a means to support generic and generative
programming. A number of powerful, flexible, and useful techniques have
been developed, but to date there has been no forum where workers in the
field of C++ template programming could gather to hear about one another's
work. The purpose of this workshop is to provide an opportunity for people
interested in C++ template programming to gather and exchange ideas.
We encourage submission of extended abstracts of up to 10 pages on any
aspect of C++ template programming, including (but not limited to) the
following:
Generic and generative programming in C++
Uses or extensions of the STL or other templates in the standard libray
Traits and traits-based programming
Iterators for multidimensional data structures
Template metaprogramming, including the representation of
metainformation in C++
Combining static configuration with dynamic techniques
Expression templates
Experience reports on template programming
Debugging template code
Compiler support for templates, including compilation times and diagnostics
Implementing C++'s template features
Portability issues
Template design and programming techniques
We are as interested in the application of templates as in their design and
implementation. Papers describing novel and interesting uses of the STL or
other existing template libraries are as welcome as papers describing the
design and implementation of new templates.
Our primary interest is in abstracts describing new work, but we will
consider abstracts based on prior publications. (Work that has already
been published should be identified as such.) One of our goals is to
increase the visibility of information likely to be helpful to other
workers in the field of C++ template programming.
A workshop proceedings will be produced in electronic form, to be made
available via the Internet or on CD by the time of the workshop.
SUBMISSION GUIDELINES:
Extended abstracts of no more than 10 pages should be sent to
workshop@.... Electronic submission in HTML or PDF is strongly
preferred. Questions about the submission process should be sent to
workshop@....
IMPORTANT DATES:
11 August Extended Abstract Submissions Due
4 September Notification of Accepted Submissions
29 September Final Extended Abstracts Due
PROGRAM COMMITTEE:
Andrei Alexandrescu, RealNetworks, Inc., USA
Matt Austern, AT&T Research, USA
Thomas Becker, Zephyr Associates, Inc., USA
Ulrich Breymann, Hochschule Bremen, Neustadtswall, Germany
Krzysztof Czarnecki, DaimlerChrysler AG, Germany
Ulrich Eisenecker, University of Applied Sciences, Kaiserslautern, Germany
Nicolai Josuttis, Author and Consultant, Germany
Scott Meyers (Chair), Author and Consultant, USA
Mark Rodgers, Cadenza New Zealand Ltd, New Zealand
Yannis Smaragdakis, Georgia Institute of Technology, USA
Erwin Unruh, Fujitsu Siemens Computers, Germany
programming in C++ in Germany this coming October. The Call for Extended
Abstracts is below. If you've been doing interesting work with templates,
I encourage you to consider submitting a paper.
Scott
CALL FOR EXTENDED ABSTRACTS
WORKSHOP ON C++ TEMPLATE PROGRAMMING
(http://www.netobjectdays.org/tmpw/)
October 9, 2000
Erfurt, Germany
in Conjunction with the
Second International Symposium on
Generative and Component-Based Software Engineering (GCSE 2000)
(http://www.netobjectdays.org/gcse/)
One of the most exciting research areas in C++ focuses on the use of
templates, especially as a means to support generic and generative
programming. A number of powerful, flexible, and useful techniques have
been developed, but to date there has been no forum where workers in the
field of C++ template programming could gather to hear about one another's
work. The purpose of this workshop is to provide an opportunity for people
interested in C++ template programming to gather and exchange ideas.
We encourage submission of extended abstracts of up to 10 pages on any
aspect of C++ template programming, including (but not limited to) the
following:
Generic and generative programming in C++
Uses or extensions of the STL or other templates in the standard libray
Traits and traits-based programming
Iterators for multidimensional data structures
Template metaprogramming, including the representation of
metainformation in C++
Combining static configuration with dynamic techniques
Expression templates
Experience reports on template programming
Debugging template code
Compiler support for templates, including compilation times and diagnostics
Implementing C++'s template features
Portability issues
Template design and programming techniques
We are as interested in the application of templates as in their design and
implementation. Papers describing novel and interesting uses of the STL or
other existing template libraries are as welcome as papers describing the
design and implementation of new templates.
Our primary interest is in abstracts describing new work, but we will
consider abstracts based on prior publications. (Work that has already
been published should be identified as such.) One of our goals is to
increase the visibility of information likely to be helpful to other
workers in the field of C++ template programming.
A workshop proceedings will be produced in electronic form, to be made
available via the Internet or on CD by the time of the workshop.
SUBMISSION GUIDELINES:
Extended abstracts of no more than 10 pages should be sent to
workshop@.... Electronic submission in HTML or PDF is strongly
preferred. Questions about the submission process should be sent to
workshop@....
IMPORTANT DATES:
11 August Extended Abstract Submissions Due
4 September Notification of Accepted Submissions
29 September Final Extended Abstracts Due
PROGRAM COMMITTEE:
Andrei Alexandrescu, RealNetworks, Inc., USA
Matt Austern, AT&T Research, USA
Thomas Becker, Zephyr Associates, Inc., USA
Ulrich Breymann, Hochschule Bremen, Neustadtswall, Germany
Krzysztof Czarnecki, DaimlerChrysler AG, Germany
Ulrich Eisenecker, University of Applied Sciences, Kaiserslautern, Germany
Nicolai Josuttis, Author and Consultant, Germany
Scott Meyers (Chair), Author and Consultant, USA
Mark Rodgers, Cadenza New Zealand Ltd, New Zealand
Yannis Smaragdakis, Georgia Institute of Technology, USA
Erwin Unruh, Fujitsu Siemens Computers, Germany
Wednesday, May 10, 2000
Migration to egroups should now be complete
In theory, everybody on my mailing list has now been transferred from the
soon-to-be-defunct list at my ISP to my list at egroups. I'm sending this
message to both lists, so if you get two copies of this message, it means
you were on the ISP-hosted list and you have been successfully moved to the
egroups-hosted list. If you get only one copy of this message and if that
one copy did NOT come from egroups, it means you somehow failed to get
moved from my ISP to egroups. In that case only, please go to
http://www.egroups.com/list/scott_meyers/info.html and sign up for my
mailing list at egroups.
This is the last message I will send to my ISP-hosted list. I apologize
for bogging everybody down in what should ideally be a completely
transparent migration of list-hosting sites.
Scott
PS - I apologize if this or other egroups-based messages come through with
ads attached. I've sent egroups a check and have told them to
eliminate the ads, but it may take a little while for them to tend to
it. Please be patient.
soon-to-be-defunct list at my ISP to my list at egroups. I'm sending this
message to both lists, so if you get two copies of this message, it means
you were on the ISP-hosted list and you have been successfully moved to the
egroups-hosted list. If you get only one copy of this message and if that
one copy did NOT come from egroups, it means you somehow failed to get
moved from my ISP to egroups. In that case only, please go to
http://www.egroups.com/list/scott_meyers/info.html and sign up for my
mailing list at egroups.
This is the last message I will send to my ISP-hosted list. I apologize
for bogging everybody down in what should ideally be a completely
transparent migration of list-hosting sites.
Scott
PS - I apologize if this or other egroups-based messages come through with
ads attached. I've sent egroups a check and have told them to
eliminate the ads, but it may take a little while for them to tend to
it. Please be patient.
Tuesday, May 9, 2000
Effective STL Seminar SOLD OUT
I just received word that my June "Effective STL" seminar has reached its
enrollment limit of 35. If you'd like to be placed on the wait list (in
case somebody cancels), let Nancy Pastrano know at nancy_pastrano@....
If you'd been thinking of attending but didn't sign up, take heart: we'll
probably do the seminar again in early November. As always, when more
information is available, this mailing list will be the first to know.
Scott
enrollment limit of 35. If you'd like to be placed on the wait list (in
case somebody cancels), let Nancy Pastrano know at nancy_pastrano@....
If you'd been thinking of attending but didn't sign up, take heart: we'll
probably do the seminar again in early November. As always, when more
information is available, this mailing list will be the first to know.
Scott
Friday, April 28, 2000
Errata Update; Seminar Update; Mailing List Update
Three things:
- EC++ errata updated.
- Enrollment limit placed on June STL Seminar.
- Mailing list migration in the offing.
----------------------------------------------------------------------
I just uploaded an updated version of the Effective C++ errata list. This
is because I modified the source in preparation for the ninth printing. Of
all the changes, this is the most significant:
* * *
For a variety of reasons, we just placed an enrollment limit of 35 on the
STL seminar I'll be presenting in June (http://www.trekservices.com/estl/).
Because the class won't be too big, I'm hoping to have a lot of interaction
with everybody who attends. Last I heard, there were about 30 people
signed up, so if you're interested in attending the seminar, now would be a
good time to grab one of the remaining slots. It also looks like I'm
managing to convince several people with lots of STL experience to drop in
and offer help during exercises, so this should be a good opportunity to
have people look over your shoulder and explain that the error message that
never uses the word "iterator" is complaining about your iterators :-)
* * *
Because my ISP is discontinuing support for mailing lists, I've set up a
new mailing list at eGroups,
http://www.egroups.com/list/scott_meyers/info.html. I'm not yet done
setting things up, but when I'm finished with that, I'll do my best to
transfer everybody over from the current mailing list to the new one. In
theory, nothing can possibly go wrong (ahem), but don't be surprised if you
get a few pieces of mail in the next couple of weeks that serve only to
tell you about mailing list administrivia. With any luck, this will be a
painless transition for all of us.
Scott
- EC++ errata updated.
- Enrollment limit placed on June STL Seminar.
- Mailing list migration in the offing.
----------------------------------------------------------------------
I just uploaded an updated version of the Effective C++ errata list. This
is because I modified the source in preparation for the ninth printing. Of
all the changes, this is the most significant:
! 1/21/99 sdm 225-6 Contrary to the second bullet on this page, 4/28/00
names introduced via standard C headers *are* in
namespace std. Matt Austern explained the
reason for this in a posting to
comp.lang.c++.moderated on 1/18/00:
<cfoo> headers define symbols in namespace std
only, while the <foo.h> headers define them in
namespace std and then import them into the
global namespace as if by using-declarations.
This is described in section D.5, paragraph 2,
of the C++ standard.
It clearly wouldn't work for the <cfoo>
headers to define names in namespace std only
and for the <foo.h> headers to define names in
the global namespace only. If we did it that
way then (for example) we'd get two different
ldiv_t types, one from <stdlib.h> and one from
<cstdlib>. As is we've instead got a single
ldiv_t that can be referred to from two
different namespaces. Because of Koenig
lookup, it makes a difference which one it was
originally defined in.
I reworded the bullets to state for each one
what's in the global namespace, what's in std,
and what's in both.
* * *
For a variety of reasons, we just placed an enrollment limit of 35 on the
STL seminar I'll be presenting in June (http://www.trekservices.com/estl/).
Because the class won't be too big, I'm hoping to have a lot of interaction
with everybody who attends. Last I heard, there were about 30 people
signed up, so if you're interested in attending the seminar, now would be a
good time to grab one of the remaining slots. It also looks like I'm
managing to convince several people with lots of STL experience to drop in
and offer help during exercises, so this should be a good opportunity to
have people look over your shoulder and explain that the error message that
never uses the word "iterator" is complaining about your iterators :-)
* * *
Because my ISP is discontinuing support for mailing lists, I've set up a
new mailing list at eGroups,
http://www.egroups.com/list/scott_meyers/info.html. I'm not yet done
setting things up, but when I'm finished with that, I'll do my best to
transfer everybody over from the current mailing list to the new one. In
theory, nothing can possibly go wrong (ahem), but don't be surprised if you
get a few pieces of mail in the next couple of weeks that serve only to
tell you about mailing list administrivia. With any luck, this will be a
painless transition for all of us.
Scott
Tuesday, March 21, 2000
Updated CD Errata, More STL Seminar Info, Pending Mailing List Change
In preparation for the next printing of the Effective C++ CD, I've updated
the CD's Errata Page (http://www.aristeia.com/BookErrata/cd1e-errata.html)
to include my latest changes.
Also, I'm increasingly excited about the Effective STL Seminar I'll be
hosting June 7-9, because last week I got a chance to teach the
brand-spanking-new material for the first time. The course was
enthusiastically received, but of course I'll be tinkering with things here
and there so that future presentations are even better. For example, I'm
working on a special handout on card stock that will summarize all 70+ STL
algorithms. I'll be teaching the course again at a corporate site at least
one more time before June, so by the time the "real" seminar rolls around,
I expect to have things pretty well refined. For details on the June
seminar, please visit http://www.trekservices.com/estl/.
Also on the topic of the June seminar, some people have requested a fourth
day of STLification, to take place Saturday, June 10. I'm willing to work
on a Saturday if you are, so if you're interested in an additional day (at
an additional cost -- we're still working on the details), be sure to let
Nancy Pastrano know when you register.
Finally, my ISP has decided to discontinue its support for mailing lists,
so sometime in the next few weeks, I'll be moving my mailing list to
someplace else. Already, I see, my archive of old messages seems to be
gone. Sigh. When I know more, I'll let you know, and I apologize for the
inconvenience.
Scott
the CD's Errata Page (http://www.aristeia.com/BookErrata/cd1e-errata.html)
to include my latest changes.
Also, I'm increasingly excited about the Effective STL Seminar I'll be
hosting June 7-9, because last week I got a chance to teach the
brand-spanking-new material for the first time. The course was
enthusiastically received, but of course I'll be tinkering with things here
and there so that future presentations are even better. For example, I'm
working on a special handout on card stock that will summarize all 70+ STL
algorithms. I'll be teaching the course again at a corporate site at least
one more time before June, so by the time the "real" seminar rolls around,
I expect to have things pretty well refined. For details on the June
seminar, please visit http://www.trekservices.com/estl/.
Also on the topic of the June seminar, some people have requested a fourth
day of STLification, to take place Saturday, June 10. I'm willing to work
on a Saturday if you are, so if you're interested in an additional day (at
an additional cost -- we're still working on the details), be sure to let
Nancy Pastrano know when you register.
Finally, my ISP has decided to discontinue its support for mailing lists,
so sometime in the next few weeks, I'll be moving my mailing list to
someplace else. Already, I see, my archive of old messages seems to be
gone. Sigh. When I know more, I'll let you know, and I apologize for the
inconvenience.
Scott
Saturday, February 5, 2000
Effective STL Seminar
It took a little longer than expected, but we have finally worked out the
details for the Effective STL seminar I'll be offering in Portland, Oregon,
on June 7-9. Here's the executive summary:
Effective STL: A Hands-On Programming Seminar with Scott Meyers
Lake Oswego, Oregon (a suburb of Portland)
June 7-9 (Wednesday-Friday)
$1350
A lot more information is available at the seminar's web site:
http://www.trekservices.com/estl/
To register for the seminar or to ask questions about it, please contact
Nancy Pastrano of Trek Services: NPastrano@TREKServices.com. She's
handling all the administrative and logistical work. You can also contact
her with questions about the technical aspects of the seminar. If she
can't answer them, she'll forward them to me.
I hope to see you at the seminar in June!
Scott
details for the Effective STL seminar I'll be offering in Portland, Oregon,
on June 7-9. Here's the executive summary:
Effective STL: A Hands-On Programming Seminar with Scott Meyers
Lake Oswego, Oregon (a suburb of Portland)
June 7-9 (Wednesday-Friday)
$1350
A lot more information is available at the seminar's web site:
http://www.trekservices.com/estl/
To register for the seminar or to ask questions about it, please contact
Nancy Pastrano of Trek Services: NPastrano@TREKServices.com. She's
handling all the administrative and logistical work. You can also contact
her with questions about the technical aspects of the seminar. If she
can't answer them, she'll forward them to me.
I hope to see you at the seminar in June!
Scott
Saturday, January 15, 2000
October DDJ Article Now On-Line
DDJ has now put my October article on operator->* on the web. The URL is
http://www.ddj.com/articles/1999/9910/9910b/9910b.htm
I'd hoped they'd put a version of the article up that doesn't separate the
code examples into listings following the article proper, but they chose
not to do that. Fortunately, there are links between the article text and
the listings, so it's pretty easy to switch back and forth.
The contract I signed with DDJ did not oblige them to make the article
freely accessible, so I hope you'll send the editor, Jon Erickson, mail
thanking him for his willingness to do it. His address is
jerickson@ddj.com.
Scott
http://www.ddj.com/articles/1999/9910/9910b/9910b.htm
I'd hoped they'd put a version of the article up that doesn't separate the
code examples into listings following the article proper, but they chose
not to do that. Fortunately, there are links between the article text and
the listings, so it's pretty easy to switch back and forth.
The contract I signed with DDJ did not oblige them to make the article
freely accessible, so I hope you'll send the editor, Jon Erickson, mail
thanking him for his willingness to do it. His address is
jerickson@ddj.com.
Scott
Wednesday, January 12, 2000
CUJ Article is now out; June Seminar Reminder
My artice, "How Non-Member Functions Imrove Encapsulation", is now
available in the current issue of the C/C++ Users Journal. I think this is
some of the best work I've done in a while, and I hope you find it
interesting. Here is the opening paragraph:
I'll start with the punchline: If you're writing a function that can be
implemented as either a member or as a non-friend non-member, you should
prefer to implement it as a non-member function. That decision
*increases* class encapsulation. When you think encapsulation, you
should think non-member functions.
To my great delight, the entire article is also available on-line at
http://www.cuj.com/current/feature.html. CUJ and I had agreed in advance
that the article would eventually be made available via the web, but I
didn't expect them to make it available electronically at the same time as
the print version. I encourage you to send the editor, Marc Briand, mail
thanking him for making the article so easily accessible. His address is
mbriand@mfi.com.
We're still working on the details, but my hands-on "Effective STL" seminar
is planned for June 7-9 near Portland, Oregon. Within the next couple of
weeks, I'll send out a mailing with all the information you'll need, but
for the time being, I hope you'll plan to join me June 7-9 to get down and
dirty with the STL -- the most revolutionary library design I've ever seen,
and one we're darned lucky to have as part of standard C++.
Scott
PS - In an earlier mailing, I told you that my DDJ article on operator->*
would soon be available on-line. I'm still waiting to hear from DDJ about
when "soon" will be. When I know, I'll let you know.
available in the current issue of the C/C++ Users Journal. I think this is
some of the best work I've done in a while, and I hope you find it
interesting. Here is the opening paragraph:
I'll start with the punchline: If you're writing a function that can be
implemented as either a member or as a non-friend non-member, you should
prefer to implement it as a non-member function. That decision
*increases* class encapsulation. When you think encapsulation, you
should think non-member functions.
To my great delight, the entire article is also available on-line at
http://www.cuj.com/current/feature.html. CUJ and I had agreed in advance
that the article would eventually be made available via the web, but I
didn't expect them to make it available electronically at the same time as
the print version. I encourage you to send the editor, Marc Briand, mail
thanking him for making the article so easily accessible. His address is
mbriand@mfi.com.
We're still working on the details, but my hands-on "Effective STL" seminar
is planned for June 7-9 near Portland, Oregon. Within the next couple of
weeks, I'll send out a mailing with all the information you'll need, but
for the time being, I hope you'll plan to join me June 7-9 to get down and
dirty with the STL -- the most revolutionary library design I've ever seen,
and one we're darned lucky to have as part of standard C++.
Scott
PS - In an earlier mailing, I told you that my DDJ article on operator->*
would soon be available on-line. I'm still waiting to hear from DDJ about
when "soon" will be. When I know, I'll let you know.
Thursday, December 16, 1999
October MIND Article is now On-Line
Well isn't it just like Microsoft to make a liar out of me? I got word
today that my October MIND article is now fully available on-line. You can
get to it at http://www.microsoft.com/Mind/1099/browsing/browsing.htm.
Scott
today that my October MIND article is now fully available on-line. You can
get to it at http://www.microsoft.com/Mind/1099/browsing/browsing.htm.
Scott
Wednesday, December 15, 1999
Updated errata lists; Article stuff; Effective STL Seminar
Three topics:
1. UPDATED ERRATA LISTS for Effective C++, More Effective C++, and
the Effective C++ CD
2. ARTICLE STUFF, including imminent on-line availablity of my October
DDJ article and advance notice of my upcoming CUJ article.
3. ADVANCE NOTICE OF MY EFFECTIVE STL SEMINAR, to be held in Portland,
Oregon, in June, 2000.
UPDATED ERRATA LISTS:
---------------------
On the off chance the world fails to end at midnight on December 31, I
updated my publications' errata lists for the new millennium.
- The errata list for Effective C++ is still at
http://www.aristeia.com/BookErrata/ec++2e-errata.html. New entries are
dated 5/24/99 or later.
- The errata list for More Effective C++ remains at
http://www.aristeia.com/BookErrata/mec++-errata.html. New entries are
dated 10/8/99 or later.
- The errata list for the Effective C++ CD continues to dwell at
http://www.aristeia.com/BookErrata/cd1e-errata.html. New entries are
dated 7/6/99 or later.
I asked AW to update the auto_ptr page that they maintain, but I have no
idea how long it will take them to do it. Fortunately, the change is quite
small. This is what I sent them:
At the MEC++ auto_ptr update page
(http://www.awl.com/cseng/titles/0-201-63371-X/auto_ptr.html), one
paragraph reads as follows:
As it turns out, the dust hasn't quite settled on auto_ptr, because some
minor errors have been detected in the standard's specification: it
doesn't quite say what the standardization committee wanted it to
say. When everything is taken care of, I'll update this page again to let
you know the details.
I'd appreciate it if you'd add the following sentence to the end of the
above paragraph:
(If you just can't wait that long, search for "auto_ptr" in the href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-active.html">Active
Issues List for the C++ Standard Library.)
Finally, I added email from Bill Wade to the M27 page (it's devoted to
determining whether an object is on the heap). That page remains at
http://www.aristeia.com/BookErrata/M27Comments.html.
ARTICLE STUFF:
--------------
DDJ has generously agreed to make my October article on operator->*
available on-line sometime in the near future. I'll let you know the URL
when they tell me what it is. This is very nice of the DDJ people, because
they don't generally make their articles available for free, so I hope
you'll send them fan mail. In the future, I expect all my magazine
articles to be available on-line a couple of months after they appear in
print, because I'm making that a standard condition when I submit things
for publication.
I've asked the MIND people to make my October article from there available
on-line, too, but I haven't heard back from them, and MS is not known for
its cooperative nature on these matters. Don't get your hopes up.
I'll have a new article in the February CUJ (unless it gets bumped to a
different issue between now and then). I'll use this mailing list to let
you know when the article is out, but let me say right now that I think the
article is one of the most important things I've written in a long time.
This is how it opens:
I'll start with the punchline: If you're writing a function that can be
implemented as either a member or as a non-friend non-member, you should
prefer to implement it as a non-member function. That decision
*increases* class encapsulation. When you think encapsulation, you
should think non-member functions.
I expect this to drop some jaws, but of course, that's the point :-)
EFFECTIVE STL SEMINAR:
----------------------
Recently, I've been looking into the STL in preparation for what I hope
will become a book on the topic written at the level of Effective C++. The
working title is -- duh -- "Effective STL". Yes, you heard it here first.
No, I don't know when the book will be done :-)
Regardless of whether the book comes to fruition, I'm planning to conduct a
hands-on seminar on effective use of the STL in Portland, Oregon, in June
of 2000, probably during the week of June 5-9. The basic idea will be a
combination of lectures and hands-on labs led by me, with the focus being
how to *use* the STL instead of dwelling on the tedium behind things like
iterator categories and what it means to be a model of EqualityComparable.
As in my other C++ books, the material will be broken down into bite-sized
guidelines, and I'm hopeful that this format will be as useful to C++
programmers using the STL as it has been for the non-STL parts of the
language.
I'll have details about the seminar (length, dates, cost, prerequisites,
etc.) in a mailing in the first half of January, but for the time being,
please try to set aside the time and budget to join me in June to learn how
to make *effective* use of the most revolutionary library I have ever seen.
As I mentioned, the seminar is tentatively scheduled to take place the week
of June 5-9, but if you have strong feelings about which week in June it
should occur, send your thoughts to Nancy Pastrano
(NPastrano@TrekServices.com); she'll be handling the logistics for the
event. Nancy's help leaves me time to mull over the significance of the
fact that the non-member algorithm "find" and the member algorithm "find"
don't generally behave the same way, so replacing one with the other does
more than just affect performance...
Scott
1. UPDATED ERRATA LISTS for Effective C++, More Effective C++, and
the Effective C++ CD
2. ARTICLE STUFF, including imminent on-line availablity of my October
DDJ article and advance notice of my upcoming CUJ article.
3. ADVANCE NOTICE OF MY EFFECTIVE STL SEMINAR, to be held in Portland,
Oregon, in June, 2000.
UPDATED ERRATA LISTS:
---------------------
On the off chance the world fails to end at midnight on December 31, I
updated my publications' errata lists for the new millennium.
- The errata list for Effective C++ is still at
http://www.aristeia.com/BookErrata/ec++2e-errata.html. New entries are
dated 5/24/99 or later.
- The errata list for More Effective C++ remains at
http://www.aristeia.com/BookErrata/mec++-errata.html. New entries are
dated 10/8/99 or later.
- The errata list for the Effective C++ CD continues to dwell at
http://www.aristeia.com/BookErrata/cd1e-errata.html. New entries are
dated 7/6/99 or later.
I asked AW to update the auto_ptr page that they maintain, but I have no
idea how long it will take them to do it. Fortunately, the change is quite
small. This is what I sent them:
At the MEC++ auto_ptr update page
(http://www.awl.com/cseng/titles/0-201-63371-X/auto_ptr.html), one
paragraph reads as follows:
As it turns out, the dust hasn't quite settled on auto_ptr, because some
minor errors have been detected in the standard's specification: it
doesn't quite say what the standardization committee wanted it to
say. When everything is taken care of, I'll update this page again to let
you know the details.
I'd appreciate it if you'd add the following sentence to the end of the
above paragraph:
(If you just can't wait that long, search for "auto_ptr" in the href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-active.html">Active
Issues List for the C++ Standard Library.)
Finally, I added email from Bill Wade to the M27 page (it's devoted to
determining whether an object is on the heap). That page remains at
http://www.aristeia.com/BookErrata/M27Comments.html.
ARTICLE STUFF:
--------------
DDJ has generously agreed to make my October article on operator->*
available on-line sometime in the near future. I'll let you know the URL
when they tell me what it is. This is very nice of the DDJ people, because
they don't generally make their articles available for free, so I hope
you'll send them fan mail. In the future, I expect all my magazine
articles to be available on-line a couple of months after they appear in
print, because I'm making that a standard condition when I submit things
for publication.
I've asked the MIND people to make my October article from there available
on-line, too, but I haven't heard back from them, and MS is not known for
its cooperative nature on these matters. Don't get your hopes up.
I'll have a new article in the February CUJ (unless it gets bumped to a
different issue between now and then). I'll use this mailing list to let
you know when the article is out, but let me say right now that I think the
article is one of the most important things I've written in a long time.
This is how it opens:
I'll start with the punchline: If you're writing a function that can be
implemented as either a member or as a non-friend non-member, you should
prefer to implement it as a non-member function. That decision
*increases* class encapsulation. When you think encapsulation, you
should think non-member functions.
I expect this to drop some jaws, but of course, that's the point :-)
EFFECTIVE STL SEMINAR:
----------------------
Recently, I've been looking into the STL in preparation for what I hope
will become a book on the topic written at the level of Effective C++. The
working title is -- duh -- "Effective STL". Yes, you heard it here first.
No, I don't know when the book will be done :-)
Regardless of whether the book comes to fruition, I'm planning to conduct a
hands-on seminar on effective use of the STL in Portland, Oregon, in June
of 2000, probably during the week of June 5-9. The basic idea will be a
combination of lectures and hands-on labs led by me, with the focus being
how to *use* the STL instead of dwelling on the tedium behind things like
iterator categories and what it means to be a model of EqualityComparable.
As in my other C++ books, the material will be broken down into bite-sized
guidelines, and I'm hopeful that this format will be as useful to C++
programmers using the STL as it has been for the non-STL parts of the
language.
I'll have details about the seminar (length, dates, cost, prerequisites,
etc.) in a mailing in the first half of January, but for the time being,
please try to set aside the time and budget to join me in June to learn how
to make *effective* use of the most revolutionary library I have ever seen.
As I mentioned, the seminar is tentatively scheduled to take place the week
of June 5-9, but if you have strong feelings about which week in June it
should occur, send your thoughts to Nancy Pastrano
(NPastrano@TrekServices.com); she'll be handling the logistics for the
event. Nancy's help leaves me time to mull over the significance of the
fact that the non-member algorithm "find" and the member algorithm "find"
don't generally behave the same way, so replacing one with the other does
more than just affect performance...
Scott
Tuesday, October 5, 1999
Updated MEC++ Errata; Talks at C++ World
Two topics:
- The MEC++ errata list has just been updated
- I'll be speaking at C++ World in Miami in December
I've just updated the errata page for More Effective C++. You'll find it
at http://www.aristeia.com/BookErrata/mec++-errata.html. I'd hoped to
include the latest changes in this mailing as a Mailing List Exclusive, but
I wasn't really set up for that. In the future, I'll try to organize my
bookkeeping so that when I update an errata list, I can include the changed
entries in the message that announces the updated list.
I've agreed to speak at the "C++ World" conference in Miami on December 2
and 3. For details, check out http://www.cwconference.com/. The talks I'm
going to give are described below. These are the descriptions I submitted
to the conference organizers, but the descriptions you'll see in brochures,
etc., will be shorter, because it's important that all conferences hack the
talk abstracts until they bear little resemblance to what the speaker
originally submitted. Ahem.
Real World C++ (Renamed "Succeeding with C++" at the behest of the
conference organizers. Don't ask.)
When Scott started consulting on C++ projects, he figured his biggest
challenges would center on the proper use of language features. He was
so naive. Over the years, he's discovered that the biggest obstacles to
success in C++ involve a little C++, a fair amount of
language-independent software engineering, and a healty dose of decent
management. This talk presents over a dozen specific guidelines that
Scott has found to significantly improve the chances of success on real
software projects in C++. Some guidelines focus on specific language
issues (e.g., casts, virtual destructors), while others focus on broader
matters (e.g., the need to embrace abstraction, the importance of
specifications, the need to develop staged releases). Compared to Meyers'
usual talks, this seminar is less intensively technical, but it covers a
broader array of issues, and it is definitely about C++ software
development.
Implementing operator->*
Most C++ programmers know little about operator->*, but the topic is both
interesting and instructive. Especially interesting is the use of
templates, including member and partially specialized templates. This
talk begins with a review of how operator->* is generally used, then
proceeds to examine two different ways to implement it for smart pointer
classes. It ends with a tantalizing idea: smart pointers to members.
The Strange Tale of auto_ptr
auto_ptr is a smart pointer template in the standard library with the
simplest of conceptual specificatons: an auto_ptr is an object that acts
just like a pointer, except it deletes what it points to when it (the
auto_ptr) is destroyed. This simple description turns out to mask a
design challege of considerable proportions, one that required two
fundamental rewrites during standardization, and even the final
specification for auto_ptr has noteworthy flaws. (For example, some of
its intended uses won't compile.)
This talk describes the tortured path auto_ptr travelled from initial
concept to final specification, focusing on the design challenges that
made auto_ptr so difficult to pin down. Attendees can expect to learn
not just about auto_ptr, but also about how several features of C++ can
interact to make a seemingly simple class extremely difficult to design.
The material in the talk on operator->* is the same as that published in
the current issue of Dr. Dobbs Journal.
Scott
- The MEC++ errata list has just been updated
- I'll be speaking at C++ World in Miami in December
I've just updated the errata page for More Effective C++. You'll find it
at http://www.aristeia.com/BookErrata/mec++-errata.html. I'd hoped to
include the latest changes in this mailing as a Mailing List Exclusive, but
I wasn't really set up for that. In the future, I'll try to organize my
bookkeeping so that when I update an errata list, I can include the changed
entries in the message that announces the updated list.
I've agreed to speak at the "C++ World" conference in Miami on December 2
and 3. For details, check out http://www.cwconference.com/. The talks I'm
going to give are described below. These are the descriptions I submitted
to the conference organizers, but the descriptions you'll see in brochures,
etc., will be shorter, because it's important that all conferences hack the
talk abstracts until they bear little resemblance to what the speaker
originally submitted. Ahem.
Real World C++ (Renamed "Succeeding with C++" at the behest of the
conference organizers. Don't ask.)
When Scott started consulting on C++ projects, he figured his biggest
challenges would center on the proper use of language features. He was
so naive. Over the years, he's discovered that the biggest obstacles to
success in C++ involve a little C++, a fair amount of
language-independent software engineering, and a healty dose of decent
management. This talk presents over a dozen specific guidelines that
Scott has found to significantly improve the chances of success on real
software projects in C++. Some guidelines focus on specific language
issues (e.g., casts, virtual destructors), while others focus on broader
matters (e.g., the need to embrace abstraction, the importance of
specifications, the need to develop staged releases). Compared to Meyers'
usual talks, this seminar is less intensively technical, but it covers a
broader array of issues, and it is definitely about C++ software
development.
Implementing operator->*
Most C++ programmers know little about operator->*, but the topic is both
interesting and instructive. Especially interesting is the use of
templates, including member and partially specialized templates. This
talk begins with a review of how operator->* is generally used, then
proceeds to examine two different ways to implement it for smart pointer
classes. It ends with a tantalizing idea: smart pointers to members.
The Strange Tale of auto_ptr
auto_ptr is a smart pointer template in the standard library with the
simplest of conceptual specificatons: an auto_ptr is an object that acts
just like a pointer, except it deletes what it points to when it (the
auto_ptr) is destroyed. This simple description turns out to mask a
design challege of considerable proportions, one that required two
fundamental rewrites during standardization, and even the final
specification for auto_ptr has noteworthy flaws. (For example, some of
its intended uses won't compile.)
This talk describes the tortured path auto_ptr travelled from initial
concept to final specification, focusing on the design challenges that
made auto_ptr so difficult to pin down. Attendees can expect to learn
not just about auto_ptr, but also about how several features of C++ can
interact to make a seemingly simple class extremely difficult to design.
The material in the talk on operator->* is the same as that published in
the current issue of Dr. Dobbs Journal.
Scott
Wednesday, September 22, 1999
New MIND Article; URL problem in DDJ Article
The October issue of Microsoft Internet Developer ("MIND")
(http://www.microsoft.com/mind/) contains an article by me, "Browsing
Innovations for Books on CD-ROM." The article describes the novel features
AW and I developed for the Effective C++ CD. This is the introductory
paragraph of the article:
What should a book on a CD-ROM look like? How should it behave? When I
began to think seriously about putting my book, Effective C++
(Addison-Wesley, 1998), onto a CD in the spring of 1998, I didn't
know. From what I could tell by talking to producers and consumers of
existing CD books, nobody else did either.
MIND makes the first part of the article available at their web site as a
teaser. The URL is
http://www.microsoft.com/mind/1099/browsing/browsing.htm. The material in
the article is quite similar to that in the paper Jason Jones and I
presented at the recent Conference on Human Factors and the web
(http://zing.ncsl.nist.gov/hfweb/), "Document Design for Effective
Electronic Publication". That paper is available at
http://zing.ncsl.nist.gov/hfweb/proceedings/meyers-jones/index.html. The
material in the MIND article is also similar to what I say in the CD's
introduction, and you can read that at
http://meyerscd.awl.com/DEMO/INTRO/INDEX.HTM.
(I should really be pushing you to track down a copy of the current MIND, I
suppose, but MS was a pain to work with on this article, plus they used the
incorrect product image in the article (the cover for EC++/2E instead of
the EC++CD), so I find it hard to get too excited about pushing you towards
them.)
I hope you like the MIND article (or the close cousins I mentioned above),
but please note that these pieces are *not* about C++, they're about
designing electronic documents.
In the meantime, it has been brought to my attention that DDJ munged a URL
during preparation of my article on operator->*. On page 36 of the current
(October DDJ), the correct URL is this:
http://www.xmission.com/~ksvhsoft/code/index.html
Typos like this are one of many reasons why working with magazines is a
pain and why I insist on typesetting my own books.
Scott
(http://www.microsoft.com/mind/) contains an article by me, "Browsing
Innovations for Books on CD-ROM." The article describes the novel features
AW and I developed for the Effective C++ CD. This is the introductory
paragraph of the article:
What should a book on a CD-ROM look like? How should it behave? When I
began to think seriously about putting my book, Effective C++
(Addison-Wesley, 1998), onto a CD in the spring of 1998, I didn't
know. From what I could tell by talking to producers and consumers of
existing CD books, nobody else did either.
MIND makes the first part of the article available at their web site as a
teaser. The URL is
http://www.microsoft.com/mind/1099/browsing/browsing.htm. The material in
the article is quite similar to that in the paper Jason Jones and I
presented at the recent Conference on Human Factors and the web
(http://zing.ncsl.nist.gov/hfweb/), "Document Design for Effective
Electronic Publication". That paper is available at
http://zing.ncsl.nist.gov/hfweb/proceedings/meyers-jones/index.html. The
material in the MIND article is also similar to what I say in the CD's
introduction, and you can read that at
http://meyerscd.awl.com/DEMO/INTRO/INDEX.HTM.
(I should really be pushing you to track down a copy of the current MIND, I
suppose, but MS was a pain to work with on this article, plus they used the
incorrect product image in the article (the cover for EC++/2E instead of
the EC++CD), so I find it hard to get too excited about pushing you towards
them.)
I hope you like the MIND article (or the close cousins I mentioned above),
but please note that these pieces are *not* about C++, they're about
designing electronic documents.
In the meantime, it has been brought to my attention that DDJ munged a URL
during preparation of my article on operator->*. On page 36 of the current
(October DDJ), the correct URL is this:
http://www.xmission.com/~ksvhsoft/code/index.html
Typos like this are one of many reasons why working with magazines is a
pain and why I insist on typesetting my own books.
Scott
Wednesday, September 15, 1999
My DDJ Article on operator->*
The October issue of Dr. Dobb's Journal (http://www.ddj.com/) contains an
article by me, "Implementing operator->* for Smart Pointers." I just
received my issue in the mail today, so it should be generally available
now or quite soon. This is the introductory paragraph:
When I wrote More Effective C++ in 1995, one of the topics I examined was
smart pointers. As a result, I get a fair number of questions about them,
and one of the most interesting recent questions came from Andrei
Alexandrescu. He asked, "Shouldn't a really smart smart pointer overload
operator->*? I've never seen it done." I hadn't seen it done, either, so
I set out to do it. The result is instructive, I think, and for more than
just operator->*; it also involves insights into interesting and useful
applications of templates.
I wasn't thrilled when DDJ insisted on moving all my code examples into
separate listings, because I think it makes the article harder to read.
At some point in the future, I hope to make an HTML version of the article
available at my web site, and that version of the article would have the
code examples mixed in with the descriptive text (which is how I originally
wrote the article). If/when such a version is available, I'll let you
know.
I hope you like the article.
Scott
article by me, "Implementing operator->* for Smart Pointers." I just
received my issue in the mail today, so it should be generally available
now or quite soon. This is the introductory paragraph:
When I wrote More Effective C++ in 1995, one of the topics I examined was
smart pointers. As a result, I get a fair number of questions about them,
and one of the most interesting recent questions came from Andrei
Alexandrescu. He asked, "Shouldn't a really smart smart pointer overload
operator->*? I've never seen it done." I hadn't seen it done, either, so
I set out to do it. The result is instructive, I think, and for more than
just operator->*; it also involves insights into interesting and useful
applications of templates.
I wasn't thrilled when DDJ insisted on moving all my code examples into
separate listings, because I think it makes the article harder to read.
At some point in the future, I hope to make an HTML version of the article
available at my web site, and that version of the article would have the
code examples mixed in with the descriptive text (which is how I originally
wrote the article). If/when such a version is available, I'll let you
know.
I hope you like the article.
Scott
Subscribe to:
Posts (Atom)
