From: Marcus Speh <marcus@x4u2.desy.de>
To: GNA C++ Course Consultants <gna-c++-consultants@tsun.desy.de>
Subject: DivU MOO debate
Date: Mon, 25 Apr 1994 13:03:39 GMT

[Recorder transcript from a recent debate with Peter Murray-Rust and
Daniel perron (both consultants) on DivU MOO. Some crap discarded.]

------- Start of forwarded message -------
From: (Marcus)1459@DivU.moo.mud.org
To: marcus@x4u2.desy.de
Subject: Cons-discussion
Date: Sun Apr 24 17:47:36 1994 EDT

Marcus turns the Recorder on.
Marcus says:
the survey you're proposing:
You ask, "ideas how to process this information?"
Marcus agrees with the remark on 'volatile' var's -> heritage of 'thorough C
programming' precondition.
Marcus says:
"what about 'assigning' clients & client information to
each of the consultants? not sure they will volunteer for this..."
DanielP If we let the students reply to the consultant list, everyone
can peek at the information they want, or we can compile this info and
try to summarizeit at a weekly meeting
Marcus says:
"summarizing at the weekly meeting is a good idea. i
propose we rotate a job to write/distribute minutes. the students are on an own email list, btw."
Marcus gnaws his way through a 2nd sandwich...
DanielP I think that the students needed their own mailing list, and the
consultants a separate one for a little privacy
Marcus says:
"final project: we can set up little projects e.g. before
going into a break, even using the exercises. "
Marcus says:
No problem. I shall make a new one any moment.
isnt a mailing list, rather an extension to /etc/aliases
DanielP as long as it works, that's fine with me
You ask, "VSPO active for you?"
DanielP hwo do I check it out, I @examine myself and didn't see a trace of VSPO
Marcus says:
maybe @audit...
none
I really think this help isnt much help....
DanielP if this is a problem for us, than I am sure it is going to be a problem
for the students
Marcus nods.
Marcus says:
"well, I keep telling the consultants to take notes and
prepare helps on whateer they found hard."
DanielP I still believe taht the key to the succes of teaching in this
envireonment is to find ways to exploit its interactivity and minimize its
difficulties
Marcus counts the $note objects he has... :)
Marcus says:
right. e.g. yesterday a student of aryeh's (a stubborn one)
You exclaim, "wrote 30 lines to tell me a program - he hadnt been told about
@paste!"
Marcus says:
"only the stubborn ones wil stand this hardnesses. we
ought to avid this. I applaud your last remark btw, on this course
having to be taught several times before acquiring educational 'weight'"
DanielP that's the problem, MOO is not enough user friendly for the moment
Marcus says:
"btw, watsoncrick tells me he is deelopping a math_machine - and
PeterMR is working on a GUI (which he actually uses)."
Marcus says:
"I prefer to hack my way through line mode for the moment
- but that's rather a problem of time. the future is smarter clients,
no doubt.
DanielP what kind of math_machien
Marcus says:
"permits the use of real numbers in MOO environment - he said.
prototype is on GNA-Lab which I cnanot connect to now..."
DanielP How did you pull out the stuff for the consultants list or the students
list during our earlier discussion?
You ask, "what do you mean?"
DanielP you could get the consultants list and I imagine the students list
paste but from where (did you get it)
Marcus says:
"oh..all on the Web. i pasted it from there into an Emacs
buffer. or with the Emacs browser itself."
DanielP I see
Marcus says:
"see adm/contrib.html and adm/students.txt and
adm/students.html in the course tree"
Marcus says:
"in fact, Emacs browser is probably the smartest. for the
programs in principle we can also use the gopher now."
DanielP I had a look at the students stuffs but not at contrib
Marcus says:
"In GNA central. but you know the number -> everyone sees
what you get in the current room."
Marcus says:
"some adm/ pages ought to be reworked. but there has been
no complaint and i lack time ..it'snot high priority."
Marcus says:
"for example, i erased reference to the schedule because
I envision more people/consultants to be online next week already"
Marcus says:
"it is important that we have www access from here - even for a
schedule. one spends too much time duplicating information."
DanielP I haven't sent you my schedule because I will not likely be able to
make this thurdsday
Marcus says:
"...and www access will come ;) as will FTP (richeliue is almost
finished.)"
You ask, "tuesday ?"
You ask, "what's on thursday?"
DanielP since there is no one on wednesday and thursday, I would like to fix my
online schedule on these days, at the moment I think 21-23hr EDT on wednesday
and thurday
Marcus hopes so - I may shift one lesson to early morning to accomodate ppl
from singapore... :)
Marcus [to DanielP]:
just looking through the survey...
there is some doubling wrt the GNA form, but that should
be alright. we're not really in positionto process those automatically.
Marcus says:
"one point: we cannot 'force' them to go with one
consultant...they may want to hop to another. e.g. i have not taught
c++ yet, i may get problems with full-fledged CS students and their
high standards, as I can envision.
PeterMR arrives from nowhere.
Marcus says:
hey, Peter [murray-rust = consultant]
DanielP says:
Hi Peter
PeterMR says:
Hi everyone
have you a minute - I have been compiling chapter 1 programs
Marcus says:
Sure.
DanielP [to Marcus]:
I thought that trying ot force the students was not a bad
idea but I am not so sure
Marcus says:
"all i noticed is a problem in fstream.cc - cut it for
Unix (and no printer). but that;s some time ago - i was trying to find
time TODAY, but.. .[sighs]"
PeterMR asks, "There are a few general points. Firstly there are some compiler
probs which threw me a bit and will certainly throw the students. Are the
progs in the book what we sahll be using or have they been edited?"
You ask, "I dont recall having edited anything yet. Probs with which compiler?"
PeterMR says:
"fstream is a real beauty - it compiles to fstream.o and the
loader tries to load in a system routine. I changed it to xfstream.cc and then
it worked."
Marcus says:
"BUt i havent looked at all, frankly. by tonight, i will
have checked all of Chapter 1 at least."
Marcus laffs
DanielP which compiler are you using ? Peter
PeterMR says:
"that was with g++. There are also quite a few warnings. I'm
not sure what our policy is on warnigs, but I would try to rewrite as they
remove confidence and will probably be errors in the next relase of C++"
PeterMR says:
"I'v used both g++ and CC. I have to do Borland on another
machine."
Marcus says:
no prob on PC it seems. with g++, i had to remove process.h
You ask, "which g++ version. and you are talking about the _original_
fstream.cc?"
PeterMR says:
"Also - process.h is a DOS routine, so I've had to put ifdef
__BORLANDC__ in the code. For UNIX it requires stdlib.h or unistd.h"
Marcus nods [on warnings]
Marcus says:
Right.
PeterMR says:
"Yes it was the original. I haven't yet brought the *.cc home -
so got these from the book."
Marcus says:
I'd be glad if you sent me the file as you corrected it.
(Marcus thinks: would send <- sent )
PeterMR says:
"I also have a number of points of style , but I don't want to
bore the hell out of the students 0 it's tough enough."
Marcus says:
"I dont have Borland. all i can do is check with front
ends on SUN, SGI and HP."
Marcus says:
"right, I dont like all of them either. we will get 80
other samples from an instructor wh did go through the whole course
until February 94 (after 1/2 year). "
PeterMR exclaims, "I haven't used HP. I have only recently started SUN. (g++).
I think that the first week will be *compiler* practice rather than any
language practice!"
Marcus says:
"but i am unsure as to whether use them or not. as
probably everyone, I have made own examples at some point to
understand stuff.. "
DanielP The problem with style, is the level of the students, If they are more
advanced we can talk about it, otherwise, we'll be preaching in the deseart
Marcus [to PeterMR]:
we just confirmed that the 1st week may go into MOOing
solely.... :)
Marcus nods Daniel. Quite another topic - the relative level of students
between 18 and 40 from 10 nations.... :)
Marcus [to PeterMR]:
if we get mixed C++ and moo questions, we will get spammed
and burn out fast...
PeterMR says:
"It's actually very difficult to write even simple progs that
port, due to the include files and the loader which tend to differ. "
PeterMR says:
"My last C++ with the students at Birkbeck was rather
unstaisfactory as we spent a lot of time recompiling. For example, if you get
the include files wrong"
Marcus [to PeterMR]:
same for the advanced students - both in c++ and MOO.
DanielP Also, I was thinking of those from SE Asia, is it a suitable schedule
for them?
Marcus [to PeterMR]:
maybe we should strictly look at g++ only.
DanielP no, I don't agree Marcus
Marcus [to DanielP]:
well, as i said, one or the other who can do it, may have
to change to mornings. I am usually up by 6:30 and can be here 7:30.
Marcus [to DanielP]:
on g++?
DanielP We should not restrict ourselves to g++
Marcus says:
"schedule: i hope the students wont stay away but COMPLAIN if the
times are wrong for them. with 6 people there will be a solution."
Marcus will change his Friday time to 0900-1000
DanielP [to PeterMR]:
Do you have experience teaching C++?
Marcus [to DanielP]:
well, but g++ as the minimum. the compiler with the best
portability - and there arent many native compilers anyway, are there? (wrt
debugging info)
PeterMR says:
"Yes land on 386's. It's a nice system, but it's confused with
the memory models. If you compile one prog with small, another with large and
try to link you get problems."
DanielP [to Marcus]:
Agree, but an awful large number of ppl in univ and the
private sector are using Borland C++ and Visual C++
Marcus [to DanielP]:
The programs were all used with Borland++ as far as i know
from my friend here who taught the course. in a PC Lab.
PeterMR says:
I got quite depressed at one stage as they were spending hours still trying to compile my librraies
PeterMR exclaims, "There isn't a problem with Boralnd so long as the
progs are fairly small and the students know how to set the ca. 100
flags in the compiler. I don't think it will be easy to sort out
compiler problems over the network!"
DanielP [to PeterMR]:
What do you mean by "yes land on 386" ?
Marcus [to PeterMR]:
which arent exactly simple.... :)
PeterMR says:
"I think my messages get garbled if I backspace. So
I'll type slower"
Marcus [to PeterMR]:
i think we can if we carefully collect related
questions, enrich the course material by such hints at the weekly
meetings.
Marcus points at Daniel's survey for info to begin with.
Marcus gets Peter's msg clearly.
DanielP The problem with Pc compiler is when students start to mix
model, even
though it look fine, you get all kind of strange effect. Often, ppl don't even realized that they are mixing model
PeterMR says:
I trhink we have to have a mechanism for students to send us files as well as talking. I would be fairly happy to try to hack compiler problems if I had output in fromnt of me. the problem with Borland is that the messages are all visual.
Marcus says:
btw, you both may consider applying via page to a wizard for a MOO programmer's flag.
DanielP [to PeterMR]:
you can save the windows of messages to a file
Marcus announces that there are 2 more people willing to helpwith proofreading and consultancy (mail just received). Q: how to assign work to them...?
PeterMR says:
BTW Boralnd under DOS on 386 can run out of memory, even under compilayion. But under Windows3.1 I haven't had problems. I think it would be reasonable t9io insist on that.
DanielP [to Marcus]:
You mean online consultant?
PeterMR says:
I think it's imp[ortant to make it clear to the students at the beginning that compilation, etc is an important part of it and unless they understand some of what their machine does (e.g. libaries) they are going to have problems when they get strange errors.
Marcus [to DanielP]:
yes. One says he doesnt know MOOing too well, but that is a common disease...
DanielP laffs
PeterMR says:
Marcus [to PeterMR]:
good that you mention that. i kept those parts a bit short in the bootstrap thingy.
Marcus also has to check the possibilities of locking a classroom for ordered coursework.
PeterMR says:
Well, if you cannot load for some reason it could be that you have not got the right library or that you are using a different compiler. There fore they should have some idea what mangles names are about (simply becuase they weill get them on g++!)
Marcus [to DanielP]:
well, the problem is i have assigned 2 chapters already to every consultant.
DanielP [to PeterMR]:
I believe that the strong typing of C++ is sometimes an illusion of safety when you are compiling for the PC environment, you need some extra discipline
PeterMR says:
I culdn't have sorted out the fstream problem without a good deal of experience. I had three different goes.
Marcus [to PeterMR]:
g++ demangles, depending on which linker you're using.
Marcus doesnt know enough about PCs to keep up here.
DanielP To be honest , I have tried to compile the sample programs yet
Marcus [to DanielP]:
I will be happy to give chapter 7 away first :)
(DanielP thinks: haven't tried )
Marcus [to DanielP]:
i was too busy either. Meaning that you'd like to give them away?
chapter 3, right?
DanielP I'd rather keep tehm, I have to go through the same thing that the students will go through
Marcus says:
that's what I thought.
PeterMR has disconnected.
Marcus applauds Peter's going through chap1 samples.... :)
DanielP At the moment, I don't worry to much about stricly compiler and debugging environnment, the MOO and how to exploit it bother me much more.
Marcus says:
I feel easier about the
moo, but probably b/c I am more afraid of teaching C++ :)
allright, guess Peter was thrown....
DanielP It is an introductory course
Marcus nods
Marcus says:
Ok, I shall prepare the final announcement before May 1 using your survey. maybe we'll get more opinions and also a gathering on Tuesday for that matter.
DanielP C++ is no peace of cake, it is a big language and we cannot cover all the language in a course like this
Marcus asks, "Sure. btw, were you interested in joining for the template chapter...? to be taught i-dont-know-when, maybe not even this summer?"
Marcus says:
introductory level as well - most books i have seen underestimate the power of templates
Marcus has disconnected.
DanielP If I have time, yes but I rather see first how much will be swallowed by this beginning first
Marcus has connected.
Marcus says:
corry...cpu limit for emacs :)
Marcus asks, "did you get what i said about templates?"
DanielP If I have time, yes but I rather see first how much will be swallowed by this beginning first
(DanielP thinks: just paste it back )
Marcus says:
that they are to be preferred for container classes - instead of inheritance based stuff
I lost my whole emacs.. :(
DanielP about template, Visual C++ just have a kludge for templates!
Marcus says:
Templates, i mean.
I know, i am talking with SGI and g++ in my head.
PeterMR arrives from nowhere.
PeterMR says:
Hi I got bombed out somehow - back now
Marcus says:
dunno about any of this PC stuff. may try to get it though.
Marcus nods Peter.
Marcus [to PeterMR]:
just talking about the benefit of templates.
your libraries are template based, are they?
Marcus threw 1/2 year work away for that purpose ... :-)
PeterMR says:
Well they are a good idea but as I said, I haven't been able to link them on both G++ and CC
Marcus [to DanielP]:
so I gotta defend it :) - but see also article by M.Ellis in C++ report, march 1993
PeterMR says:
my libarires use the original approach with macro definitions. Horrid to debug
the *template idea* is essential. It's really a question of what method you use to implement.
Marcus nods. Loosing scope, yuo mean. Template follow the scope which I appreciate.
PeterMR asks, "What were you thinking of using templates for?"
Marcus [to PeterMR]:
no, i just asked dan about collaboration for the unwritten chapter of the tutor. I _am_ using templates for everything - developping a multiindexed associative array ('map') right now which comes handy for lattice problems of my sort.
Marcus says:
well, i guess I'll try myself and let you correct (rewrite) the chapter :) :)
Marcus grins
PeterMR says:
I havew written all my dynamioc memory stuff with (pseudo)templates. I also need to go back and rewrite things like Matrix with templates so it can do ints, doubles, etc
DanielP My first interest in C++ came only after I was told that the language provide facilities for templates, at the time I was using ML. And all the benefit of reusability couldn't be serious without template , I thought then. But after looking seriously at it, I am not so sure anymore.
PeterMR says:
My main problem was the the macro approach to templates ends up with a *singe line for all the code:-) so the debugger simply told me there is an error in thet routine somewhere.
Marcus would like to know ML. we may talk about a language i am just learning for my parallel cmputer, ZZ, a language with evolving grammar (just a parser, actually). you may need to go one step backwards and write yourself an own compiler.
Marcus isnt sure now he knows what Peter means with 'macro approach'...
PeterMR says:
Fo example, I have a SquareMatrix Class. It's for doubles. I'd like to use it for int's now. A temlpate approach would have made it reusable (well almost)
(Marcus thinks: 'my' parallel machine= DESY's parallel machine )
PeterMR says:
I am not going anywhere near writing compilers :-) I wrote an interpreter (in fortran once and that was bad enough.
Marcus nods. Have any of you heard about an associative array (index doesnt need to be integer) of > 1 dimension?
Marcus says:
just to save some work :)
DanielP Sorry, Marcus
Marcus says:
My main problem is probably that i am the only C++ kinda guy in my lab-world. almost not communicating other than over the net. our CS 'department' is a service center, rather.
PeterMR says:
the macro appraoch is given (I think) in Stroustrup 1/e. I'll look. It's where you write the whole class with \ as continuation lines and use TCLASS throughout to be substutued by the preprocessor.
Marcus says:
yes, I know this section. it's the only reference I ever found. using doubly linked lists for the key - value pairs. now, I want (key,key,....) -> (value,value..) mapping.. - too bad
Marcus oops - was talking abou this arrays..sorry. will look for this macro thing.
Marcus [to DanielP]:
looking forward to take an ML course with you :)
Marcus says:
btw you think I should reply to your posting elaborating on the 'course project' idea? - i had mentioned this in the context of a c++ - litprog tandem course.
DanielP I have given up hope on these nice language by now
Marcus [to DanielP]:
what is your favourite?
Marcus thinks this is probably a nonsense question
Marcus withdraws.
Marcus grins
DanielP it is C++, that is for real life
Marcus says:
Which favorite for which problem, is rather what makes sense, in my experience. Sad enough.
PeterMR says:
The C++ Toolkit shwos the use of macro-defined templtes well. I like that book
Marcus [to PeterMR]:
the application person dreams of a universal language.
and I dont know it! ref?
more than what I am going to write a c++ book for numerical people would be needed. even only a clever review of what is available...
DanielP about the project, I believe that we should hint it at the students should, but I don't think that we should force it. If they are willing that might be a very interesting aspect of the course, distributed programming in cyberspace!
PeterMR says:
Don't lets get into a language war.! remember it's the humans that matter. C++ is here and we have to use it. But it's useful to borrow ideas from elsewhere.
DanielP Talking of ref, which ref do you recommand for the course
DanielP [to PeterMR]:
agree all the way
PeterMR says:
My ref was The C++ Toolkit, Jonathan Shapiro, Prentice hall 1991. It's partcularl;y good for generic classes. Indeed I'd say that the students shouldn't be required to write any generic classes , but should copy them from there and *use* them
Marcus says:
The C++ FAQ first - it's free.
DanielP I have heard about it but I am not familiar with it
Marcus says:
second for me comes Ira Pohl's 1993 and M.T. Skinner's (1992) books.
DanielP the FAQ mentions all the books that I like
Marcus says:
best for ppl without C knowledge, I'd say. I have tried Pohl's book against Lippman's e.g. and Pohl was the winner, with students from here.
PeterMR exclaims, "Ref's are very difficult. I've got about 10 on my shelf and people keep mentioning ones I've not got!"
Marcus says:
He uses a 'dissection' method - the closest to hypertext which I esp like.
well, look at my Docs.html from the c++ page...
DanielP [to Marcus]:
what do you mean with students from here?
Marcus laffs.
Marcus [to DanielP]:
well, inspite of being a bloody beginner, I am the c++ guru here - i meant from those books i have recommended and lent to the students (theor./exp. physicists) and received comments/questions. and a interest group i founded here which meets regularly.
PeterMR asks, "Marcus - is there any simple way of pasting text into a file so I can transferthe progs to you here, or is it easier to mail them in the normal way?"
DanielP The problem with ref, is that good one are very useful, but bad one can be "traumatizing"
Marcus asks, "no agreement about the C++ FAQ by Marshall cline?"
Marcus doesnt want to recommend any book of US$ 50+ ...
Marcus [to PeterMR]:
a) gopher - everyone sees if you PICK a program
-> help @paste
PeterMR says:
I think we are *all* our own local guru's ! that's the present problem. And the real professionals deal with very complex abstract problems. I only get by because my objects map onto the real world very easily.
DanielP my favorite for intro is Lippman, then on The language by Stroustrup, Meyers "effective way" is great for intermediate and Coplien for Adveance stuff
Marcus [to PeterMR]:
well, daniel probably has a wider audience and environment in CS. we're the amateurs :)
Marcus [to DanielP]:
Lippman is a fine fine book, but I only start understanding it now. even more so for stroustup.
Stroustrup was my only book for 1 year, except one book on NN with C++ ...i am still proud that i didnt give up then :)
DanielP I know, that why I mention it first, Stroustrup is too difficult for inexperience programmer
(DanielP thinks: even for experience programmer )
Marcus nods
Marcus says:
i used to read stroustrup in week 1, then drop out week 2, then write something for myself ( i thought) in week 3, only to discover in week 4 that it was all frm him :)
Marcus laffs
DanielP I'll have to go very shorly
PeterMR exclaims, "we face quite a lot of problems with students. In no particular order I would say: compiling and loading; lack of simple examples they can relate to (no critcism of this course ) ; lack of classes that they can *use*; difficulties with synatx (I find it *very* difficult); variations between compilers; conecptual difficulties with OO hierarchies, etc. I have had to rwrite all my stuff three times. A guru could have helped me get by with twice!"
Marcus exclaims, "GREAT mail by Joseph...calming in the tempest of the accreditation!"
DanielP [to PeterMR]:
My experience of the ppl in the real work using C++ is that there sweating their blood out
Marcus [to PeterMR]:
we'll have to carefully craft an improved syllabus this week.
Ricardo has connected.
PeterMR says:
I also think there are NO reusable librariues in general use. We don't even have a string class. This is a great pity because noone gets the idea from others - they all write their own. Also, I think inheritance is a mixed blessing - it's good for maintainers - not so good for simple users without a good naviagtion system
Marcus [to DanielP]:
right....let's not mention this before week 12 :)
Marcus [to PeterMR]:
this course is the seed for another global user's group.
Marcus wonders
DanielP [to PeterMR]:
agree, but if we make only a decent job at the course I thing that would be a very good start and something that we can be proud of.
Ricardo waves hi to everybody
Marcus [to PeterMR]:
templates again...saves you from using pointers
Marcus nods Daniel. good word to depart
Marcus waves Ricardo
PeterMR says:
Well - take the students into your confidence. tell them that we are all exploring and that we just are a little bit more experienced. tell them there is gold at the end of thre rainbow. (There is , but it takes 2 years).
Marcus [to DanielP]:
send me email if you can demonstrate the VSPO...
Marcus laffs Daniel - student is present :)
PeterMR says:
I never use pointers unless forcde to.
Marcus eyes Ricardo
Marcus [to PeterMR]:
revealing your Fortranish background :)
Marcus smiles
PeterMR says:
yes - and proud of it.
Marcus [to PeterMR]:
the consultants may differ considerably in quality and professionality
Marcus eyes Daniel enviously :)
PeterMR asks, "marcus I will try to paste fstream.cc - are you ready in case it fails?"
Marcus says:
sure.
DanielP [to PeterMR]:
I'll leave with a quote of Hoare "The introduction of pointer in high-level programming languages ahs been a step backward that we may never recover" I tell this to my students when they go overboard with pointer in C.
DanielP cheers, I have to go
DanielP waves all
DanielP has disconnected.
------- End of forwarded message -------