Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

C++ Discussion with Bjarne Stroustrup

Name: Anonymous 2009-12-10 10:13

Hi!

Bjarne Stroustrup was here at CERN last week. He gave a public presentation on the design of C++0x. We also invited him for a technical discussion of the issues we run into with C++, with a restricted audience. In this edition I'll give a summary of the latter: an intense, fruitful meeting with lots of interesting insights - as Bjarne Stroustrup claims on both sides :-)

It was a real pleasure to talk to Bjarne Stroustrup: even though (I'd say) he is one of the most influential persons in modern high performance computing he is very approachable; he listens to mere earthlings like us; he gives answers that are amazingly well thought though; and he even dares to state that he cannot give an answer or come up with an opinion when he has not enough experience on a topic.

I believe the biggest impact he had here at CERN was to encourage us to get involved: to contact our national representatives, to tell them what we want, and to think about sending a CERN representative to the C++ committee. And to not assume that our ideas and solutions are bogus just because we're not C++ specialists: he gave us the impression that many of our ideas make a lot of sense, enough sense to be suggested and discussed in the committee. But that it will be our job to make that happen. I would have never expected his visit to be so motivating and informative!

Back to our meetings: the public presentation was recorded, you can see the slides and hear his comments. He is one of those speakers where the slides only make up a tiny part of his presentation, so make sure to actually listen to him! Especially when you encounter Mars...

We came up with a list of topics to discuss in the technical meeting, which was converted into a set of four tiny presentations. I will post them on the indico page once I have write access to it :-) Bjarne Stroustrup requested that the presentations are cleared from HEP jargon so he can send them to the C++ committee. We might thus change them slightly in the near future.

The meeting was only advertised to a restricted audience, to not flood the room. A fair amount of people were interested, and as a matter of fact they were very interested: Bjarne Stroustrup seems to combine all the lack of luck into one day a year, and that was that day, resulting in a delay of about 45 minutes... For any other meeting I have been to people would have left, protested loudly, canceled the project, whatever - but here the audience was actually steadily growing! We also broadcast the discussion on EVO where a few people joined in and listened. Alas, no recording of the discussion exists, so I decided to summarize it here.

We got most feedback on the items memory management, threading, symbols, and reflection. Well OK, so basically on all items we wanted to discuss :-) I'll go through them one by one:
Memory Management

Rene Brun brought up the question of how to implement arenas (aka pools in the FORTRAN times) in C++. Ideally one would have a memory arena that stays for the whole process (e.g. magnetic field etc), and one that contains the event data and that gets flushed after every event, without worrying about leaks or destructors.

The major difference between C++ and FORTRAN and also the major problem is C++'s support of pointers: an object can be allocated in the proper arena (e.g. using new with placement), but how do you tell the object to put whatever it allocated into the same arena?

