I still remember the first story I ever wrote about the web — it was a quick news story about which browsers were on the rise and which were on the fall and, beyond the horse race nature of it all, I didn’t really see the full implications. I didn’t see that, while the rising and falling popularity of different technologies makes for easy and good headlines, it also makes for actual, useful insights for people in the field. In the end, it seems doubtful that just marketing and headlines could drive developers to languages (though some argue just that when it comes to the problems we see Perl6 facing these days), but rather that popularity is driven by good language design, features, strong community, and evolving technology.
These days, it’s these sorts of stories that inform me of what’s happening outside of my particular worldview, what all of you are really doing in the field, and especially those of you on the bleeding edge. One such story, which we will look at further later, informed me that “the languages with the fastest-growing user bases are Go, TypeScript, Kotlin, and Rust,” which made my ears perk up a bit more when I saw the first bit of programming news we’ll look at this week, a Rust 2018 roadmap written by Aaron Turon, a Mozilla developer working on the Rust programming language.
The roadmap, which Turon says was compiled from the 2017 survey, as well as a nearly 100 blog posts written in response to the call for #Rust2018 blog posts, and the “core team’s overall sense of the zeitgeist and project management,” outlines some high level goals for the language in the year ahead, including an “epoch release” scheduled for September 13th of this year. This epoch release will include a polishing and stabilizing of “a number of already-implemented language features,” a push toward 1.0 status for several critical tools, libraries and documentation, as well an effort to “build resources for intermediate Rustaceans” that will “help programmers go from basic knowledge of Rust’s mechanics to knowing how to wield it effectively.” Additionally, the post said the Rust team would grow in the year ahead and work toward making Rust accessible worldwide.
If you’re a Rust developer, make sure to check out the full roadmap, as it has plenty more exciting details that we didn’t include here. Beyond Rust, this week we have a new version of TensorFlow, the aforementioned programming language popularity analysis, and a few more interesting bits.
I needed to look up something about the C stdlib and kept running into religious debates on the internet. Luckily this version of the internet has no comments section pic.twitter.com/r2B48PTl7v
— Michael Ducy (@mfdii) February 1, 2018
This Week in Programming
- Google’s TensorFlow 1.5 Arrives: Google announced public availability of TensorFlow 1.5 this week, the latest version of its open-source machine learning framework. The new version includes updates to GPU acceleration and an overhaul of the documentation (especially the getting started section), as well as a preview of Eager Execution for TensorFlow, “an imperative, define-by-run interface where operations are executed immediately as they are called from Python,” which Google says makes it easier to get started with TensorFlow, and can make research and development more intuitive. In addition, the developer preview of TensorFlow Lite, a lightweight solution for mobile and embedded devices, is built into version 1.5 for both Android and iOS. TensorFlow Lite “lets you take a trained TensorFlow model and convert it into a .tflite file which can then be executed on a mobile device with low-latency.” The benefit here is that the training doesn’t have to be done on the device, nor does the device need to upload data to the cloud to have it worked upon.
- An Analysis of Languages by GitHub Users: So, this is the language popularity analysis previously mentioned, and one thing I really like about it is that it’s data-driven, rather than survey-based. Of course, there are flaws, caveats, or disadvantages with any methodology, but I think I much prefer the analysis of a given data set over asking people their opinions. Anywho, this particular blog post ranks programming languages by GitHub users, so given you keep in mind who GitHub users are, it provides some pretty interesting insights. First, a few interesting stats from the post, which was created from the GitHub Archive, which contains “a record of every public event on GitHub since early 2011” and “has more than 1.25 Billion events on more than 75 Million different repositories.” Moving beyond that, there’s the whole interesting analysis we get from looking at this data set.
— I Am Devloper (@iamdevloper) January 23, 2018
- On “Undoing Your Git Fuckup”: This one is more practical than anything else — a Choose Your Adventure guide on undoing your git fuckup. A simple HTML doc provides “a fairly comprehensive guide to recovering from what you did not mean to do when using git.”
In my 20s: Yay it's the weekend, I can code on side projects!
In my 30s: Yay it's the weekend. I think I will sit by the window all day and stare at some clouds.
— Practicing Developer (@practicingdev) January 27, 2018
- You Run Perl On Your DeLorean? PERL?! That’s right, there’s a DeLorean out there that runs Perl on “a full Linux PC and desktop monitor with a low-end microcontroller to read the analog measurements from the car.” While the author doesn’t make any mention of a flux capacitor, he does discuss the common reaction — “Why Perl???” — before going into a discussion of the merits of Perl vs. other, more-likely tools. Click on the story for the intrigue of a Perl-driven DeLorean, and stay for the analysis.