A blog about programming, languages, compilers, optimization, performance, CPUs, technology, and everything else. Why use 50 words when 500 will do. =D

The little things #1: Access control

This post is part of a series looking at little details of programming language design, mostly in the context of Carbon. Check out the series intro post for context and other entries. Let’s talk about public vs. private! Folks who know C++ may be familiar with these concepts, but here is a quick example: class MyType { public: void MyPublicFunction(); private: void InternalDetail(); }; One of the things that has always been frustrating to me are exactly how public and private work here....

March 26, 2023 · 805 words

The little things in languages

Working on a programming language is one of the most challenging and open ended design spaces that I have ever tried to operate in, both for existing and brand new languages. There are very few bounds or constraints on the solution space to help guide and direct my thinking. Everything is ambiguous and open ended with endless possibilities. It sounds great to me… until I need to make progress. Then… not so much....

March 26, 2023 · 250 words


Welcome everyone to my first “real” blog. =] To set some initial expectations, not all of these posts will be of super high quality published material. Often, I plan to use them for random musings and thoughts which I might have posted somewhere like Hachyderm, but required a bit more text or formatting than makes sense in toot or tweet. Plus, I’d like a forum outside of the bad bird site and more accessible than Mastodon....

February 3, 2023 · 214 words