Microsoft’s Common Language Runtime, the virtual machine that anchors the .Net Framework, is due for a makeover, with the company announcing plans to make the CLR more efficient and scalable.
Key to this modernization will be improvements to the intermediate language underlying the CLR, called IL, which has not been upgraded in ten years, said Mads Torgersen, lead designer for C# at Microsoft. The company wants to improve the IL and make the CLR a richer target for programming languages.[ Microsoft .Net Core 2.0: Everything you need to know. | Why .Net Core is finally ready for prime time. | .Net Framework or .Net Core? Learn when to use which. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]
The goal of the CLR is to run .Net programs efficiently. Currently the biggest problem with .Net is the inherent limits of scalability of the runtime itself, said Ben Watson, Microsoft principal software engineer. The CLR is being pushed beyond its original intention and design. Watson explained that when multiple gigabytes of code are being loaded, algorithms built into the CLR start breaking down.
Microsoft has brought several third-party popular platforms to its Azure cloud aimed at developers and data analysts.[ What is Apache Spark? The big data analytics platform explained. | Which NoSQL database should you use? MongoDB and Couchbase Server go nose to nose. • NoSQL standouts: The best key-value databases. • NoSQL standouts: The best document databases. | What is devops? Discover how to transform software development. ]
The new Azure capabilities include:
Microsoft has released a beta version of its Visual Studio Tools for AI, an extension to the company’s signature Visual Studio 2017 IDE that lets developers and data scientists embed deep learning models into applications. Visual Studio Tools for AI supports deep learning frameworks such as Microsoft’s Cognitive Toolkit and Google’s TensorFlow.
It can be hard to pin down a definition of edge computing. Some companies look at it in terms of networks, others in terms of datacenters. For Microsoft, it’s a distributed cloud that encompasses every computer, no matter how small and how limited.
Microsoft CEO Satya Nadella uses the term “intelligent edge,” in which container-based machine learning models are deployed where needed along with your own code and Azure features like stream analytics and serverless Azure Functions.
TensorFlow, Google’s contribution to the world of machine learning and data science, is a general framework for quickly developing neural networks. Despite being relatively new, TensorFlow has already found wide adoption as a common platform for such work, thanks to its powerful abstractions and ease of use.[ Go deep into machine learning at InfoWorld: 11 must-have machine learning tools. • 13 frameworks for mastering machine learning • Machine learning pipelines demystified • Review: 6 machine learning clouds • Which Spark machine learning API should you use? ] TensorFlow 1.4 API additions TensorFlow Keras API
The biggest changes in TensorFlow 1.4 involve two key additions to the core TensorFlow API. The tf.keras API allows users to employ the Keras API, a neural network library that predates TensorFlow but is quickly being displaced by it. The tf.keras API allows software using Keras to be transitioned to TensorFlow, either by using the Keras interface permanently, or as a prelude to the software being reworked to use TensorFlow natively.
Mono, Microsoft’s open source, cross-platform runtime for .Net-based development, has regained its .Net interpreter, about a decade after it was removed to keep Mono’s development effort manageable.
Mono’s developers are now turning their attention to using the interpreter in mixed-mode code execution, which combines interpreted code and statically compiled code.[ Microsoft .Net Core 2.0: Everything you need to know. | Why .Net Core is finally ready for prime time. | .Net Framework or .Net Core? Learn when to use which. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ] What mixed-mode exdcution will bring to Mono
When mixed-mode execution becomes available, developers will benefit from having core libraries optimized with the LLVM compiler platform but still have flexibility of running some dynamic code, said Miguel de Icaza, a longtime leader of the Mono project.
With scripting languages, most errors show up in runtime. And this is a problem, Tiobe says. Developers can write unit tests to compensate for this but it still is “quite dangerous” because these errors can happen while the application is in production. Statically typed languages, meanwhile, have responded to the threat of scripting languages by reducing type verbosity.
Microsoft’s open source development tool is an important piece of the developer’s toolkit. Built using GitHub’s cross-platform Electron framework, Visual Studio Code is a full-featured development editor that supports a wide selection of languages and platforms, from the familiar C and C# to modern environments and languages like Go and Node.js, with parity between Windows, MacOS, and Linux releases.
Microsoft regularly updates Visual Studio Code. Keep track of the updates’ key features in this changelog.[ Get started with Visual Studio Code, Microsoft’s lightweight editor for Windows, MacOS, and Linux. • Discover Microsoft’s feature roadmap for Visual Studio Code. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ] Where to download Visual Studio Code
To download the editor for Windows, MacOS, and Linux, go to Microsoft’s Visual Code Studio website.
Prometheus, the open source monitoring system for Docker-style containers running in cloud architectures, has formally released a 2.0 version with major architectural changes to improve its performance.
Among the changes that have landed since the release of version 1.6 earlier this year:
- An entirely new storage format for the data accumulated by Prometheus.
- A new way for Prometheus to handle “staleness,” i.e. problems resulting when data reported by Prometheus doesn’t match the actual state of the cluster.
- A method for taking efficient snapshot backups of the entire database.
Most of the changes shouldn’t force experienced Prometheus users to retool their environments. The new features are meant to work under the hood, without significantly altering workflow, although there are a few breaking changes (documented here).
JetBrains has made available the Kotlin/Native technology, which creates native binaries for Kotlin code so they can run without a Java virtual machine. A beta version of the CLion IDE allows Kotlin programs to be compiled directly to an executable machine-code format.
Despite the “5” designation, the AngularJS upgrade is just the fourth release for the framework, which was initially called AngularJS and debuted in 2012. Angular 5’s release took longer than expected, missing previous release targets of September 18 and October 23, 2017.
When it comes to which languages developers like and dislike, Stack Overflow has some insight. Based on the languages developers tagged as those they would not like to work with in their Stack Overflow Jobs profiles, the company has found that Perl, Delphi, Visual Basic for Applications (VBA), and PHP are the most disliked programming languages, while R, Kotlin, TypeScript, and Rust are the least disliked.
Stack Overflow, which provides an online community for developers, studied the popularity of languages based on the Developer Story submissions on the Stack Overflow Jobs portion of the site. The data was released on Tuesday.
Fedora 27, the latest version of the Red Hat-sponsored Linux project that serves both as a user distribution and as a proving ground for new ideas in Red Hat Enterprise Linux, is set to arrive this week or next.
The most important additions and changes in Fedora 27 include:
- Greater modularization of the underlying system.
- The latest versions of popular languages and system components.
- Broader use of Flatpak software packaging for desktop apps.
- Fedora alpha releases discontinued.
Fedora 26 introduced the concept of modularity to Fedora. To paraphrase Fedora’s own description, the modularity project is an attempt to separate the life cycles of the applications in a distribution from both each other and the distribution itself. Users need to be able to upgrade to the most recent version of both an application stack, but also retain earlier versions of individual pieces of that stack for backward compatibility (such as Python 3.x versus Python 2.x).
Node.js 8 is graduating to Long Term Support (LTS) release status, which is intended to signify a level of stability for use in enterprise deployments. Accompanying this new designation for Node.js 8 is the debut of Node.js 9, with asynchronous resource tracking, as the “current” release line.Node.js 8 features