How To Change The World

Hana Dusíková

a.k.a. Life-Cycle
of a new C++ Feature

Idea,
discussion
,
implementation…

I have
an idea.

"I think we should have feature XY."

– Naive Me

"You should write a paper!"

– a Member of the C++ Committee

"Wait what?"

– Not so naive anymore Me

A lot of pages later…

That's a lot of pages!

I'm programmer!
I want to write a code!

(not another thesis)

"Standardese"

is
the programming language
here.

So, I did write
the paper about feature XY.

Then there is a discussion

I'm going to have a meeting with C++ committee.

What is C++ Standardization Committee?

ISO/IEC
JTC1 (Information and Communication Technology)
SC22 (Programming Languages)
WG 21 (C++ Programming Language Working Group)

What they do?

ISO International Standard ISO/IEC 14882:2017(E)

Who they are?

Group of approx. 150 experts
representing various National Bodies and Organizations.

So I found that I need to
convince only 150 people…

…to change the C++ language
used by millions.

It's that easy!

Not really!
There is a process

What's the process?

Design of the change must be approved by Evolution Working Group.

Wording of the change must be approved by Core Working Group.

The change must be approved by National Bodies on a Planary Session.

"It's just a herding of 150 angry cats."

– Ville Voutilainen (chair of EWG)

What's the process?

Design of the change must be approved by Evolution Working Group.

Wording of the change must be approved by Core Working Group.

The change must be approved by National Bodies on a Planary Session.

That's a lot of work!

Fortunately the Committee
meets on nice places.

"I want to go there!"

– Excited Me

But what about
the Implementation?

That's easy:
It's standard now.

Congratulation.

All vendors are obligated
to implement the change.

I changed
the World.

And I only needed to have an idea and discussion about it.

Thank you!