Will A.I. Become the New McKinsey? Yes. And it will begin when McKinsey and the other big consultants start to apply A.I. routinely. If firms like McKinsey are “capital’s willing executioners”, A.I. will at first merely sharpen their axes.
[Read More]
So Many New Systems Programming Languages II
Twelve new systems languages, and one that dates to the Carter administration
Here’s a non-exhaustive rundown of newish systems languages. I’ll list some notable things about them related to safety and syntax as I discussed in the previous post. Well, here they are, in rough order of production readiness and popularity. Sorry if I put something lower than it deserved.
[Read More]
Taking a Look at the Recent Batch of Systems Programming Languages
The new languages emphasize safety, convenient syntax, and high-performance. There are so many of them!
The last few years have brought us an explosion in the number of new systems languages under development. They’re mostly trying to find good balances between safety, performance and expressivity. In this post I’ll first outline briefly what’s meant by “safety” and a little on how today’s system languages try to achieve it.
[Read More]
Value and Reference Semantics in Modern Programming Languages
Some relatively new programming languages give the developer clear ways to choose value or reference semantics with data type, which is unusual. This controls pass by value or by reference to and from functions. Languages have nearly always supported the distinction but it wasn’t always so obvious what was going on.
[Read More]
Resources for Building Programming Languages
These are the most useful links I've found that focus on using Rust and C++ to develop your compiler or interpreter
Here’s a collection of resources for learning to create programming languages. I’m using Rust and some C so that’s the focus of the resources listed at the end. First, I’ll talk about Crafting Interpreters, a book that’s applicable no matter what you plan to use to build your language.
[Read More]
Notes on Designing and Implementing a Small Language
For years I’ve wanted to create my own programming language. Recently I took the time to do so, and a few weeks ago the project reached a milestone: The compiler builds a non-trivial program – and it’s fast! Before that I’d built a simple interpreter for the same language. This is a collection of my thoughts on planning a personal programming language project for others who are just starting out.
[Read More]
Tech Support 1: Findings from 8529 Unwanted Conversations
In the mid-1990s I worked phone tech support at a call center in the Twin Cities. Though I kind of hated it at the time, it proved to be a valuable experience. At first the stress was pretty high, then burnout set in. Eventually, like most, I moved past the burnout to calm acceptance, while always planning on eventual escape.
[Read More]
NewTypes: Introduction and Using in Rust
Adding “newtypes” to your code can improve readability and type-safety. A “newtype” helps to communicate your intent both at a superficial and deep level in your code.
[Read More]
Read Multi-File Parquet Data with Rust
How to iterate and yield Records over multiple files as a single dataset with a schema projection
Figuring out how to elegantly consume multi-file Parquet data may seem challenging unless you dig into the test cases and the source code for the Rust Parquet crate. The one example given in documentation is misleadingly simple. I’ll show a couple examples of how it’s done. Jump to “The Solution” at the end to skip the journey it took to find it.
[Read More]
Effectively Access Parquet Formatted Data From Rust
Move Beyond the Basic Examples
Effectively using Rust to access data in the Parquet format isn’t too dificult, but more detailed examples than those in the official documentation would really help get people started. In this article I’ll present some sample code to fill that gap.
[Read More]