You are here
In a move that should come as no surprise given the declining need for proprietary rich Internet plug-ins, Adobe on Tuesday said it will cease updating and distributing its Flash Player at the end of 2020.
Content creators will instead be encouraged to migrate existing content to new, “open” formats such as HTML5, WebGL, and WebAssembly. Adobe cited the advent of these standards as having matured enough to provide capabilities pioneered by Flash. “Today, most browser vendors are integrating capabilities once provided by plug-ins directly into browsers and deprecating plug-ins,” the company said.[ Only on InfoWorld: A beginner’s guide to Angular. Get started today! | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]
Adobe said it will continue with development of new web standards including HTML5 while participating in the WebAssembly Community Group. Indeed, seeing the writing on the wall, Adobe has been making accommodations for HTML5 for several years now. The company’s Animate CC tool, for designing animations, supports both HTML5 and WebGL. Apple’s refusal to support Flash on its wildly popular iOS mobile platform was perhaps the watershed moment for the technology. Flash also has had its share of security issues. YouTube backed away from Flash in 2015, defaulting to HTML5.
The next version of Microsoft’s open source, cross-platform version of the .Net software platform, .Net Core 2.0, will bring profile-guided optimization (PGO) to Linux x64. PGO is native compilation technology used by the C++ compiler to generate faster-running code.
PGO features a two-step process, including a training run that records information about execution and a build step that uses the results of the training run to generate better optimized code, Microsoft’s Bertrand Le Roy and Daniel Podder explained in a blog post. The .Net Core 2.0 upgrade will add PGO optimizations to .Net Core on both the Windows x86 and Linux x64 platforms. PGO began working with Windows x64 in the .Net Core 1.1 release and it has been used in the Windows-based .Net Framework for years.
Formally introduced to the public this month, Microcosm reduces the need for boilerplate code and keeps React apps organized. The company has described Microcosm as being an evolution of Facebook’s Flux application architecture for client-side web applications. Viget has been running Microcosm in production itself for two years.
Python, which was already surging in popularity among developers, has received another endorsement, getting the nod as the most popular tool in IT service provider Packt’s just-released developer survey.
The language is used by nearly 20 percent of respondents, giving it the top spot. The report echoes Python’s high rankings in language popularity indexes from Tiobe, PyPL, and RedMonk, which all have the language finishing in their recent top five rankings.
Go, Google’s open source, concurrency-friendly programming language, has soared to new heights with developers, cracking the top 10 in the Tiobe index of language popularity for the first time.
With an all-time high rating of 2.363 percent, Go ranks as the 10th most popular programming language in this month’s index, ahead of languages such as Perl, Swift, Ruby, and Visual Basic. The Tiobe Programming Community index assesses language popularity using a formula based on frequency of searches for the languages in popular search engines such as Google, Bing, Baidu, and Wikipedia.[ Also on InfoWorld: Tap the power of Google's Go language. | The best Go language IDEs and editors. | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]
Described by the creators as a developer’s whiteboard “on steroids,” the Luna functional language promises to enable application assembly by clicking and dragging visual elements together.
Luna’s creators argue that because developers typically start sketching components and dependencies on a whiteboard before coding, it doesn’t make sense to then implement that logic only in text. Software can have thousands of lines of code distributed in hundreds of files, which can trip up the implementation of that visual data flow and application architecture. Tools such as UML architecture diagrams only deal with the symptoms and not the problem’s source, Luna’s creators argue.
In Kubernetes version 1.7, the container orchestration and management system is gaining slew of new security, stateful application, and extensibility features
Kubernetes 1.6 was mainly about stabilizing and bringing to term long-planned changes, such as using version 3 of the ETCD distributed key-value store. But many of Kubernetes 1.7’s new features are only in the alpha stage, more signals of how Kubernetes is trying to be more useful in a broader range of scenarios. Other new capabilities bring in features previously relegated to other parts of the container ecosystem.
The Eclipse Foundation’s annual release train, featuring simultaneous updates to dozens of projects, has just arrived, featuring preliminary Java 9 support. Called Oxygen, the release train covers 83 projects and includes 71 million lines of code.
Here are the key updates in Oxygen:[ Keep track of what’s changed in Java 9 in InfoWorld’s live changelog, “What’s new in Java 9.” | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]
- Java 9 support remains in beta stage, because Java 9 itself will not be made available until Java Development Kit 9 ships on September 21. Oxygen’s Java 9 support includes the ability to add the Java Runtime Environment for Java 9 as the installed JRE as well as backing for the Java 9 execution environment. Developers also can create Java and plug-in projects using Java 9 and compile modules that are part of a Java project. Eclipse’s signature Java IDE has been enhanced as well, with improvements to the UI.
- Eclipse Linux Tools 6.0 updates Docker Tools with more security options. This project provides a C/C++ IDE for Linux developers.
- Eclipse PDT (PHP Development Tools) 5.0 supports the 7.1 version of PHP, which offers nullable types and a void return type.
- The Eclipse Sirius 5.0 platform for building domain-specific modeling tools, with usability enhancements.
- Eclipse EGit 4.8.0, offering performance and usability for the Java implementation of Git code management integration for Eclipse.
Modularity, a key but highly controversial feature of the upcoming Java 9 release, looks to be back on track with the Java community’s adoption of a proposal that had failed in an initial vote weeks earlier.
With new round of voting completed this week, the Java Community Process Executive Committee passed by a 24-0 vote the Java Platform Module System public review ballot, the subject of Java Specification Request 376.[ Keep track of what’s changed in Java 9 in InfoWorld’s live changelog, “What’s new in Java 9.” | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]
In May, the same group, citing concerns over the plan being disruptive and lacking consensus, voted the measure down, 13 to 10. In the aftermath, Java Development Kit 9, where the module system was to be delivered, was postponed from July 27 to September 21.
Nvidia has released a new version of TensorRT, a runtime system for serving inferences using deep learning models through Nvidia’s own GPUs.
Inferences, or predictions made from a trained model, can be served from either CPUs or GPUs. Serving inferences from GPUs is part of Nvidia’s strategy to get greater adoption of its processors, countering what AMD is doing to break Nvidia’s stranglehold on the machine learning GPU market.[ Revealed: AMD’s strategy to become a machine learning giant. | Roundup: TensorFlow, Spark MLlib, Scikit-learn, MXNet, Microsoft Cognitive Toolkit, and Caffe machine learning and deep learning frameworks. ]
Nvidia claims the GPU-based TensorRT is better across the board for inferencing than CPU-only approaches. One of Nvidia’s proffered benchmarks, the AlexNet image classification test under the Caffe framework, claims TensorRT to be 42 times faster than a CPU-only version of the same test — 16,041 images per second vs. 374—when run on Nvidia’s Tesla P40 processor. (Always take industry benchmarks with a grain of salt.)
Native mobile apps have generally had the edge when it comes to user experience over web-based apps. But the tide is turning, with progressive web apps — a technology spearheaded by Google and Mozilla—catching on at major web properties and developer tools becoming available.
“We’re starting to see a lot of large companies come back to the web because of its low friction,” said Addy Osmani, an engineering manager on Google’s Chrome team. He cited Lyft and Twitter as examples.[ Get started: How to launch the right mobile development strategy. | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]
With the initial release candidate build for Java 9 now published, Oracle has proposed that from here on out, only “showstopper” bugs be fixed for the production Java 9 release, which is due September 21.
The proposal floated this week represents a further tightening up of bug-fixing goals for RDP (Rampdown Phase) 2 of the Java upgrade. The plan calls for fixing all P1 (Priority 1) bugs critical to the success of Java Development Kit (JDK) 9. Also, builders would decommit from fixing any bugs not new in JDK 9 and not critical to the release, even if they had been targeted for fixing.
Over the past year, Google’s TensorFlow has asserted itself as a popular open source toolkit for deep learning. But training a TensorFlow model can be cumbersome and slow—especially when the mission is to take a dataset used by someone else and try to refine the training process it uses. The sheer number of moving parts and variations in any model-training process is enough to make even deep-learning experts take a deep breath.
This week, Google open-sourced a project intended to cut down on the amount of work in configuring a deep learning model for training. Tensor2Tensor, or T2T for short, is a Python-powered workflow organization library for TensorFlow training jobs. It lets developers specify the key elements used in a TensorFlow model and define the relationships among them.
Ruby has had a reputation as a user-friendly language for building web applications. But its slippage in this month’s RedMonk Programming Language Rankings has raised questions about where exactly the language stands among developers these days.
The twice-yearly RedMonk index ranked Ruby at eighth, the lowest position ever for the language. “Swift and now Kotlin are the obvious choices for native mobile development. Go, Rust, and others are clearer modern choices for infrastructure,” said RedMonk analyst Stephen O’Grady. “The web, meanwhile, where Ruby really made its mark with Rails, is now an aggressively competitive and crowded field.”
Oracle is proposing an update to the Java Virtual Machine to allow for direct-value class types, a modernization required by the advent of multicore processors. There is no schedule for when the changes might appear in the JVM.
The changes to the JVM specification would support a prototype of value classes—classes for which primitive-like non-reference value instances can be created and acted upon. “The proposals for value types in Java are about giving developers the alternative to give up identity and polymorphism so that the runtime can represent the underlying data in a way which is both far more compact and much better suited for processing in bulk operations,” said Georges Saab, Oracle’s vice president of software development in the Java platform group.
The next version of Google’s popular Go language will improve performance, compilation, and scaling to large code bases. Go 1.9 should be released in August.
Go 1.9’s creators expect almost all Go programs to run as they did before, given the focus on maintaining compatibility in this latest release.[ Also on InfoWorld: Tap the power of Google's Go language. | The best Go language IDEs and editors. | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]
Here’s what's new and improved:
Ammonite, an open source tool to use the Scala language for scripting, should debut in its Version 1.0 production version in next two months.
"Scala has traditionally been a heavy, powerful language with heavy, powerful tools. Ammonite aims to let you use it for small, simple tasks as well,” said Ammonite developer Li Haoyi, a former engineer at Fluent Systems. The project enables Scala to vie for tasks that previously have been the domain of Python or the Bash shell for small housekeeping or automation scripts. It also can be used for file system and system administration.