CI/CD / Machine Learning / Programming Languages

This Week in Programming: A Non-Inclusive Retrospective of Times Past

6 Jan 2018 6:00am, by

Though we are still well within the danger zone of those “predictions for the year ahead” articles, it seems that the focus now has shifted instead to the realm of “reflections on the year past.” In general, I think I prefer analyses of times past over predictions of things to come. After all, we all know half of those predictions articles are written by ghostwriters and not by anybody with any actual insider insight, right? Or someone looking to tout their current interests as the “next big thing” of the year ahead that you better buy into now.

Who’s kidding who? Unsavory and biased motivations abound. Retrospectives suffer the same fate. Either way, never mind the year ahead — aside from a few looks toward the future, this week in programming news is mostly going to be a look at 2017. For the moment, 2018 can wait.

What can’t wait, however, is this awesomely terrible Pink Floyd knock-off about waterfall development methodology in the enterprise. (You never thought you’d read that sentence, right? Neither did I.)

Programming Languages in 2017

  • A Retrospective: First up, we have Infoworld’s high-level round-up of the year past with it’s look at 2017: The year in programming languages. The overall narrative is likely one you’re familiar with from our weekly round-ups here — Kotlin got a good bit of attention, Oracle made waves by releasing Java into the hands of the Eclipse Foundation, Javascript continues to be a force on the Web, and, as we noted a couple of weeks back, Microsoft got into the quantum computing game with Q Sharp.
  • A Series of APIs: Then there’s ProgrammableWeb’s most interesting APIs in 2017, a series of articles looking at “the APIs that peaked the interest of developers, providers, readers, and our own researchers.” Numbers from their own API efforts include more than 2,000 APIs, 4,000 SDKs, and 3,000 sample codes added to their directories in the year past. Leading categories in growth included data and analytics, with social and financial APIs continuing their popularity. Click through to see nearly a dozen more category-specific articles on the API space in 2017.
  • C Takes The Cake: Next up, it looks like legacy language C has outpaced the new Java-alternative darling Kotlin, overtaking it in the TIOBE index and bring home the prize for programming language of the year. According to Infoworld, C completed its comeback in programming popularity for the win, with its revival “possibly being fueled by its popularity in manufacturing and industry, including the automotive market.” Just some months ago, C was at its lowest usage numbers ever. And despite the hubbub, languages like Kotlin came nowhere close to being even in the top 20, despite their meteoric rise. Last year’s winner, Go, is the topic of our next introspective retrospective.
  • A List of the Most Salient Problems in Go: In his blog post about what he learned in 2017 writing Go, Cloud Foundry software engineer Eno Compton chronicles “a number of problems, many of which seem unique to Go,” as well as his own approaches to solving them. For example, his own team’s difficulties with project organization and their “tendency to extract tiny packages first instead of waiting for a shared concern to emerge from the code and only then extracting a package.” As a solution, he notes that “Peter Bourgon’s advice on how to organize Go code has been invaluable, as is the rest of his material on best practices.”
  • Despite All the Blockchain Hubbub…: Perhaps you’ll disagree. Perhaps you’re developing the next great thing that will prove this Bay Area CEO wrong. But right now, according to this self-proclaimed “whatever the opposite of a futurist is,” we are 10 years in and nobody has come up with a use for blockchain “besides currency speculation and illegal transactions.” So, while you’re busy building that blockchain app, maybe you can address his one question: “What if, ten years after it was invented, the reason nobody has adopted a distributed ledger at scale is because nobody wants it?”
  • A List of 2017 Lists: If you’re really into this retrospective thing, here’s a list of 2017 lists on Github, that includes entries from StackOverflow, Github, and so on.
  • Whoops, I Studied Language Design: And finally, to round out our round-up of 2017 retrospectives, we have a blog post from a Ph.D. language designer who we previously included when he argued that block comments are a bad idea. In this post, he offers his reflections on a Ph.D. accidentally spent on language design, including two key takeaways: “I learnt two lessons here: First, come up with something flashy for capturing people’s attention! It does not have to be something that fully demonstrates the potential of your work, just something that people will remember for later. Second, if you are in academia, take advantage of the supply of students! They are a wonderful source of labour, if you can supply them with projects that they find motivating.”

This Week in Programming News

  • As Easy As Rust 1.23: The Rust team has announced a new version of Rust with version 1.23.0. The update includes a 5-10 percent drop in memory usage when using rustc, a move to using CommonMark as the default markdown rendering engine, and several API and library stabilizations. As usual, check out the detailed release notes for the full details.
  • Track-Your-Progress Progress Bars: It’s a small but hopefully useful feature. (What can we say, news is slow this time of year.) Github announced the release of project progress bars this week, which offers a quick overview of your own projects, as well as project boards from other repositories and organizations.

This Week in How-To

  • Learning Machine Learning: Fine. It’s a new year and a new you. You have resolutions, and one of them is to learn new things, so here are a couple to start out with. First, a series of simple machine learning tutorials that “help you improve your applied ML skills quickly while giving you the chance to explore an interesting topic.” Sometimes, after all, the hardest thing to figure out to learn something new is what to create to test your newly learned skills. So here you are.
  • Building Bitcoin: Cryptocurrency has hit the big time and you want to get in on the ground floor, right? Well, check out this tutorial for building a cryptocurrency built in TypeScript. It takes you from the basics of building a blockchain to handling transactions, wallets, and more.

Feature image via Pixabay.


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.