- 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 -------