C++ 0x offers scoped allocators which can help. One can pass such an allocator around, allowing to create an object and all its owned objects (I assume that's what the scoped stands for) to be allocated in a certain way, e.g. in a certain arena. No need for templates, but the sub-objects must be smart enough to actually make use the allocator, i.e. it only works for hand-crafted classes. Which should be fine for the experiments' EDM.

The remaining issue is how to reduce the memory fragmentation for long-lasting arenas where parts get deleted and holes are created: to move pointers around one would need another level of indirection. Bjarne Stroustrup told us that there is a development towards "pointers' values are not memory addresses", i.e. an abstraction in the runtime or the OS, allowing a memory page to be moved if there is a free page between two allocated ones, and thus reducing the fragmentation.

Another way of C++ 0x to help with memory management is its optional garbage collection. Well, would have been garbage collection. A few strong voices lobbied so much against garbage collection that in the end only a garbage collection ABI will be part of the (current snapshot of the) standard; the actual implementation can be provided by libraries or the compilers, but there is no guaranteed, standard implementation.

I hope to be welcome you again for the next edition, where I will give the summary of the other points we discussed: threading, symbols, and reflection.

Cheers,
Axel

Name: Anonymous 2009-12-10 11:17

So, still pathetic, then.

Name: Anonymous 2009-12-10 13:30

Bjarne Stroustrup
one of the most influential persons in modern high performance computing
( ≖‿≖)

Name: Anonymous 2009-12-10 14:01

So how do you pronounce C++0x?

I'm going with either Cox or Seplox (or maybe "C, plox.")

Name: Anonymous 2009-12-10 14:47

>>3
Riddle me this, riddle me that, in what language is most commercial software nowadays written in?

Name: Anonymous 2009-12-10 14:48

>>1
Did you ask if he had considered using an s-expression based syntax for C++0x?

Name: Anonymous 2009-12-10 14:52

>>4
Sepplesox

Name: Anonymous 2009-12-10 14:55

>>5
Commercial software nowadays != high performance computing != is perhaps not the correct symbol, what is the math symbol for `not necessarily equal to'?

Name: Anonymous 2009-12-10 15:03

>>8
For this post the following abbreviations are used:

- Commercial software nowadays: CSN
- High performance computing: HPC

The answer to your question is

CSN==HPC || CSN!=HPC

Name: Anonymous 2009-12-10 15:06

>>8
"Not necessarily equal to?"  How specific.  I don't think there's a single symbol for that kind of association.

Name: Anonymous 2009-12-10 15:09

>>9
That is always true
>>10
Perhaps I should ask on the Enterprise Math Websight ``MathOverflow''

Name: Anonymous 2009-12-10 15:09

>>10
Back to modal logic class, please!

Name: Anonymous 2009-12-10 15:29

The closest think I can find in my character map is ≟, so perhaps !≟ will do.

CSN !≟ HPC

Name: Anonymous 2009-12-10 15:42

>>7
I though it was spelt Sepplesocks

Name: Anonymous 2009-12-10 16:23

>>14
Sepplehax

Name: Anonymous 2009-12-10 16:34

According to Bjarne It's pronounced ''SEE PLUS PLUS OH ECKS''

Name: Anonymous 2009-12-10 17:41

>>1
Happen to have links to the talk?

Name: Anonymous 2009-12-10 18:31

>>17
Oh help me I am not good with computar.
No. What the fuck. Go look for it you lazy bitch.

Name: Anonymous 2009-12-10 21:59

>>18
No thanks. I don't care that much for a cup of morning Bjarne.

Name: Anonymous 2009-12-11 3:31

>>18
So >>1 is pasta, eh.

Name: Anonymous 2009-12-11 12:20

shitting on a c++ thread: priceless

Name: Anonymous 2009-12-11 12:26



    _ _ _ _ _ _ __ _..._ ALL YOU FUCKING /prog/ USERS
    _ _ _ _ _ _ .-' . . '-. THIS FUCKING PENISBIRD SHITS
    _ _ _ _ _ _/. . ._ . ._\ DOWN YOUR NECK INTO YOUR STOMACH
    _ _ _ _ _ /. . .(o) ./__) WHERE THE SHIT BURNS FOR THE REST OF
    _ _ _ __ /. . .,_ . .| '| YOUR SHORT AND PATHETIC LIFE
    _ _ _ _ |. . ./ .\ . /_/
    _ _ _ _ /. . .`"`" . .} IT THEN GRIPS ONTO YOUR COCK WITH ALL ITS MIGHT
    _ _ __ /. . . . . . . { AND INJECTS VARIOUS MUTAGENS INTO YOUR BLOODSTREAM THROUGH
    _ _ _ /. . . . . . . .} ITS RAZOR-SHARP CLAWS WHERE IT REACTS WITH YOUR
    _ __ /. . . . .\/\ /\ { VAST RESERVES OF FAT AND BLUBBER
    _ _ |. . . . . .;``"``\
    __ /. . . . . . / ; ; ;| NOBODY IS SAFE FROM THE PENISBIRD, AND IT
    _ |. . . . . . / ; ; ; | FUCKING HATES ALL /prog/ USERS
    _ \ . . . ._.-`|; ; ; ;|
    _ /`-..--`` a a| ; ; ; | YOU ARE NEXT, YOU FUCKING FAT, FILTHY PIG
    _|a a a a a a a|; ; ; ;|
    _| a a a a a a | ; ; ; /_ _ _ _ ,--........,, FUCKING POST, YOU FUCKING
    _|a a a a a a / ; ; ; ; _ _ _ .' . . . . . -='. BASTARD ASCII.. I CAN'T BELIEVE
    _| a a a a a / ; ; ; / _ _ _ _\ . . . . . . . : THIS FUCKING STUPID LAMENESS
    _|a a a a a/` ; ; ; \ _ _,==" .\ . . . . . . .' FILTER, WHAT AN ARSEFUCKING COCKLORD
    _\ a a a .'. _ ,._'\.\~" o //` .\. . . . . .'
    _|a a a.___~' \ \-~| | o ./,\.` .\. . . _.' WHAT KIND OF SHIT NAME
    p|; a a/ _|.-~'| |o| |. . . . ,-''\..--' IS LAMENESS FILTER ANYWAY
    p| _..-'"'. . .| | | |. . _="`
    pp~ . . . \\ . | | / /_="` WHAT THE FUCK? MORE LIKE TROLL FILTER
    ppp. . . ./,\ / /_,)") FUCKING CMDRTACO, YOU FUCKING FAT BASTARD
    pppp . . ._,.-)")
    pppp__,=~"| ===============
    ppppp|; .;| Penisbird/. 1.3
    pppp | y .| ===============
    pppp |;|\ |
    ppp_ |/' \| LETS GET IT ON, MOTHERFUCKERS.

