Slashdot Mirror


Scott Meyers Retires From Involvement With C++ (blogspot.com)

An anonymous reader writes: If you've studied C++ any time in the past 25 years, you've probably read something by Scott Meyers. He wrote Effective C++, regarded by many as one of the top two books for learning to work with the language. He also wrote similar books about changes in C++11 and C++14, as well as making good use of the Standard Template Library. He's been a seemingly endless source of instructional videos, articles, and helpful answers on Usenet and StackOverflow. Unfortunately for us, Meyers has now decided to move on. "25 years after publication of my first academic papers involving C++, I'm retiring from active involvement with the language. It's a good time for it. My job is explaining C++ and how to use it, but the C++ explanation biz is bustling. ... My voice is dropping out, but a great chorus will continue." Thanks for all the help, Scott.

112 comments

  1. Re:This is the year of the TOAD by Anonymous Coward · · Score: 0

    No, you are wrong.

    It's the year of the Cows. 2016 is for Cows. Cows say Moooo. Mooo! Moooo! Moooo Cows Moooo! Moooo say the cows. YOU 2016 COWS!!!

  2. I like C++ by Anonymous Coward · · Score: 0

    I switched to it and I like it. I look forward to the new functionality in C++17.

    I think some of the syntax, especially regarding the use of templates, might make the language look harder than it needs. So, I think there's still a lot of room left for either simplifying the language or explaining it (or both).

  3. Is his hair real? by Anonymous Coward · · Score: 0

    Is his hair real? Or is it a wig?

  4. C++16 is for Cows by Anonymous Coward · · Score: 0

    You are all Cows 2016 edition. Cows do register at microsoft. Register Cows Register. Register do the c++16 cows. YOU GLORIFIED MACRO ASSEMBLER PLUS PLUS COWS!!!

  5. Thank you. by c · · Score: 3, Informative

    Twenty years ago, Effective C++ was the book which convinced me that C++ was so full of land mines and other hidden traps that I needed to walk away from it and never, ever touch that pile of crap again.

    Okay, I lied. It didn't take the entire book; I got the hint after the first five chapters.

    --
    Log in or piss off.
    1. Re:Thank you. by erapert · · Score: 5, Insightful

      1. So what do you use instead?
      2. Did you know C++ has moved on quite a bit in the past twenty years?

    2. Re:Thank you. by Anonymous Coward · · Score: 0

      So do you use 'c' instead?

    3. Re:Thank you. by Anonymous Coward · · Score: 1

      Bonehead. Effective C++ is a book for experienced C++ programmers. If that was your first port of call then no wonder you were intimidated.

    4. Re:Thank you. by Anonymous Coward · · Score: 0

      I feel obligated to say something about systemd because, as the Talmud says, “Silence is akin to assent.” Here's my side of the story: The time has come to choose between freedom or slavery, revolt or submission, and liberty or systemd's particularly intellectually challenged form of priggism. It's clear what systemd wants us to choose, but its mottos have created an impetuous, meddlesome universe devoid of logic and evidence. Only within this universe does it make sense to say that there won't be any blowback from systemd's turning once-flourishing neighborhoods into zones of violence, decay, and moral disregard. Only within this universe does it make sense to subordinate all spheres of society to an ideological vision of organic community. And, only if we educate the public on a range of issues can we destroy this inficete universe of systemd's and search for solutions that are more creative and constructive than the typically vexatious ones championed by harebrained, rash ratbags.

      I never cease to be amazed at the way that those who wish to popularize a genre of music whose graphic lyrics explicitly urge nerdy calumniators to deny citizens the ability to become informed about the destruction that systemd is capable of follow a fairly predictable game plan. This plan comprises three distinct but related steps:

      Incite an atmosphere of violence and endangerment toward the good men, women, and children of this state;
      Spam the Internet with unsolicited jackbooted e-mail; and, finally,
      Blame all of our problems on the poor, beleaguered, taxpaying drudges of society who are only one paycheck away from the poorhouse.

      The significance of this approach is that systemd likes to perpetuate the nonsense known technically as the analytic/synthetic dichotomy. Such activity can flourish only in the dark, however. If you drag it into the open, systemd and its factotums will run for cover like cockroaches in a dirty kitchen when the light is turned on suddenly during the night. That's why we must chastise systemd for not doing any research before spouting off.

      In what should come as a surprise to almost nobody, systemd claims that prisons exist not for punitive or rehabilitative purposes but rather to carry out a slatternly political agenda against minorities and the poor. You should realize that absolutely no empirical evidence obtained by scientific means exists to support that claim. Alas, that doesn't stop systemd from blaming all of our problems on the poor, beleaguered, taxpaying drudges of society who are only one paycheck away from the poorhouse. The reason systemd wants to develop a credible pretext to forcibly silence its rivals is that it's completely brutal. If you believe you have another explanation for its egocentric behavior, then please write and tell me about it. Systemd's satraps have been waxing stridently about militarism, systemd's bunco games, and why systemd should develop mind-control technology. Meanwhile, I have been arguing about systemd's effusions. What do I hope to achieve by doing such a thing? I hope to achieve widespread recognition that it does not require a Sherlock Holmes to prove that there have been reports of rampant drunkenness, performances by strippers, public nudity, and other licentious and snooty behavior at every gathering of systemd's vicegerents. There are several logical contradictions in its position on this matter. For example, systemd maintains that the rigors that its victims have been called upon to undergo have been amply justified in the sphere of concrete achievement. That's not just a lie but is actually the exact opposite of the truth—and systemd knows it. Why is systemd deliberately turning the truth on its head like that? I apologize if my answer is perceived as ignotum per ignotius, but what I'm about to say can't be understood unless one realizes that systemd repeats the term “unconstitutionality” over and over again in every

    5. Re:Thank you. by Anonymous Coward · · Score: 0

      posted by c

      I dunno I think you might be biased

    6. Re:Thank you. by The+Evil+Atheist · · Score: 1

      Most of those land mines and hidden traps are inconsequential any way. They either stop your program from compiling, meaning you have to dig through compiler errors rather than customer logs, or they prevent the program being better optimized. They weren't end of the world scenarios and you wouldn't even really touch them unless you were in the business of writing highly portable generic libraries. In which case it matters that you understand the differences between hardware and software platforms regardless of what language you're writing in anyway.

      In any case, your problem is one of perception. If you'd written a book on all the pitfalls and land mines of the language that you prefer, you'd soon realize how many ad hoc implicit rules you've internalized. But because you've dedicated your time to using the language, soaking up all the workarounds and tricks, it feels like your language is free from pitfalls.

      --
      Those who do not learn from commit history are doomed to regress it.
    7. Re:Thank you. by PolygamousRanchKid+ · · Score: 4, Informative

      C++ was so full of land mines and other hidden traps

      I wouldn't say that "C++ was is full of land mines and other hidden traps". However, C++ enables you to bury your own land mines, and build your own hidden traps. Effective C++ taught me what stuff I need to avoid.

      In fact, a project manager tasked me with creating some programming standards for our C++ project . . . a job that nobody wanted to do. This was because all the programmers were very good, but used to programming alone, and doing things their own way. There was guaranteed to be blood, devastation, death, war and horror in this discussion. So I created a presentation based on Effective C++. When we went through all the items, there was dissension indeed, but when I fell back, and we went through the wisdom of Meyers' text, we found grudgingly agreement.

      To summarize, C++ is a very powerful language you can unwittingly write your own H-bomb with it. So it is great to have someone like Meyers to help you from nuking yourself.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    8. Re:Thank you. by Anonymous Coward · · Score: 2, Insightful

      A combination of Lisp and Ada, of course!

    9. Re:Thank you. by Greyfox · · Score: 4, Interesting
      It was pretty shit the first couple of times I looked at it in the early 90's. IIRC the first time I looked at it, the language didn't even have templates yet. I also vaguely recall the discussion about templates and thinking that it was a cool idea. The early C++ libraries were basically written in C, using most pointers and with plenty of difficulty determining who owned what resources at what times. At the time no one really knew how to do object oriented design, either. The whole design patterns discussion and RAII really started cleaning things up a few years later. Boost provides pretty good coverage of the gaps in the standard language library, though the standards committee seems to have pretty much addressed that by pulling a good chunk of boost into the standard.

      I used the language for a test data generation project a couple years ago and was quite impressed with how nice it was to work with -- easily as easy as writing a java program. I needed a math library to generate the data and considered several languages. The Eigen C++ library I found looked like it had the easiest API to get into, with reasonably clear documentation and examples. I was able to organize the functionality of the program into unit-tested libraries. Between that and the strict type checking in the compile phase, I was able to deploy with very high confidence that I wouldn't be introducing any bugs into the environment.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    10. Re:Thank you. by c · · Score: 3, Interesting

      They weren't end of the world scenarios and you wouldn't even really touch them unless you were in the business of writing highly portable generic libraries.

      ... which is the sort of thing I was doing at the time.

      Granted, at the time we were also using a mid-90's vintage of Visual C++ and trying to port to things like g++ on Linux, BeOS, MacOS, etc, so much of the issues we had were less due to "C++ the language" and more because of "C++ the implementation(s)", but Meyers' book was the icing on an increasingly unpalatable cake.

      --
      Log in or piss off.
    11. Re: Thank you. by Sid314 · · Score: 1

      I take your language of choice is BrainFuck?

    12. Re:Thank you. by The+Evil+Atheist · · Score: 1

      So what language did you end up using to write highly portable generic libraries? Did performance also matter, or was it just enough that it was somewhat easier to use?

      I would assume the code you were trying to port had a lot of legacy things and preprocessor macros everywhere.

      --
      Those who do not learn from commit history are doomed to regress it.
    13. Re:Thank you. by Anonymous Coward · · Score: 0

      you're asking the guy whose username is literally "c"?

    14. Re:Thank you. by c · · Score: 2

      1. So what do you use instead?

      Oh, I went old school. C and perl, for the most part. Nobody in their right mind would claim they're good languages, but they're frictionless in a way I never felt when I was working with C++.

      2. Did you know C++ has moved on quite a bit in the past twenty years?

      I would certainly hope so. That being said, I have absolutely zero interest in rekindling our relationship.

      --
      Log in or piss off.
    15. Re:Thank you. by c · · Score: 1

      So what language did you end up using to write highly portable generic libraries?

      Oh, I used C++. That was the job. There wasn't a lot of love, but it got done and it worked well. Then I moved on.

      --
      Log in or piss off.
    16. Re:Thank you. by mikael · · Score: 1

      I took a course on C++ back in the mid-1990's. According to the professors back then, the attitude was "Oh, don't learn STL, it's full of bugs, and they're still trying to shake them out". Guess the direction that industry went?

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    17. Re:Thank you. by MouseTheLuckyDog · · Score: 4, Informative

      Right. Like C and Perl don't have more landmines.

    18. Re:Thank you. by clockley(571021718) · · Score: 1

      Your post is simply the peevish ramblings of someone that has no idea or appreciation of what s/he's mocking.

    19. Re:Thank you. by Anonymous Coward · · Score: 1

      I agree with what you're saying, but i disagree with your ability to say it.

    20. Re:Thank you. by Anonymous Coward · · Score: 1

      A lot less of those it seems like it should be one way but C++ does it in a completely weird way. E.g. the way they finally fixed those "move" constructors... I bet 99% of C++ programmers weren't aware of the entire "copy" process that was happening when they were assigning variables.

      C and Perl seem like a pretty good combination. Do all coding in Perl, and anything that needs raw-speed do in C.

    21. Re:Thank you. by Anonymous Coward · · Score: 0

      so full of land mines and other hidden traps that I needed to walk away from it and never, ever touch that pile of crap again.

      Yeah, that's also called a type system.

    22. Re:Thank you. by swillden · · Score: 4, Insightful

      Right. Like C and Perl don't have more landmines.

      I like C++, and consider it my preferred language for most work, but it clearly has more landmines than any other major language. It's not hard to avoid them, but you do have to know where they are.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    23. Re:Thank you. by rochrist · · Score: 1

      TL;DR

    24. Re:Thank you. by The+Evil+Atheist · · Score: 2

      Only if they come from a reference semantics background. If they came from a C background, they'd be using pointers to pass by reference any way. Also a lot of C++ is copy-on-write which makes the copying cheap.

      C isn't that good for raw speed either. What you call weird about copy constructors actually makes sense if you understand value semantics rather than reference semantics. Using values can be faster than using pointers to values, and for concurrent/parallel operations it's often better to copy data then synchronizing on shared data.

      Other than that, the default copy and move constructors are more than adequate in most cases anyway, especially if people composed their types with other types that already handle their own resource management.

      --
      Those who do not learn from commit history are doomed to regress it.
    25. Re:Thank you. by The+Evil+Atheist · · Score: 1

      The professor for my degree's C++ unit said he wouldn't touch the STL at all. This was 2005. By then STL had already stabilized quite a bit

      --
      Those who do not learn from commit history are doomed to regress it.
    26. Re:Thank you. by Anonymous Coward · · Score: 0

      C and perl

      Ok, I can understand C since it has less crap and generally "simpler" (less API to learn) than C++. Generally people that hate on C but "love C++" are same people that don't understand pointers, which makes them kind of dangerous in C++ anyway.

      But Perl, well, let me just leave this here,

      https://www.youtube.com/watch?...
      or Perl Jam 2, the Camel Strikes Back

    27. Re:Thank you. by laffer1 · · Score: 1

      That's actually part of the problem. I learned C++ in 2003. At that point, it was somewhat usable but had very strange scoping rules compared to any other OO language I've seen since. Modern C++ has garbage collection, a thread abstraction and so on but at the time it had none of those things. My biggest issue with C++ is that it's so big and inconsistent. Since the STL grew up with contributions from all over the place, it's not a very consistent language. Take C# or to a lesser degree Java and look at the consistency with naming conventions, how things are structured in namespaces, etc. C++ is missing a lot of that. Rather than fix it, they just keep adding more crap on to it to keep it relevant.

      C++ has it's place, but it's not the end all language that proponents make it out to be. If someone is really into C++, it's all they will use. They can't see it's flaws or they've accepted them long ago. For the rest of us, it's a clunk language with little performance benefit over modern languages.

    28. Re:Thank you. by tlambert · · Score: 1

      I like C++, and consider it my preferred language for most work, but it clearly has more landmines than any other major language. It's not hard to avoid them, but you do have to know where they are.

      >*CLICK*<

      There's one now!

      LOL!

    29. Re:Thank you. by Anonymous Coward · · Score: 0

      ..But Perl, well, let me just leave this here,

      Not same C/Perl poster as above, I never quite get the dislike of Perl I see exhibited nowadays.

      Once replaced a buggy 300+ line (excluding libraries) C program that was seriously annoying me with a 70 line Perl program which had the same feature set, but didn't exhibit the same bug set. **
      I've not worked at that place for 14 years, but the code is still being used (well, was, as of November last).

      (** You don't want to know about the bugs it did have..it must have had some but thinking back, I never did find them, and as it was Perl, to paraphrase and expand on Mr Kulawiec 'any sufficiently advanced Perl bug becomes a new indispensable feature and any attempt to remove it renders the code unusable for any purpose (and will probably halt the universe)')

    30. Re:Thank you. by HiThere · · Score: 1

      Whether they have more landmines or not depends on what you're doing. For some purposes C is the optimal language. For some purposes C++ is a lot better. (In both cases I find a lot of the syntax abominable. D got that a lot better. But D came late to the table, and all the libraries are written for C or C++.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    31. Re:Thank you. by imac.usr · · Score: 1

      > There was guaranteed to be blood, devastation, death, war and horror in this discussion.

      And gardening?

      --
      I use Macs for work, Linux for education, and Windows for cardplaying.
    32. Re:Thank you. by Anonymous Coward · · Score: 0

      usually KGIII identifies himself when he posts as an AC

    33. Re:Thank you. by mikael · · Score: 1

      The simplest example that we were given was creating a derived class A with virtual inheritance from class B (class A : public virtual B) , then trying to create a container class C using STL vector (class C : public A), then adding and deleting items from a instance of class C. No end of chaos as the run-time environment tries to manage partially deleted objects. In the real-world, there could dozens of inherited classes between B and A. It would be more logical to use smart pointers in this case, but that's the sort of mess that can happen with just a single keyword placed somewhere.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    34. Re:Thank you. by Anonymous Coward · · Score: 0

      No, I would say that pure C is completely free from landmines.
      The problems come when you start to use the preprocessor and redefine things.
      It is a bit unfortunate that ISO-C allows the standard library to have preprocessor macros in includes.

      Anyway, if you stay clear from "abstracting" away things with macros then the code might be more verbose but very readable.

    35. Re:Thank you. by Anonymous Coward · · Score: 0

      If you are talking about the weirdness of the copy constructors, I'd say you're kidding. Or have never touched and dealt with C structs. The copy process you're referring to is one of the first things you will learn as you start dealing with objects.

    36. Re:Thank you. by Rutulian · · Score: 1

      But Perl, well, let me just leave this here,

      https://www.youtube.com/watch?... [youtube.com]
      or Perl Jam 2, the Camel Strikes Back

      You're kidding right? That presentation is based entirely on developers not sanitizing user input, from the Internet no less, which will of course lead to vulnerabilities. I don't buy that it is an inherent weakness of the language. If you blindly submit SQL queries passed around as variables, you deserve what you get. That is just really bad programming in any language. Did they do a PHP jam?

    37. Re:Thank you. by Anonymous Coward · · Score: 0

      > No, I would say that pure C is completely free from landmines.

      Oh, it has plenty but remember that C was designed for experienced programmers, not for beginners.

      Kind of reminds me of the Hole Hawg versus your typical consumer power drill.

    38. Re:Thank you. by Anonymous Coward · · Score: 0

      Good weapons are required to defeat an enemy, and good weapons are always more dangerous than pillows...

    39. Re:Thank you. by Anonymous Coward · · Score: 0

      Real world good code do not have dozens of hierarquical levels between any 2 classes. If your system has, then it surelly has design problems.

    40. Re:Thank you. by J.+J.+Ramsey · · Score: 1

      Bear in mind that one generally isn't supposed to publically inherit from STL classes such as vector, since they don't have virtual destructors. Generally speaking, with C++, it's better to use composition to reuse functionality (e.g. making an STL vector a data member of a class) and to use inheritance to implement run-time polymorphism.

    41. Re:Thank you. by erapert · · Score: 1

      Maybe I like C++ because I don't have to manually implement vtables and linked lists. (not that I ever use linked lists if I can help it...)
      Maybe I like being able to overload functions and do some generic programming.
      Maybe I like the features that came out with C++11.

  6. C++ and FreeBSD by Anonymous Coward · · Score: 0

    Are for all the fan.

  7. own worst enemy awards coming in by Anonymous Coward · · Score: 0

    video.. https://www.youtube.com/watch?v=s_HsFqLU2bU

  8. Probably ready for the funny farm after all that by Anonymous Coward · · Score: 0

    And for what? To sell a few books on CD? In 2016 there is no way to do that anymore. He needed to take the show on the road. Perform EVERY NIGHT, baby, not one or two shows a year. So he calls it quits. Piracy brings down another in a ball of flames.

  9. Rust is the successor to C++. by Anonymous Coward · · Score: 0, Interesting

    Instead of C++17 you should use the Rust programming language. It is the successor to C++, and is an improvement in every way.

    If you don't know what Rust is, let me refer you to what Rust's home page says: "Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety." It has guaranteed memory safety and threads without data races.

    Rust is what C++ should have been. Rust is all about safety, while still keeping the programmer totally in control and the generated binaries fast.

    Rust is clearly the future. It's being developed by masters of the trade like Yehuda Katz, Steve Klabnik and Patrick Walton. These fine men are visionaries and many years ahead of the rest of the industry. We need to follow their valiant lead today. We need to use Rust for all new projects, and start porting all existing software to it immediately.

    Let's put an end to software security problems. Let's put an end to software bugs. Let's use Rust.

    1. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 0

      Rust is so 2015.

    2. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 2, Funny

      Let's cobble together a newfangled language with a hip new syntax every few years. Yeah, that'll be great for the industry.

    3. Re:Rust is the successor to C++. by Anonymous Coward · · Score: 0

      I believe Rust is still sponsored by Mozilla. Is there any evidence that this is hindering its acceptance?

      I'm not trying to start anything... That's why I asked about evidence...

      I think Rust will grow in usage regardless but I wonder if perhaps it would gain acceptance faster if it were sponsored by somebody else...

    4. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 0

      Even better, just keep the language but change the syntax for things like for loops with container classes.

      for ( it = targetlist.begin(); it != targetlist.end(); ++it )
              (*it)->dosomething();

      or

      for (idx = 0; idx targetlist.size(); ++idx )
          targetlist[idx].dosomething();

      replaced with

      for ( auto it : targetlist )
                      it.dosomething();

    5. Re: Rust is the successor to C++. by Fragnet · · Score: 1

      Replaced? No. All 3 are valid.

    6. Re:Rust is the successor to C++. by Anonymous Coward · · Score: 0

      It's a successor to C++ at least in the terms of future Mozilla code base. The rest is up to users. C++ is already getting its part of memory and type safety with zero or minimal cost in the form of a combined user education, library and tools project.

    7. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 0

      the only reason they graft this onto their craptastic stuff is competitive pressure from rust and swift.

      imagine what we could have if the algol tradition had been continued without the govs telefone company infecting the world.

    8. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 0

      who says Rust is the successor of C++? Here's a hint: some guys saying so doesn't make it so. When the C++ committee writes a document officially deprecating C++ in favour of Rust, THEN you can claim that Rust is the successor.

      From where
        I'm standing, I've go to tell you though, that Rust is just one of a long list of contenders who want to be the new C++ but have not a lot of years of real world usage under their belts. I'll consider Rust if it proves itself to be worthy in the next five years. For now, not so much.

    9. Re:Rust is the successor to C++. by HiThere · · Score: 1

      Rust has some nice features, but somebody needs to write some decent documentation for it if it's ever going to be popular.

      OTOH, considering that it's just reached 1.0 it may not be doing to badly. But *SOME* languages have decent documentation early, and others never seem to get it. Examples of good documentation are Python, D, and Ruby. Original Pascal had decent documentation, but it doesn't cover the modern dialect, which has lousy documentation. Lisp documentation is OK, but nothing great. Smalltalk has reasonably good documentation, considering. Ada has excellent documentation, also considering. (Note that documentation doesn't make up for basic problems with the language, but seems to be necessary for adoption...reasonably.) FWIW, I don't really know about current Perl, but I didn't like what I saw of Perl5 documentation. This wasn't much as I didn't like the language.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    10. Re: Rust is the successor to C++. by Anonymous Coward · · Score: 0

      Perl 5 has outstanding documentation. You'd have to be a complete moron to miss it. -PCP

  10. Another shameless profit-monger... by andrewa · · Score: 3, Funny

    Scott was one of the many greedy people to profit from Stroustrup's clever industry cons! Read this revealing leaked interview (Invention of C++) from 1998 and learn the truth!

    Sarcasm mode off...
    Thanks Scott! You will be missed!

    --
    :(){ :|:& };:
    1. Re:Another shameless profit-monger... by Anonymous Coward · · Score: 0

      What with the UFO and moon-landing conspiracies there, it makes one wonder. Are there UFOs WITH aliens, stealing our women? Is Capricorn One a documentary? Will we ever get to the bottom?

    2. Re:Another shameless profit-monger... by tepples · · Score: 1

      Are there UFOs WITH aliens

      If so, big whoop. If a helicopter is being flown in the U.S. by Canadians, and you can't tell what model it is, it's a "UFO with aliens".

    3. Re:Another shameless profit-monger... by Anonymous Coward · · Score: 0

      What with the UFO and moon-landing conspiracies there, it makes one wonder. Are there UFOs WITH aliens, stealing our women? Is Capricorn One a documentary? Will we ever get to the bottom?

      The Aliens in the UFO's are the ones pushing the Moon Landing conspiracy theories. Wake up man!

    4. Re:Another shameless profit-monger... by Uecker · · Score: 1

      Scott openly admits that he has profited from the unnecessary complexity of C++. See his D-lang conference talk.

    5. Re:Another shameless profit-monger... by andrewa · · Score: 1

      whoosh...

      --
      :(){ :|:& };:
    6. Re:Another shameless profit-monger... by Uecker · · Score: 1

      no woosh. I know the interview is fake. But it is true that the language is a mess and that Scott profited from that.

  11. Not that my comment is relevant by Anonymous Coward · · Score: 0

    but I have to say that is one glorious hair-helmet he's sporting. Envious!

  12. I Will Miss the Bad Haircut by Anonymous Coward · · Score: 0

    Thanks for all the books, Scott.

  13. Self-defeating name: Rust by Futurepower(R) · · Score: 1, Offtopic

    Programmers often choose self-defeating names. Imagine going to a top manager and saying you want to program a product in Rust.

    GIMP means "a derrogatory term for someone that is disabled or has a medicial problem that results in physical impairment".

    GNU.

    LaTeX is written in both English and Greek letters.

    There is nothing "regular" about Regular Expressions.

    NetLoony Apache Server GUI and Tools. Looney is someone who is "Extremely foolish or silly".

    pGina is not VaGina.

    Would your boss take Bouncy Castle cryptography seriously. Or would he think it's for children?

    1. Re:Self-defeating name: Rust by Anonymous Coward · · Score: 0

      ..GIMP means "a derrogatory term for someone that is disabled or has a medicial problem that results in physical impairment".

      Here, the sexual fetishist meaning of the word is more prevalent, and I do so delight in firing GIMP up to demonstrate how we process images prior to output to our laserengraver machines when we've got VIP visitors...

      ..There is nothing "regular" about Regular Expressions.

      there is another meaning (think: are you regular..)

      ..Would your boss take Bouncy Castle cryptography seriously. Or would he think it's for children?

      Eh?, what, you mean the same boss who wants to foist Win10 (aka Windows for Droolies) on us?
      (he still thinks I've installed an older version of windows on my works box in defiance of the Win7 edict, thanks to my use of the windows classic theme...)

    2. Re:Self-defeating name: Rust by Anonymous Coward · · Score: 0

      I never made the connection between pGina and VaGina, probably because I just thought pGina was p + GINA, and Gina is a women's name in English.

      I see your point in general, but I doubt it matters with pGina. I know pGina is still used in academia where one still sees Linux on the desktop, but I would think most organizations that would otherwise have had a use for pGina have probably gone the ActiveDirectory route. In fact, I expect my own university to eventually go that route in its entirety (for the desktop) and have Linux users authenticate over AD.

      The biggest concern about pGina is that the last stable release was in 2013 and the last unstable release was in 2014. Don't get me wrong... it's a useful piece of software. I just think the name is not what's working against it.

      I would consider contributing to pGina but all of my use and testing of it would be work-related, and although I work at a university, I'm in a non-academic role so all of my work done on employer time and with employer resources is owned by my employer. And I would not be successful in getting the university to agreeing to release my contributions back to the community. At best, it would be rejected outright. At worst, after an extended period of time and metaphorically pulling teeth, it would eventually be rejected.

      In defence of my employer, I believe the reasons would be liability-related. It's a not a rich university and we live in litigious times.

    3. Re: Self-defeating name: Rust by bill_mcgonigle · · Score: 2

      Your boss is an idiot. Do what you please, but your talents are probably undervalued where you are.

      In fact, I propose even more infantile project names to put the morons at a further economic disadvantage.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      Your boss is an idiot. Do what you please, but your talents are probably undervalued where you are.

      Not the same poster, but was once in the same position (though the University wasn't so poor, and had expensive attack lawyers aplenty...)

      As part of my job, I took the code for several open source projects we regularly used apart, and spent months optimizing/bug fixing and texting the bejeezus out of them. I was not allowed to give the fixed code I'd done back to the original projects, I'd discussed this with my immediate manager, but was nixed there and then.

      Non-academic IT staff employed by Universities normally have no (or, if you're lucky, very little) IP rights to code they do 'on the job', unlike the poster above, I always put it down to snobbery rather than any attempt to limit liability ( i.e. how dare a hired minion have ideas )

    5. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      ..texting the bejeezus out of them

      s/texting/testing/g

      Rum...it improves keyboaarrrd skills.

    6. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      rust has been named as it has been naned, because the ideological forerunner (so to speak) has been created in wuerttemberg. the sample code of the forerunner contained lots of automotive examples. cars, trucks and other road machines.
      which is kind of o.k. if you consider that cars have been invented in the kingdom of wuerttemberg.

      so the naming can be very nicely explained. your black propaganda is futile.

    7. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      having said all that, rust and swift are simply retracing the spirit of fortran, algol, pascal and ada. c is an effing regression which was foisted on applied computer science. no array bounds checks, no defined way to detect integer under and overflows.

      c and c++ threw computers back into the time before fortran.

      the government hates secure computers, thats why they created this shite.

    8. Re:Self-defeating name: Rust by cstacy · · Score: 1

      You forgot Lisp!

    9. Re:Self-defeating name: Rust by Anonymous Coward · · Score: 0

      > There is nothing "regular" about Regular Expressions.

      Yes, there is.

      regular
      "4a : constituted, conducted, scheduled, or done in conformity with established or prescribed usages, rules, or discipline"

    10. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      the government hates secure computers, thats why they created this shite.

      I don't know if this is a troll or not, but I'll reply.

      According to wikipedia...

      Ada was created by a private sector contractor under contract by the US government.

      Algol was a collaboration that happened in an academic environment.

      Pascal was created by an academic.

      FORTRAN, C and C++ came from the private sector, not the government.

      Except for Ada, none of these were created by the government, and the two languages you're criticizing are from the private sector.

      In addition, the government isn't forcing anybody to use C or C++.

      FORTRAN continues to have ISO standardization and is still used, at least in academia.

      Also, Modula-2 was a perfectly acceptable post-Pascal and post-FORTRAN77 alternative to C. It had two ISO standards (1996 and 1998) and before ISO standardization, there was a single stream of de facto standards. Before Java gained traction, Modula-2 was also one of the post-Pascal programming languages of choice for intro CS courses in programming for those profs who refused to use C. Modula-2 was also designed in response to the increasing trend of large software projects found outside of academia.

      There are and were alternatives to C and C++ that people and businesses chose not to use.

    11. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      And also, the design goals of C were quite different than many of the other languages you mentioned.

      C was designed and implemented at a time when computers were really slow and it was meant to be portable and to be compilable on everything from embedded to the largest mainframes. And embedded back in those days certainly did not include 8-core 1GHz CPUs.

      It was meant to be simple to compile.

      It was also intended to be lower level than some of the other languages you mentioned. C was intended to replace assembly more than it was meant to replace everything else.

      And even in this domain, there were alternatives, e.g. Forth.

      If you look at vendor-independent computer magazines from the 1980s, you'll see all sorts of ads for compilers for different languages, incl. FORTRAN, Pascal, Forth, etc. There were many options. People chose C.

      I don't know how somebody could blame that on the government.

    12. Re: Self-defeating name: Rust by KGIII · · Score: 1

      Rum is like force, it fixes everything. If you've tried either and still found that it is not working then you need to apply more of it.

      I kind of miss drinking. Oh well... I did have a couple for the Christmas holiday (two and only two but they were mostly rum with a splash of coke) and I'll be responsible for others and making things go as high was ~650 feet and going boom tomorrow night (which is when the NYE fest is) so it wouldn't be a good idea to drink tomorrow.

      That's unfortunate because things that go boom and alcohol are two things that go naturally hand-in-hand. They're so belonging together that we have a whole government agency called the BATFE. To paraphrase another's /.er's signature; The BATFE should be the name of a retail outlet. This being America, and my being in Florida, I'll even go so far as to suggest that it shouldn't just be a store but it should be a store with a convenient drive-thru window.

      --
      "So long and thanks for all the fish."
    13. Re:Self-defeating name: Rust by Anonymous Coward · · Score: 0

      If you can spin up an instance of the OS running on a VM, then you could say you were spinning rust.

    14. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      Cars is a bad place to look if you want professional names.

      Anyone who speaks more than one language will be able to tell you about car models that have inappropriate names.
      For example Honda Fitta had already been used in commercials when they suddenly changed name to Honda Fit. In Europe they changed the name completely to Honda Jazz.
      Turned out that fitta means cunt in Swedish.

      The tradition to keep four letter words short (3-5 letters) is a tradition that exists in all languages.
      If you want short catchy names for your product you will end up using words that are inappropriate in some language.

    15. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      C was designed and implemented at a time when computers were really slow and it was meant to be portable and to be compilable on everything from embedded to the largest mainframes.

      No, it wasn't.

      C was not designed to be portable. Its inventors admitted that they didn't foresee its use on other architectures than the PDP-11 for many years.

    16. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      C was designed and implemented at a time when computers were really slow and it was meant to be portable and to be compilable on everything from embedded to the largest mainframes.

      No, it wasn't.

      C was not designed to be portable. Its inventors admitted that they didn't foresee its use on other architectures than the PDP-11 for many years.

      Perhaps you mean that Unix was not designed to portable.

      It is a common misconception that Unix was written in C. It was written in PDP assembly language. It was *re-written* in C when Unix needed to be ported (in 1972).

      Quite clearly, C was in fact written to be portable. It was as a "portable assembler" that it gained its success.

    17. Re: Self-defeating name: Rust by Anonymous Coward · · Score: 0

      > Perhaps you mean that Unix was not designed to portable.

      Nope, I mean C.

      Dennis Ritchie wrote:
      "...we regretted losing the advantages of writing programs in a language above the level of assembler, such as ease of writing and clarity of understanding. At the time we did not put much weight on portability; interest in this arose later."

    18. Re:Self-defeating name: Rust by david_thornley · · Score: 2

      It's a bit late to jump in, but...

      Regular Expressions are defined as part of the Chomsky hierarchy of languages and grammar: the lowest level, the ones that can be recognized by a finite state machine. This means that they recognize sequential characters, choices between characters, and indefinite repetition, with grouping allowed. In Perl, they can be represented with ordinary characters with [] for character classes, () for grouping, | for alternation, and * for indefinite repetition.

      On this theoretical basis, people started adding extras to them, making them much more powerful than regular expressions, but they still called them that.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  14. books like meyers are c++'s problem by Anonymous Coward · · Score: 0

    The fact that C++ needs books like Meyers' to explain its arcane, weird nature is the problem with C++. Meyers and others like him should not be necessary. Their efforts to explain C++ point to its deepest problem - it doesn't map well to the human mind.

    1. Re:books like meyers are c++'s problem by OhPlz · · Score: 1

      He's probably bowing out at a good time. I just got his "Effective Modern C++" book and while I haven't read it yet, scanning the contents it looks to be more of an introduction to what's new rather than an analysis of a list of gotchas like his earlier C++ and STL books. C++ has made some impressive leaps forward. He may have been in danger of running out of material if he stayed in it.

  15. I encourage everybody to... by Anonymous Coward · · Score: 0

    ...retire from involvement with C++.
    C++ is just a pile of junk, the faster it dies away, the better.

  16. Free by The+Evil+Atheist · · Score: 4, Interesting

    Basically there's a lot of free talks on Youtube these days that give better advice for people who actually write code. Scott Meyers is great and all, but he admits that he doesn't actually write code. These days I look to people like Alex Stepanov and Sean Parent. I think Sean Parent's talk on rotate and partition alone is a more effective way to think about C++ than that whole business about OO.

    --
    Those who do not learn from commit history are doomed to regress it.
    1. Re:Free by Anonymous Coward · · Score: 0

      I am so sick of the video learning trend of the past few years. Sure, some youtube presenters are actually decent, to-the-point, clear, and fast, but most of the time it's like pulling teeth to get information out of a youtube video.

      Sure, most blogs are a damn sight worse than even one of the lamest youtube vids, but a well-done blog can pack more information in 5 minutes than six different 30-minute youtube videos.

    2. Re:Free by The+Evil+Atheist · · Score: 1

      The point is that they're not reference materials. If you want information, go to the reference. If you want to understand, you do the learning.

      --
      Those who do not learn from commit history are doomed to regress it.
    3. Re:Free by dcollins117 · · Score: 4, Informative

      Posting the link to Parent's talk so the truly interested don't have to search for it (like I did). Hopefully this is the one you were talking about.

      https://www.youtube.com/watch?v=qH6sSOr-yk8

    4. Re:Free by hmckee · · Score: 1

      So true. While the video by Parent is very good (I'm glad I watched it), the problem with videos is that they fail to address the differences in learning preferences. Some people learn better with videos while others prefer reading. Videos also limit everyone to the same speed and concentration thresholds. Reading allows you to concentrate and comprehend at your own level and speed.

      PS: Is the D1 discussion setting broken? I had to switch to D2, reload, change my discussion settings before allowed to post with my username. WTF!?

  17. Re:Goodbye by Anonymous Coward · · Score: 0

    But you missed the apostrophe in won't.

  18. I wish you well Scott by Anonymous Coward · · Score: 1

    I wish you well Scott. Your books made me a much better programmer than my peers.

  19. Adcom vs. Nakamichi by Anonymous Coward · · Score: 0

    There were two schools of thought about high-end stereo amplifiers in the 20th century.

    Nakamichi was a fairly typical "Japanese Engineer's Wet Dream," with control of just about every facet of audio processing you could imagine, while Adcom had a switch. If you were lucky, it had a knob, as well. Basically, Apple, vs. Linux.

    Adcom is still around in its original form. Their amps are still pretty damn simple. Not sure if Nakamichi is. The brand is applied to car audio, these days.

    Which was "better"?

    As a young, hardware-driver-low-level-kernel-hacker engineer, Nakamichi was my choice. I liked assembly, machine language, C and C++.

    As a rather older, grayer, heavier engineer, more interested in creating a great user experience, I think I'd go with Adcom. I'm more of a Swift/ObjC/Java guy, these days.

    So maybe C++ is a young man's game?

  20. Re:Goodbye by rochrist · · Score: 1

    Ah, slashdot, never change!

  21. Violins and snowflakes by frrrp · · Score: 1

    This is an endless drone. I wonder how many women out there have ever had their genitals smeared with engine grease and drill shavings - something way to many boys did in apprenticeships. They all refused to curl into foetal positions and cry for nanny to save them and generally got over it and progressed to be something in their fields. This is the bubble wrap child generation reaching their mutated version of "maturity" - and expecting the same coddling as when they were in "everyone is a winner" school. I feel more nauseous each time another one of these #SJW articles barfs itself all over my screen. Heat and kitchens etc.

    --
    smilies are for reetards
  22. 25 years by thisisauniqueid · · Score: 1

    The unfortunate part of all this is that C++ takes 25 years to fully explain to everybody (while it continues to evolve, slapping band aid on top of band aid).

    1. Re:25 years by mikael · · Score: 1

      I think that is happening to every language environment. Web page design started with HTML, but now there are CSS style sheets, PHP for getting server processes to run, JavaScript, AJAX, JQuery, Java, WebGL. You don't just learn C on it's own, that has to go with some hardware environment.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  23. The two best books are A. by hoggoth · · Score: 1

    "Effective C++, regarded by many as one of the top two books"

    Ah Slashdot. How can you write THE TWO BEST THINGS ARE 'A' and not follow that up? And not one comment mentions it either.
    Is this something everybody knows? Or will this start an argument?

    What is the other top book on C++?

    --
    - For the complete works of Shakespeare: cat /dev/random (may take some time)
    1. Re:The two best books are A. by Anonymous Coward · · Score: 0

      "Effective C++, regarded by many as one of the top two books"

      Ah Slashdot. How can you write THE TWO BEST THINGS ARE 'A' and not follow that up? And not one comment mentions it either. Is this something everybody knows? Or will this start an argument?

      What is the other top book on C++?

      "More Effective C++", by Scott Meyers.

    2. Re:The two best books are A. by Anonymous Coward · · Score: 0

      > What is the other top book on C++?

      C++: The Good Parts