Thread: Visit from Bjarne Stroustroup

  1. #1
    Registered User Tonto's Avatar
    Join Date
    Jun 2005
    Location
    New York
    Posts
    1,465

    Visit from Bjarne Stroustroup

    My school as a part of a distinguished lecture series presentation had bjarne stroustroup come to speak about c++0x. I've been largely aloof from programming but I was really excited for this. He came and talked to us about the new features and the bureaucracy of the commitee. It was definitely inspiring.

    I love the new features -- auto types and concepts are impressive to me, and I know even on this board I've talked about variadic templates and local template arguments before I knew of the planned improvements..I'm hyped on the new features. What do you guys think of the new deal?

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Myself, I cannot wait for C++0x!
    It features so many new wonderful features.
    I can only hope someone implements them soon.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #3
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Forgive me, but I personally don't use templates very much, or really at all. I would be much more impressed with the addition of other features such as auto-expanded type support. The specification already defines 128 bit integers and floats, yet most compilers dont support them. It would be realatively trivial to support the automatic generation of code to support these larger types through software at least until they are supprted by hardware. For example, if I declared float128, the compiler should automatically generate code to handle a 128 bit float. But it should also handle float1024, float65536 etc. through the same feature. There is already hardware that supports 128 bit floating point (GPU's). This woudl ensure support for new hardware capabilities as they become available. This is of course something that would only benefit a small segment of the programming population, but then again, templates also only benefit a small segment of the population.

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by abachler View Post
    ...but then again, templates also only benefit a small segment of the population.
    Forgive me, but I find templates pretty much everywhere and very, very convenient. I think it is one of the most important features of C++.
    Although, I would not mind standardized types that are of exact sizes such as int64, etc, and 128-bit types would not hurt either.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #5
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Elysia
    Forgive me, but I find templates pretty much everywhere and very, very convenient. I think it is one of the most important features of C++.
    Yes, but abachler does have a point in that advanced template programmers are a minority, even though their work benefits the majority.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #6
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Oh. Well, templates is one of the features I heavily depend upon, so improvements there are very welcomed by me.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #7
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    >> Although, I would not mind standardized types that are of exact sizes such as int64,
    Well we get some of that in C++0x or so I've heard. stdint will finally be supported for C++ by the standard. As far as 128 bit floats, I don't think there is a problem in doing it so much as the standard nor its implementers should make an assumption on the part of the programmer. For example, you could dedicate sign bits, 62 bits to an exponent and the rest to the mantissa, but the programmer might want a longer mantissa (greater precision). Even if the standard didn't mandate the particulars (range requirements) I don't think it solves many problems that could arise in implementation of automatic type expansion.

  8. #8
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Quote Originally Posted by abachler View Post
    but then again, templates also only benefit a small segment of the population.
    Wrong. For example, you could use templates to implement
    Code:
    template<int bits>
    class floating {... };
    and, with good specializations and good underlying libraries, get exactly what you're proposing.

    Code:
    floating<32> f32; // Maps to float
    floating<64> f64; // Maps to double
    floating<80> f80; // Maps to 80-bit long double, if available, or perhaps a truncating 128-bit long double
    floating<128> f128; // Maps to 128-bit long double, if available, or perhaps SSE intrinsics
    floating<1024> f1024; // Software emulation
    Of course, you could also have
    Code:
    template <int mantissa_bits, int exponent_bits, bool denormals, bool signaling> class floating;
    But of course you need very special hardware if you don't want most of these to be emulated.

    Yes, it's work. But the great thing about templates is that it makes this stuff possible.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  9. #9
    Registered User
    Join Date
    Nov 2006
    Posts
    519
    Quote Originally Posted by CornedBee View Post
    Wrong. For example, you could use templates to implement
    Code:
    template<int bits>
    class floating {... };
    Does that have any other advantages against
    Code:
    class floating(int bits){...};
    but the one what it saves the floating-ctor from selecting the needed implementation?

  10. #10
    Hail to the king, baby. Akkernight's Avatar
    Join Date
    Oct 2008
    Location
    Faroe Islands
    Posts
    717
    Is a new C coming? :O
    Is it then wise to learn C++, now that I'm at such a low stage, or should I wait for C++0x?
    Currently research OpenGL

  11. #11
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Quote Originally Posted by Akkernight View Post
    Is a new C coming? :O
    Is it then wise to learn C++, now that I'm at such a low stage, or should I wait for C++0x?
    I wouldn't switch to a language that has been available for less than 5 years. I have a strange feeling this language will not be widely used in the near future. I think it will share the destiny with A++, B++, D++, E++ etc.
    "The Internet treats censorship as damage and routes around it." - John Gilmore

  12. #12
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    Furthermore - you've always got the universal response for any question on which language to learn:

    The concepts are the same - learn to program well in one language, and you will be more prepared to program well in another language. I would keep learning C++ now and make the decision to learn C++0x later.

  13. #13
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by pheres View Post
    Does that have any other advantages against
    Code:
    class floating(int bits){...};
    but the one what it saves the floating-ctor from selecting the needed implementation?
    Yes.
    1) It's a compile-time constant.
    2) It doesn't use memory.
    3) It doesn't take cpu time to copy and fetch.

    Quote Originally Posted by Akkernight View Post
    Is a new C coming? :O
    Is it then wise to learn C++, now that I'm at such a low stage, or should I wait for C++0x?
    No need to wait for C++0x. It adds new features to the C++ language, so you still need the base. Go forth and master that which already is!

    Quote Originally Posted by maxorator View Post
    I wouldn't switch to a language that has been available for less than 5 years. I have a strange feeling this language will not be widely used in the near future. I think it will share the destiny with A++, B++, D++, E++ etc.
    You think that C++ will fall into obscurity?
    Last edited by Elysia; 11-10-2008 at 10:39 AM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  14. #14
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by Elysia View Post
    Forgive me, but I find templates pretty much everywhere and very, very convenient. I think it is one of the most important features of C++.
    I also don't hardley use templates, it's just that everytime I need to use them there's always another way of doing it. Far from the most important feature.

    Quote Originally Posted by maxorator View Post
    I wouldn't switch to a language that has been available for less than 5 years. I have a strange feeling this language will not be widely used in the near future. I think it will share the destiny with A++, B++, D++, E++ etc.
    It's too early to say, I mean, how many C programmers do you think said the same thing about C++ when it first came out?

  15. #15
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    C++0x is not a new language. It's just an evolution of C++03.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. FunctionType visit and binary search trees
    By MRAB54 in forum C++ Programming
    Replies: 1
    Last Post: 05-11-2004, 05:20 AM
  2. Request for comments
    By Prelude in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 01-02-2004, 10:33 AM
  3. Interview with Bjarne Stroustrup "C++ a joke"
    By novacain in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 03-31-2003, 11:55 PM
  4. Bjarne Stoustrup
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 8
    Last Post: 09-05-2002, 06:22 PM