Name: Anonymous 2009-12-11 14:14

>>16
Yeah but last time we listened to Bjarn we ended up using C++, and we all know how that turned out.

Name: Anonymous 2009-12-11 19:32

>>22
It may suprise you but I edited that ascii for /prog/ and when I post it I used a fixed-width font because I AM NOT A HOMOSEXUAL

Name: Anonymous 2009-12-11 20:25

," he said in proportional font.

Name: Anonymous 2009-12-11 20:31

    _ _ _ _ _ _ __ _..._ ALL YOU FUCKING /prog/ USERS
    _ _ _ _ _ _ .-' . . '-. THIS FUCKING PENISBIRD SHITS
    _ _ _ _ _ _/. . ._ . ._\ DOWN YOUR NECK INTO YOUR STOMACH
    _ _ _ _ _ /. . .(o) ./__) WHERE THE SHIT BURNS FOR THE REST OF
    _ _ _ __ /. . .,_ . .| '| YOUR SHORT AND PATHETIC LIFE
    _ _ _ _ |. . ./ .\ . /_/
    _ _ _ _ /. . .`"`" . .} IT THEN GRIPS ONTO YOUR COCK WITH ALL ITS MIGHT
    _ _ __ /. . . . . . . { AND INJECTS VARIOUS MUTAGENS INTO YOUR BLOODSTREAM THROUGH
    _ _ _ /. . . . . . . .} ITS RAZOR-SHARP CLAWS WHERE IT REACTS WITH YOUR
    _ __ /. . . . .\/\ /\ { VAST RESERVES OF FAT AND BLUBBER
    _ _ |. . . . . .;``"``\
    __ /. . . . . . / ; ; ;| NOBODY IS SAFE FROM THE PENISBIRD, AND IT
    _ |. . . . . . / ; ; ; | FUCKING HATES ALL /prog/ USERS
    _ \ . . . ._.-`|; ; ; ;|
    _ /`-..--`` a a| ; ; ; | YOU ARE NEXT, YOU FUCKING FAT, FILTHY PIG
    _|a a a a a a a|; ; ; ;|
    _| a a a a a a | ; ; ; /_ _ _ _ ,--........,, FUCKING POST, YOU FUCKING
    _|a a a a a a / ; ; ; ; _ _ _ .' . . . . . -='. BASTARD ASCII.. I CAN'T BELIEVE
    _| a a a a a / ; ; ; / _ _ _ _\ . . . . . . . : THIS FUCKING STUPID LAMENESS
    _|a a a a a/` ; ; ; \ _ _,==" .\ . . . . . . .' FILTER, WHAT AN ARSEFUCKING COCKLORD
    _\ a a a .'. _ ,._'\.\~" o //` .\. . . . . .'
    _|a a a.___~' \ \-~| | o ./,\.` .\. . . _.' WHAT KIND OF SHIT NAME
    p|; a a/ _|.-~'| |o| |. . . . ,-''\..--' IS LAMENESS FILTER ANYWAY
    p| _..-'"'. . .| | | |. . _="`
    pp~ . . . \\ . | | / /_="` WHAT THE FUCK? MORE LIKE TROLL FILTER
    ppp. . . ./,\ / /_,)") FUCKING CMDRTACO, YOU FUCKING FAT BASTARD
    pppp . . ._,.-)")
    pppp__,=~"| ===============
    ppppp|; .;| Penisbird/. 1.3
    pppp | y .| ===============
    pppp |;|\ |
    ppp_ |/' \| LETS GET IT ON, MOTHERFUCKERS.

