Preceding a C course with Go?

It didn’t really dawn on me before. Years ago in my newbie days I couldn’t grasp a language like C. Not like I can now, no joke. But I had plenty of fun at the system level in one language in particular that seems to have helped me prep for learning C. The language engineered by Rob Pike and Ken Thompson: Go.

When I first started with Go I somehow ended up on the golang.org page clicking a run button and playing with some code right in the window that resembled some simplified form of C with concurrency and just enough OOP to keep things sane. It was easy to layout & develop code in. It compiled insanely fast and had a builtin package manager, code formatting, etc. Honestly I had the most fun in Go than any that I dabbled with.

So in my experience of trying to grasp programming over the years I think one of the best stops I made along the way to C is my time in Go. Interestingly enough it’s also one of the recommended modern languages to move on to after a course in C. So it’s like a bit of recursion in a sense. Where you start is where you end up again, but coming back around takes you deeper in. So I wanted to throw the topic out there for other programming folks to chime in on. What do you think about the Go/C/Go course to becoming a skilled programmer in today’s web-connected world?

1 Like

I actually usually tell people to do C after they’ve done a couple other less trashy and horrible languages. :wink:

1 Like

HA! It really is a horrible language by today’s standards. But I’m learning some cool stuff about how we managed memory, the history of high level programming, and it’s really sinking in how code is never guaranteed to be 100% safe & solid, no matter how perfect it may seem. Plus it takes a pretty horrible language to make GREAT use of this GDB tooling an stuff :laughing: