Chandler Carruth Profile picture
Software, performance, optimization, programming languages, security, open source, #CarbonLang lead, #LLVM, #Clang, C++. 🏳️‍🌈 he / they
Mar 12, 2022 9 tweets 3 min read
🧵- CppCon & loss of trust.

Context w/ *critical* CW:


Read the position and the links, most notably: patricia.no/2022/03/08/pro…

Note that the docs from #include <C++> weren't finalized.

This is my personal and individual perspective and experience.

1/
This is not about an individual (do *not* name names here).

It really is not.

This is about working to keep the C++ community safe, inclusive, and welcoming.

And it is about doing so with transparency and integrity.

2/
Jun 12, 2020 10 tweets 3 min read
Was actually in the process of renaming a `master` branch. Wrote up rationale:
- even if I think it's "not that bad", make others welcome
- lazy me has simpler rule -> never type `master`
- use a name w/ meaning, yay!

NOPE NOPE NOPE, exactly that bad.
mail.gnome.org/archives/deskt… I wish I were even surprised that the whole rationale for why "this isn't bad and you shouldn't be offended" is actually....

*COMPLETELY MADE UP NONSENSE* being used to post-hoc justify the garbage of racists people who haven't dealt w/ their underlying biases.
Mar 28, 2020 4 tweets 1 min read
Super important point is easily missed here: changing how users learn & experience the PL.

An interesting example w/ C++: at G we found we *do* need near-wizard mentoring to train people up on C++ (esp. the way we use it).

How do we scale it up systematically?

Readability!

1/ The idea is to add an official apprenticeship / mentoring / training phase when onboarding people to the language.

Until you get "readability" in the lang, your code gets extra round of expert review.

To get "readability" we systematically teach and train w/ experts.

2/
Mar 27, 2020 9 tweets 2 min read
Providing programming language platforms to a large org & lots of users forced me to change how I think about and discuss PLs.

Programmers will say "X is hard", "I don't like Y", "A is good", or "I love it when B" about a PL.

* They cannot be wrong.
* You cannot argue.

🤯

1/
These are your users and your customers. And they are telling you how *they* view their experience with the language.

They can't be wrong. It's literally their perspective they are reporting. Finally, "the customer is never wrong" makes sense to me.

You *have* to listen.

2/
Mar 24, 2020 9 tweets 2 min read
So I wrote up (with a *huge* amount of help from colleagues both at G and elsewhere) what I think the goals and priorities for C++ should be:
wg21.link/p2137

Finally published. I'm not sure the committee agrees, but it is definitely what I and my users need.

Highlights: 1) Performance-critical software

*THE* distinguishing feature of C++ is prioritizing performance.

However, paper points out some surprising aspects: control & predictability are often neglected aspects here.