Before the summer began, I was in the process of working on a project with some “friends”. Each person would take on a module of this project and they would communicate over the net. It was a computationally light weight project so the only reason that it was implemented like that was to allow separate implementation(physically and language wise). Unfortunately, there was a bit of a falling out and we were friends no longer. I still wanted to work on this project however because coding helps me relax. Taking the different modules and the design as it was, I began to code the project, and I actually got a working though very messy implementation done just last week. Cleaning the code up as I am now, I have been wondering how I would get over the excessive networking in the language between the modules. And then I remembered the language that I was working with. As it happens, Channels are basically a drag and drop replacement for the net-code that I currently have in the modules communication, and I love it. With some extra work after this cleanup, it will become even easier for the modules to communicate as a lot of what used to be JSON can be replaced with internal objects, but that comes after I make it not as much of a mess.
Go has become my favorite language to use, far and away, because of how well its design sits with my mental processes, and how easy it is to implement this project. Hats off to the team.
Edit: Apologies if improper category. There wasn’t a general discussion as far as I could tell.