Programming Languages

This Week in Programming: The PHP Everyone’s Been Waiting for

8 Dec 2018 6:00am, by

Somehow, and I mean no disrespect in this, I imagine that Microsoft as a whole cringed a little bit last week as Amazon Web Services put on a show for its annual re:Invent user conference. So much so that TechCrunch’s Ron Miller couldn’t help but assert that AWS wants to rule the world, noting that “last year, AWS announced an astonishing 1,400 new features, and word was that they are on pace to exceed that this year.”

This week, Microsoft put on its own show with Microsoft Connect(); and, though it didn’t make any robot or satellite-as-a-service level announcements, they offered plenty of new features for developers, from the .NET Core 3 Preview to the Cloud Native Application Bundle to Azure Database for MariaDB. For our money, though, it’s the announcements around Visual Studio, Azure Function language support, and a few concerning machine learning that we thought you might like to hear about, so we’ll start there.

First, Microsoft offered a full preview of Visual Studio 2019, which the company says in a blog post “focused on a few key areas, such as making it faster to open and work with projects stored in git repositories, improving IntelliSense with Artificial Intelligence (AI) (a feature we call Visual Studio IntelliCode), and making it easier to collaborate with your teammates by integrating Live Share.” For IntelliCode specifically, language support in Visual Studio is increasing, with C++ and XAML joining C#, and in Visual Studio Code support for TypeScript/JavaScript and Java join Python.

For those of you into serverless — a loyal group that has steadily grown with time — you’ll be happy to hear that Azure Functions now offers better support for Python and JavaScript developers. With this announcement, Azure Functions’ support for Python and JavaScript is available in public preview, alongside “the general availability of the JavaScript Durable Functions extension to the Azure Functions runtime, now ready to be used on production workloads.”

Last but not least this week for Microsoft were the announcements focused on machine learning, which included the arrival of ML.NET 0.8 and the general availability of Azure Machine Learning service. According to the post, the ML.NET 0.8 release “focuses on adding improved support for recommendation scenarios, model explainability in the form of feature importance, debuggability by previewing your in-memory datasets, API improvements such as caching, filtering, and more.” Azure Machine Learning service, meanwhile, looks to “simplify and accelerate the process of building, training, and deploying machine learning models”, in much the same way, it would seem, that Azure attempts to simplify the building and deployment of applications — through automation.

From the announcement: “Automated machine learning enables data scientists of all skill levels to identify suitable algorithms and hyperparameters faster. Support for popular open-source frameworks such as PyTorch, TensorFlow, and scikit-learn allow data scientists to use the tools of their choice. DevOps capabilities for machine learning further improve productivity by enabling experiment tracking and management of models deployed in the cloud and on the edge. All these capabilities can be accessed from any Python environment running anywhere, including data scientists’ workstations.”

So, there may not have been robots and satellites, but Microsoft surely made a dent this time around. Now, for those of you who aren’t particularly interested in Microsoft, there are a few other announcements and news bits from the week past. So, without further ado…

This Week in Programming

  • Did You Say Visual Basic? That’s right, SD Times notes that Microsoft’s Visual Basic .NET makes TIOBE top 5 programming languages this month, an all-time high ranking for a language often thought of as “a toy language meant for people who start to learn programming.” Java, C, Python, and C++ lead the month’s rankings, with Visual Basic .NET rounding out the top five. According to the TIOBE Index blog post, “Microsoft is slowly saying goodbye to Visual Basic by stopping the co-evolution strategy with C#. So I think the current popularity of Visual Basic will sooner or later go into decline again.”
  • Google’s UI Toolkit for iOS/Android Flutter Hits 1.0: This one’s for you mobile developers out there – Google announced Flutter 1.0 this week, the first stable release of the company’s “UI toolkit for creating beautiful, native experiences for iOS and Android from a single codebase.” Explains ProgrammableWeb of the release, “Flutter looks to solve the problem developers face today, which requires them to build the same app twice, or use plug-and-play code modules that bog down the experience. This new tool provides hardware-accelerated graphics and user interface for Android and iOS through native ARM code.” Alongside the stable release, several partner companies, including Square, 2Dimensions, and Nevercode announced companion releases, such as two new Flutter SDKs for Square, Flare, a tool for creating embeddable vector animations, and Codemagic, a tool for automating the process of building and packaging Flutter apps.

  • Rust Releases… Something: We first wrote about Rust 2018 back in February and now the day has finally arrived — the Rust team has announced Rust 1.31 and Rust 2018. The thing is, exactly what those two things are is so unclear that the announcement itself comes with a companion explainer blog post that puts it simply — Rust 2018 is here… but what is it? Rust 1.31, you see, adds”all of the breaking changes needed for the next three years of development (like adding new keywords),” while Rust 2018 is “kind of, but not really” a new version of Rust. As Lin Clark of the Rust team explains, “In most other languages, when a new version of the language comes out, any new features are added to that new version. The previous version doesn’t get new features. Rust editions are different. This is because of the way the language is evolving. Almost all of the new features are 100% compatible with Rust as it is. They don’t require any breaking changes. That means there’s no reason to limit them to Rust 2018 code.” If you’re still confused (we expect you might be), click through to the full explainer, as it contains not only words, but neat graphics to show exactly what’s going on with Rust’s versions.
  • The PHP You’ve All Been Waiting For: And to round things out this week we get PHP 7.3, which brings C inlining, code readability, and speed improvements. According to the TechRepublic write-up, “the newest update to the widespread server-side web development language, was released on Thursday, bringing with it a handful of new features, modernizations, and modest speed improvements. For programmers who gave up on PHP prior to 2015 due to performance issues and implementation frustrations, the 7.x branch brings landmark usability and speed improvements to the language, which version 7.3 refines substantially.” One of the biggest improvements, they write, is possibly the inclusion of the Foreign Function Interface (FFI), which allows PHP developers to run inline C code in PHP scripts. So, PHP developers, go forth and design that web! And don’t forget, while you’re at it, to secure your site like it’s 1999!

Feature image: New Old Stock.


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.