Loading ...
Sorry, an error occurred while loading the content.

35074Re: [XP] Place for rarified skills?

Expand Messages
  • david.abrahams@rcn.com
    Oct 1, 2001
    • 0 Attachment
      --- In extremeprogramming@y..., cg@c... wrote:
      > >As much as I wish it were otherwise, generic programming
      > >and template metaprogramming are hardly "lingua franca"
      > >among C++ programmers. Those skills are best applied in
      > >environments where flexibility and maximum performance are
      > >both required. Also, I enjoy solving difficult problems --
      > >often arriving at a solution requires exploiting concepts
      > >and techniques outside the knowledge of mainstream programmers.
      > >
      > That's a problem that is I think quite specific to C++, which
      > is so baroque that indeed there are corners of the language that
      > are only accessible to specialists. The best solution, of course,
      > is to avoid the language like the plague.

      Wow, I never expected to encounter such blatant language bias here. I
      thought XP was largely about pragmatism. The problem is not specific
      to C++ at all, though C++ admits a wider variety of techniques and
      approaches than many languages. Part of what I'm referring to here has
      nothing to do with languages: it's simply the application of good old
      Computer Science. If I have to use the NFA-to-DFA construction, or
      dijkstra's algorithm, I'm already speaking a language that the average
      programmer doesn't seem to grasp.

      > I have programmed the last 3 months mostly in Smalltalk.
      > Before that, almost a year mainly Python. Before that, around
      > 5 years in Java. These are all very accessible languages where
      > there are hardly any dark corners.

      It's very interesting that you'd say so. My experience with Python in
      particular (and I love Python for its many merits) has been that it's
      full of dark corners, mostly due to incomplete documentation. I can
      read the source code to find out what happens, but one shouldn't have
      to. I can't speak for Java or Smalltalk, and would encourage you not
      to knock C++ until you've learned to use it with as much authority as
      the other languages you know.

      In any case, none of these languages are capable of the combination of
      flexibility and high performance that can be acheived with advanced
      techniques in C++. As I've said, I wouldn't use an advanced technique
      where a simpler one would do - sometimes the problem just demands it.

      > The best expression of intelligence and creativity is to
      > make solutions look so obvious that any moron thinks he
      > could have come up with it. As a side effect, it means
      > you run less risk of having to maintain your own hacks...

      No argument there. Why do I get the sense that you don't think I value
      simplicity and re
    • Show all 20 messages in this topic