"C++ is like a sharp razor... either the best tool to remove your facial hair or slit your throat."RuebaiYat: why is it that people want to build programs and are unable or unwilling to accept the necessary preconditions, like assembling the needed knowledge from books? SNIBRIL: I wish i knew. :-)) SNIBRIL: Humanity uses (printed) books for about 400 years now, to conserve and distribute knowledge. it worked. it works today. but you have to READ in order for it to work. SNIBRIL: Personally, I _need_ books to a) expand my knowledge and keep up to date (which is also important for one's job) SNIBRIL: and b) re-read things i either forgot and didn't want to memorize in order to keep my head from blowing up. RuebaiYat: how big is your library of books? SNIBRIL: about 50..60 computer books.
RuebaiYat: which is your favorite book? which was a total lamer?. SNIBRIL: My current favourite is "More Efficient C++" from Meyers. That's because I haven't read it yet :-) and because "Efficient C++" was an excellent resource. SNIBRIL: my worst book is from a local (German) publisher, "Das Amiga-Handbuch". SNIBRIL: u know these publishers known for one good book inna century, always has the hootest topics (All you never wanted to know about JAVA), and authors that deem it inventive to plagiate computer magazines. SNIBRIL: topped with lots of typos and simple factual errors. SNIBRIL: the opposite of this has a name: Addison-Wesley. Highly recommended, you 99% get a GOOD book usefull for years. RuebaiYat: why are patterns important? SNIBRIL: for many reasons. ;-) SNIBRIL: 1st: they enable us to talk in "big" concepts. SNIBRIL: If i say "bridge", they average pattern-enabled person will know from just this word what i speak of. SNIBRIL: it's what enables experts to communicate concise and efficient. SNIBRIL: and since language forms what we think, using a pattern language enables us to invent complex structures quite rapidly and show them to others. SNIBRIL: 2nd: see above, they enhance our tool chest. SNIBRIL: the beauty of patterns is that u will recognize some of them on the spot, since YOU yourself used them in the past, you just didn't call them patterns. RuebaiYat: are patterns standardized? SNIBRIL: they can't. since the mainly describe design processes and thoughts, which is some kind of "blury" (as oppsed to code, code is concise) RuebaiYat: is there some ISO definition for the paterns? SNIBRIL: this isn't easily done. there is an agreement though, some kind of template (or a meta-pattern :-). SNIBRIL: it's very similar to UNIX man pages, you have sections in a certain order (name, aliases, forces, description, examples, uses, references, ...) RuebaiYat: wha is your opinion on methodologies such as BOOCH etc? SNIBRIL: u should know at least know the basics of one of Booch or OMT. SNIBRIL: since almost certainly the new "Unified Method" (Booch and now Rumbaugh and Jacobson all work for Rational) will blow away any other method. SNIBRIL: it will teach you how OO can be formalized somewhat (long time, OO was anything, but surely not formal :-). well, using them in real life is another thing. SNIBRIL: You _absolutely_ need tools to use such a method. and those are expensive (serveral thousand $$$). SNIBRIL: By "using" i mean following them more or less 100%, not background knowledge of the methods that you use while designing. SNIBRIL: Also, all the charts and cards and diagrams are really only needed for huge projects. there, you need them bad, though. RuebaiYat: ah...but paper/pencil will work..for the smaller designs? SNIBRIL: pencil and paper (cards) is good for CRCs (obviously). SNIBRIL: for the other methods, it's a waste of time using them for more than sketches while trying out ideas. SNIBRIL: that's because the information on them will age rapidly in a OO design process that is iterative and evolutionary. SNIBRIL: which every OO process is... SNIBRIL: paper and pencil is also good for learning RuebaiYat:what are common C++ programmers prejudices of smalltalk? SNIBRIL: well, i think they use C++ because their smalltalk is to slow and big, and because they get too much run-time errors RuebaiYat: why is it that people (read: Smalltalkies) expect things from C++ that it never was designed for? SNIBRIL: They don't switch their mind-set to the concepts behind C++. SNIBRIL: one of these concepts is "be as compatible as possible to C, even if it hurts sometimes". SNIBRIL: this is, btw, what made C++'es _amazing_ commercial success (i.e. industry acceptance) possible. SNIBRIL: (breaking the COBOL vicious cycle, which is "we need COBOL programmers to maintain our old code... we need new programs, we have COBOL programmers, let's do COBOL) SNIBRIL: to learn more about the ideas, forces and historical descisions behind what C++ is today, read Stroustrup's "The design & evolution of C++". Very insightful for the already fluent C++ programmer.
RuebaiYat: What will be the impact of Java to the "programming community", and
SNIBRIL: IMHO, Java will have the same success story as C++, for the
same reasons.
SNIBRIL: Java is C++ compatible (somewhat), which provides a nice learning
curve for many people.
SNIBRIL: Also, it's portable, more so than C or C++, where only the source
is relatively easily ported. No, Java produces code for a stack machine,
which is inherently portable to all platforms with very little effort
(porting the stack machine).
SNIBRIL: btw, i know of a university project to translate java byte code
to c++, allowing portable "native compilation".
RuebaiYat: WOW!
SNIBRIL: which also shows that most people's 1st reaction to Java ("it's
interpreted?! man, THAT must be SLOW!") is, well... uninformed.
RuebaiYat: java may rule the world? SNIBRIL: it actually may do so, or large parts of the computer part of the world. :-) SNIBRIL: Oracle's NC is not _just_ hype, the industry does not invest _so_ much money and time into vapourware (we regard MS as its own industry here :-). RuebaiYat: what is NC? SNIBRIL: Just "Network Computer". it's an attempt to get some flesh behind that "Internet Terminal for under US$500" thing. SNIBRIL: NC is a set of guidelines comparable to the PREP thing or IBM's "Advanced Technology" (i.e. last decades technology that is the basis for today's Intel PCs). SNIBRIL: Of course, Java could die as fast as it was born (see Taligent). SNIBRIL: But that is not very probable. It will be accepted technology by 1st or 2nd quarter of 1997 (if not sooner, Merlin will be released in fall of 1996).
Currently, SNIBRIL has the big 3 in his age for about 4 months now and works as a software engineer for a little company producing internet software (virtual shopping mall, information technology systems via WWW, ...) SNIBRIL is German, began around 1976 to hack on computer keyboards (PET 2001 ones, at school) and everything currently, German only, you were warned. SNIBRIL's 1st own computer was a TSR Color Genie compatible plastic housing thing. had a Z80 as a heart, and ran a Z80 assembler which he wrote. SNIBRIL is not married, has no children (that he knows of :-), and aspires to stay healthy and get wealthy... Want to know more about SNIBRIL? |