Let’s start off this holiday edition of This Week in Programming with a friendly reminder for those of you about to hit that commit button:
Software engineering pro-tip:
Do not, I repeat, do not deploy this week. That is how you end up debugging a critical issue from your parent's wifi in your old bedroom while your spouse hates you for abandoning them with your racist uncle.
— Chris Albon (@chrisalbon) December 20, 2017
While it may be too late for Christmas, here’s an addendum to that timing for you non-Christmas-observing developers out there:
Depending on your team loca & customer base, never deploy.
1. Dec 20th-Jan 2
2. the week before or during Chinese New Year.
3. During the World Cup
4. Easter if you have dev teams in So. America (Brazil) & Mexico
5. Various for India .. Diwali for sure …
— Kerry McCracken (@kerry_mccracken) December 20, 2017
For the rest of you, well, Godspeed, good luck, and try not to troubleshoot after more than two (or three) of those special eggnogs. And before you move fully into holiday relaxation mode, here are some of the developments we’ve seen in the developer-centric news during the last week, including several releases and announcements from Microsoft and Google, and more buzz around Kotlin. (Oh, and Java, too.)
This Week in Microsoft
- The Push for Python Support in Excel Continues: The folks at BleepingComputer bring us a story this week of a rather popular suggestion on the Excel feedback forums for Microsoft to add Python as an official scripting language to Excel. “Let us do scripting with Python! Yay! Not only as an alternative to VBA, but also as an alternative to field functions (=SUM(A1:A2)),” reads the suggestion, which was first added back in 2015 but just received a response from Microsoft now. While there are numerous resources already available for those out there working with Excel data in Python, this move would allow Excel users to “be able to use Python scripts to interact with Excel documents, their data, and some of Excel’s core functions, similar to how Excel currently supports VBA scripts.” As the article notes, support is widespread, as is the push that any such feature is made available across the entire Microsoft Office suite. Currently, Microsoft is being tight-lipped about any actual possibility of this becoming a reality, but they have opened up a survey to gather more information.
- Speaking of Microsoft and Python… the company has just announced its first update to the Microsoft Python extension for Visual Studio Code with version 0.90. The update adds additional support for conda environments and fixes a total of 84 bugs in the editor and debugger. If you’re curious, there’s a full list of changes in the 0.9.0 release available on GitHub.
- A Visual Studio Live Share Sneak Peek: Back in November, Microsoft (alongside others) announced real-time collaborative features for its Visual Studio IDE. Now, they’re offering a sneak peek at some more upcoming features, including “pin to a participant and share local server” capabilities, and users seem excited, to say the least. Check it out:
This Week in Ga Ga for Google
- Updating Reality: One of my favorite theoretical realities, augmented reality, gets an update this week with Google’s ARCore Developer Preview 2. Google first announced ARCore back in September in response to Apple’s ARKit. Described as “a fast, performant, Android-scale SDK that enables high-quality augmented reality across millions of qualified mobile devices,” ARCore is getting “several technical improvements to the SDK.” These include the ability to pause your AR experience, improved accuracy and runtime in the anchor, plane finding, and point cloud APIs, and a new C API for use with the Android NDK. Google says ARCore v1.0 will launch “in the coming months” and will support 100+ million devices.
- Ok, Google, What’s New With Google Assistant? Google also announced updates to the Google Assistant SDK, which gives developers the ability to embed the Google Assistant into any device with a microphone and speaker, making it function similarly to a Google Home. The latest update adds new languages, API updates, and Device Actions, which are “a set of tools and APIs that allow you to extend what the Assistant can do, in the devices you develop, to take full potential of their hardware capabilities.” As TheVerge remarks, Google’s latest Assistant SDK updates make third-party speakers smarter, as “this marks the first time that Google has opened it to allow developers to use them for direct control of devices.” In addition, the Google Assistant SDK now supports text-based queries and responses (instead of just voice) and Google is launching a new management API to help register and manage devices.
- Keep Pace, Android Devs: Google also announced new security requirements that, moving forward in 2018, “require that new apps and app updates target a recent Android API level,” starting with new apps in August 2018 and existing apps by November 2018. Also in 2018, the company says it will “start adding a small amount of security metadata on top of each APK to further verify app authenticity,” but this needs no action on the developer end. Finally, by August 2019, Google will require “that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions.” Android Central highlights that “a side effect of these changes will affect how manufacturers update devices as well as the practice of selling new devices with older versions of Android.” ZDNet, meanwhile, focuses on how Google is pushing toward “next-gen Android apps” with its 64-bit requirement, though lagging behind Apple’s decision to do the same back in 2015.
This Week in Everyone’s Favorite Java Alternative… Kotlin!
- Winner, Winner, Chicken Dinner? The TIOBE index is set to announce the “programming language of the year” next month, and JAXenter makes an argument that Kotlin should be named the winner over its closest competitor, C. Although Kotlin can’t touch C for overall popularity, its use is rapidly growing, they argue. Beyond that, Kotlin is one of the least disliked languages, its users are extremely satisfied, and it was adopted by Google as a first-class language on Android earlier this year.
- More Than Just Android: While Kotlin is becoming popular with Android developers, Kotlin-creator JetBrains is also showing some love for iOS developers with the release of Kotlin/Native v0.5. The release “adds support for using Kotlin/Native code from C, Objective-C and Swift, supports development using iOS simulator, along with LLVM 5 support and creating WebAssembly from Linux and Windows hosts.” Check out the announcement for the full list of new features.
- Follow the Money: As a journalist, you’re always taught to follow the money, and that’s where this author takes his reasoning into why JetBrains invented and promotes Kotlin. Simply put, it’s a business, silly! The author, an Android developer, first sets out to dispel the “Kotlin productivity myth,” saying that “even today, when Kotlin is post-1.0, it is not clear whether it is more productive than Java, and if it is, to what extent.” Instead of productivity, the reason behind Kotlin’s existence is simple — not “that JetBrains invented Kotlin because they weren’t satisfied with Java and wanted to increase their own productivity” but rather “the ideal outcome for JetBrains would be to have programmers converge on a single favorite language which is relatively easy to support. And no language is easier to support than the one you develop in-house.”
- The 2018 Java JDK 10 Roadmap: Well, we may as well throw this in the Kotlin category… since we’re talking about Java alternatives. As usual, InfoWorld is all over the news around Java, laying out the roadmap for what new features to expect in the next Java JDK 10. With Java 9 just out last September, JDK 10 is due for production release on March 20, 2018, with planned milestones of January 11 for testing across platforms, January 18 for “rampdown phase 2” and February 22 for the final release candidate. According to InfoWorld, “key improvements proposed include a local type inference and a ‘clean’ interface for garbage collection,” among many others detailed in the article. Additionally, they remark that “with the new six-month release schedule, features that miss one release may be delayed as few as six months, when the next release comes out” — a change from the past for Java.
Feature image via Pixabay.