If you were paying any attention to last week‘s column, you may have noticed one glaring error: Go++ is not a real programming language.
You see, while busy rounding up opinions on Twitter and elsewhere of the latest goings-on in the ongoing development of the Go programming language, I inadvertently stepped into a steaming pile of trolling by Envoy proxy creator Matt Klein, who lists “Go++ steering committee co-chair with @davecheney” among his other, actual qualifications on his Twitter bio, so we referenced this qualification in the post. Well, I come to you this week, red-faced in my inattention to the details, but wanting to share, nonetheless, the wonders of Go++, the imaginary language used, most often, to parody what Klein may see as the mistakes of the growing Go language.
If you like C++, Go++ will rock your world.
— Matt Klein (@mattklein123) May 23, 2018
While Go++ may not exist, it nonetheless reflects some heartfelt opinions of Klein, who has previously called Go “one giant sighfest.”
50% of go I love. 50% drives me Fing insane and feels like a sick joke on the industry from bunch of c programmers from 70s.
— Matt Klein (@mattklein123) September 8, 2017
Or, it’s just trolling, but even trolling can offer some insight. We should mention at this point that Klein wrote Envoy in C++…
As much as I love making fun of Go, Python, and Rust, it's all trolling. I don't care what language something is written in as long as the product adds value.
— Matt Klein (@mattklein123) March 2, 2018
My new strategy is to find great Go programmers like @rodaine, teach them to be great C++ programmers, and use the resultant super-programmer on the Go++ steering committee. 📈 🚀 https://t.co/Nr2hwQt7z4 pic.twitter.com/1INjfrc3xu
— Matt Klein (@mattklein123) May 24, 2018
Perhaps the funniest part of Klein’s trolling efforts, beyond my own gullibility, is the part where Klein’s over-the-top mimicry so closely mirrors the opinions espoused by others… but isn’t that just effective trolling in the end?
OBVIOUSLY Go++ uses dep and not this vgo crap. (TBH I know nothing about this drama, but hey, a wedge is a wedge and I'm thinking between this and generics I can light a 🔥 under this Go++ 🚀 and watch it soar.) https://t.co/nOGFSdLjql
— Matt Klein (@mattklein123) May 24, 2018
And so Go++ soars, indeed. Now, on to the latest news in the world of programming languages and the like.
This Week in Programming
- AWS Brings TypeScript and Python to Infrastructure-As-Code: You’ve heard of the idea of infrastructure-as-code before, right? That’s the one where you, the developer, becomes a DevOps person and starts handling that job, too. Well, Amazon is trying to make that task a bit easier by bringing you the ability to use languages you’re already familiar with, with the general availability of AWS Cloud Development Kit (CDK), which now supports both Python and TypeScript. AWS CDK is “an extensible open-source software development framework to model and provision your cloud infrastructure using familiar programming languages” and was released this week at Amazon’s AWS Summit. AWS CKD gives you the ability to build both your application and your infrastructure in the same IDE and the same language you may be developing in already and is free to use. To get started, check out the step-by-step online tutorial and the repository of CDK example projects.
- AWS Toolkit for Visual Studio Code: Also at the AWS Summit this week, Amazon also released the AWS Toolkit for Visual Studio Code, an extension for the popular IDE that’s now generally available and makes it “easier for the development community to build serverless projects using this editor.” The extension has been around since last November, available open-source on GitHub under the Apache 2.0 license, and gives developers the ability to “easily develop serverless applications, including creating a new project, local debugging, and deploying your project — all conveniently from within the editor,” with support for Node.js, Python, and .NET. Specifically, the toolkit makes it possible for devs to test code locally with step-through debugging in a Lambda-like environment, deploy to the AWS region of choice, invoke Lambda functions both locally and remote, and specify function configurations such as an event payload and environment variables. Check out the blog post for a full walk-through.
- Amazon Aurora PostgreSQL Goes Serverless: Lastly for Amazon this week, the company also released Amazon Aurora PostgreSQL Serverless, “an auto-scaling version of Amazon Aurora that automatically starts up, shuts down and scales up or down based on your application workload.” While the MySQL-compatible edition of Aurora Serverless has been available, the PostgreSQL-compatible edition of Aurora Serverless is now generally available as well, giving you the ability to provision storage on the fly, from 10GB up to 64TB, charged on a per-second basis.
To me, serverless is about the Developer Experience (DX). If these words are in the conversation, we aren't talking serverless IMO. And I don't think it has anything to do with how you pay for it.#serverless pic.twitter.com/b6BHDMkUyw
— Paulo Arruda (@parrudanet) July 8, 2019
- MIT Intros New PPL for ML: For those of you into machine learning, there’s a new kid on the block – MIT has introduced a new probabilistic programming language (PPL) named Gen, which Intotheblock Chief Technology Officer Jesus Rodriguez describes in a blog post. According to Rodriguez, “the new language allow[s] researchers to write models and algorithms from multiple fields where AI techniques are applied — such as computer vision, robotics, and statistics — without having to deal with equations or manually write high-performance code.” Gen addresses some common challenges in this realm “by leveraging a novel architecture that improves upon some of the traditional PPL techniques” and is based on Julia. This novel architecture “represent models not as program code in a Turing-complete modeling language, but as black boxes that expose capabilities useful for inference via a common interface.” While Gen is certainly not the only game in town, Rodriguez writes that “efforts like Gen are attempting to democratize PPLs in the same way TensorFlow did for deep learning.”
- Get Documenting with Docsy: It’s likely the writer in me, but I find Google’s recent efforts toward making documentation for open-source software commendable, and now the company has announced Docsy, a website theme for technical documentation that’s already in use by Kubeflow, Knative, and Agones. Essentially, Docsy provides “a documentation website with templates and guidance for documentation, which we’re open-sourcing to the public to use and help improve the tool,” because, heck, your specialty is in building software, not creating and organizing publicly accessible documentation, right?
2001: I need a VM
2007: I need a lot of VMs
2012: Just give me PaaS
2013: Whoa containers!
2014: I need a lot of containers
2015: Whoa Kubernetes!
2017: I need a lot of Kubernetes
2018: So, bare metal?
2019: Wait, no, I actually need serverless
2020: Yeah…I need all the things
— Bryan Friedman (@bryanfriedman) July 9, 2019
- Ten Years of Erlang: While we’re all busy walking about the latest languages out there, there are languages like Erlang, which has been around for 33 years now, and is “still wedged deep in infrastructure in a lot of corporations,” according to Erlang developer Fred Hebert. Hebert this week offered up a lengthy blog post on his decade of Erlang use, in which he discusses “hype phases and how this related to Erlang, the ladder of ideas within the language and how that can impact adoption, what changed in my ten years here, and […] what I think Erlang still has to bring to the programming community at large.”
Hello! I'd like you to build this really complex app for me. It's the most complex app you've ever seen, and it's a totally unique idea and not like the 30 other apps that do the same thing. Please sign this NDA. Also my budget is $5 and I want it done in 3 days.
— Kelly Vaughn 🐞 (@kvlly) July 8, 2019
Feature image by Alexas_Fotos from Pixabay.