Name: Anonymous 2009-12-11 20:42

>>25
would u like to jism in my anus?

Name: I stole this 2009-12-11 21:12

The people at C++0x high school.
- Concepts
A school idol, but hasn't attended a single class since he enrolled. There are rumors he's getting expelled.

- Lambda
The other kids tend to avoid him because of his ugly appearance, and he gets bullied.
Gets along well in the algorithms club.

- Rvalue Reference
Gets good grades, but can be moody. Well worth making friends with.

- Baldy
The school principal.

Name: Anonymous 2009-12-11 21:16

Yo, nice post, dude.

Name: Anonymous 2009-12-11 21:19

>>29
Would you read it again?

Name: Anonymous 2009-12-11 21:24

>>30
I'd read it 4 more times.

Name: Anonymous 2009-12-11 21:56

wow bro your at cern tell us about cern

Name: Anonymous 2009-12-12 3:01

It was a real pleasure to talk to Bjarne Stroustrup: even though (I'd say) he is one of the most influential persons in modern high performance computing he is very approachable; he listens to mere earthlings like us; he gives answers that are amazingly well thought though; and he even dares to state that he cannot give an answer or come up with an opinion when he has not enough experience on a topic.
This paragraph is undoubtedly designed specifically to piss me off.
I can't read the rest.
IHBT

Name: Anonymous 2009-12-12 6:52

"Hey, Bjarne, how do I implement callbacks in C++?"
"Well, you see, you use some template metaprogramming with some operator overload - did you know that you can overload ()? - and..."

Name: Anonymous 2009-12-12 8:58

>>34
did you know that you can overload ()
I swear to lucifer, if this is true I will rape each and everyone of his non-bearded family members

Name: Lucifer 2009-12-12 9:43

Name: Anonymous 2009-12-12 10:05

>>36
You and I both know that he has no non-bearded family members.

Name: Anonymous 2009-12-12 16:35

>>35
I swear to lucifer, if this is true I will rape each and everyone of his non-bearded family members

his non-bearded family members

so you will not rape anyone

Name: Anonymous 2009-12-12 17:46

>>38
your logic is flawed.

his future raping is not limited to bjarne's non-bearded family members.

Name: Anonymous 2009-12-12 20:40

I like Bjarne. I also like C++.

Name: Anonymous 2009-12-12 21:53

>>36
What's with this guy?

Here's why that happens (this part is optional; only read it if you think your future as a programmer is worth two minutes of your precious time today):

Fuck you buddy, I'm already reading your FAQ, and by that I mean I'm currently in the process of reading your explanatory paragraph, and now I wasted my "precious time" on a completely unnecessary aside + insult because you've got some kind of chip on your shoulder. What a cunt.

Name: Anonymous 2009-12-12 22:02

What a cunt.
For some reason, I started tittering like a schoolgirl.

Name: Anonymous 2009-12-12 22:16

>>41
Is that from the C++ FAQ Lite? If so, um... yeah he's a cunt.

Name: Anonymous 2011-01-31 21:05

<-- check em dubz

Name: Anonymous 2011-02-04 12:44

Name: tray 2012-03-14 22:54


Don't change these.
Name: Email:
Entire Thread Thread List