A Part of All Good Engineering

Iterative Design

We don’t know if it will work until we play with it.

Improved Error Handling

Here’s the example of what we might see in Go 2:

The Biggest Question

Can we simplify the ideas in the Go 2 Proposals down to something that fits well inside Go as we love it without making the language feel like a totally different language or is any particular idea, in fact, too complicated to implement?

Go doesn’t try to solve all of the worlds problems, but what it tries to do is to solve an important subset well. — Rob Pike

For example, if we want to do everything we can possibly do with parametric polymorphism or everything we can do with error handling, we’ll over complicate Go.

Reading/Listening Bias

Do you ever read an article with a particular thought or question you’d like answered in mind?

Tail Call Optimization

A tail call is where the last statement of a function is a function call.

Here’s the Catch

Let’s say TCO were implemented and available in Go 1.12, that would mean that the Go Dev Team is committing to this trial that nobody has played with long enough to make a long term decision about its implications.

A Possible Solution

Perhaps, a trial implementation of the Go compiler could be made available that supports TCO?

Fundamental Engineering Question

Language designers must know where to draw the line. They must answer the following question:

Stuff Needs to Feel Like It Belongs

Another aspect of adding a new language feature, e.g., TCO, is whether it belongs in Go.

Complicated or Simply Beautiful?

Given an Apache web server access log with entries like this:

Parting Words

Adding TCO to Go is not a simple as I had once imagined, but I also think that adding TCO would open up the door of productivity for Go programmers that Unix administrators (and programmers like me) enjoy daily.

Other Things of Possible Interest

My Blockchain Boot Camp Offering:

Some of My Other Medium Articles:



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Lex Sheehan

Lex Sheehan


B.S. in Computer Science (minor: Business) from Auburn University