Digest / Technology / Top Stories /

This Week in Programming: Rust’s Roadmap for an Epoch Release

3 Feb 2018 6:00am, by

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.

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.

As the author notes, and as I referred to in this week’s intro, the data is interesting beyond headlines and popularity races. “Looking at these trend lines, we can figure out which programming languages are worth learning, and which programming languages probably should be avoided,” he writes. And while JavaScript, Python, Java, C++, and C lead the pack and likely aren’t going anywhere, the languages with the fastest-growing user bases are Go, TypeScript, Kotlin, and Rust. As a result, the author writes, “after only a couple weeks of using TypeScript I may never willingly use JavaScript again.” And of course, there may be one language missing from this entire analysis, which we will look at next in a separate article — Python. As this analysis notes, “Juptyer Notebooks have seen significant and steady growth in the last couple of years… mostly because of the growth of Python for doing data science.”

  • And Meanwhile, There’s Python: As we’ve seen in the past, Python is very popular among developers. And while the previous analysis may not have shown as much, a story this week in Application Development Trends magazine looks at survey results showing that JavaScripters are wanted, but programmers prefer Python. According to the survey by technical recruiting company HackerRank, JavaScript is the top programming language sought by organizations, but developers prefer Python. Apparently, “employers are more interested in obtaining JavaScript and Java jockeys,” with both languages almost tied for most highly sought, while Python took the number three spot. Interesting final point — “When asked what language they prefer, however, Python ruled among all age groups except for those 55 years or older, who narrowly prefer C.” — which is funny because… apparently young developers hate new languages, according to a TechRepublic analysis of the same survey. “Younger developers are falling in love with older programming languages,” they write, “while older developers go gaga for options like Google’s Go.”
  • 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.”
  • 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.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.