Paul Krill

About the Author Paul Krill


.Net Core 2.0 to extend coding optimizations to Linux

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Microcosm simplifies state management for React apps

Viget Labs has published a data layer for Facebook’s popular React JavaScript UI library. Called Microcosm, the open source tool manages state and data flow for React applications, keeping track of user actions even when users switch context or lose connectivity. 

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Survey says Python is tops with developers

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Mozilla brings Python-style project documentation to JavaScript

Wanting a more full-featured documentation tool for large JavaScript projects, Mozilla has unveiled Sphinx-js, a plug-in that pulls JSDoc-formatted JavaScript documentation into the Sphinx documentation tool used in the Python world.  

Sphinx-js consumes documents and tags from the JSDoc markup language used to document JavaScript APIs and libraries. Sphinx-js delegates the parsing to JSDoc itself. The Sphinx tool, meanwhile, is used to initialize a docs folder in the root folder of your project, whereupon the plug-in is activated and you document your code using the reStructuredText plain text markup syntax and parser system.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Go language soars to new heights in popularity

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.

Tiobe called Go’s latest rise an important landmark and pondered what was next. “Is Go really able to join the big stars in the programming language world and leave languages such as JavaScript and Python behind? We will see.” The language was ranked in 55th place in the index a year ago. Go’s previous high score was a 2.325 percent rating in January, when it placed 13th.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Luna brings visual development to functional programming

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.

Expected to be released as open source when Luna reaches beta, its compiler will produce native code for the developer’s choice of Linux, MacOS, Windows, or JavaScript. The team behind Luna is seeking candidates for a private alpha release.

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Eclipse gets ready for Java 9 with Oxygen release train

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:

  • 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.

Focused on open source tools, Eclipse has offered annual release trains every June since 2006, letting developers coordinate upgrades or new releases of multiple projects. Last year’s release train, Neon, offered tools for Docker and JavaScript. June 2018’s release is slated to be called Neon.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

The road to Java 9: Modular Java finally gets OK’d

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.

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Progressive web apps challenge native mobile apps

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.

Twitter’s progressive web app, Twitter Lite, takes up less than 1MB of memory, compared to more than 100MB for its native iOS app and 23MB for its native Android app, Osmani said. The client-side JavaScript app uses less data and supports push notifications and offline use.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

The road to Java 9: Only critical bugs getting fixed now

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Ruby’s decline in popularity may be permanent

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.”

To read this article in full or to leave a comment, please click here

Read more 0 Comments

CheerpJ converts Java apps into JavaScript for the web

Melding Java and web development, CheerpJ is being readied as compiler technology that takes Java bytecode and turns it into JavaScript, for execution in browsers. Based on the LLVM/Clang compiler platform as well as Learning Technologies’ own Cheerp C++-to-JavaScript compiler, CheerpJ takes Java bytecode and turns it into JavaScript without needing the Java source.

In CheerpJ, applications and Java libraries are converted to web applications, so there is no need for plug-ins or Java installations. Server-side Java components can become client-side browser-based libraries while native Java code serves as platform-independent components for the Node.js server-side JavaScript platform.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

JVM may get upgrade to support today’s multicore processors

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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

What’s new in Google’s Go 1.9 language

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. 

Here’s what’s new and improved:

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Q&A: Hortonworks and IBM double down on Hadoop

Hortonworks and IBM recently announced an expanded partnership. The deal pairs IBM’s Data Science Experience (DSX) analytics toolkit and the Hortonworks Data Platform (HDP), with the goal of extending machine learning and data science tools to developers across the Hadoop ecosystem. IBM’s Big SQL, a SQL engine for Hadoop, will be leveraged as well.

InfoWorld Editor at Large Paul Krill recently met with Hortonworks CEO Rob Bearden and IBM Analytics general manager Rob Thomas at the DataWorks Summit conference in Silicon Valley, to talk about the state of big data analytics, machine learning, and Hadoop’s standing among the expanding array of technologies available for large-scale data processing.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Scala goes skinny: Ammonite tunes the heavyweight for simple tasks

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.

The two-year-old project lets Scala be used for small scripts. It offers an interactive REPL (read-eval-print loop) and system shell capabilities. The project also can be used as a library in existing Scala projects, via the Ammonite-Ops file system library.

“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.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

What’s new in Microsoft’s TypeScript 2.4

Version 2.4 of TypeScript, a popular, typed superset of JavaScript, will offer improved load times with the addition of a dynamic import expressions capability. A release candidate version is now available via NuGet or via NPM, using the command npm install -g typescript@rc.

New TypeScript 2.4 features include dynamic import expressions, an ECMAScript feature that allows for asynchronously loading a module at any arbitrary point in a program. The capability results in faster load times for critical content, with less JavaScript being transmitted in many common scenarios. “Projects that use bundlers like Webpack can operate on these import() calls and split code into smaller bundles that can be lazily loaded,” said Daniel Rosenwasser, Microsoft’s program manager for TypeScript.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

TypeScript 2.4 improves load times, weak type-checking

Version 2.4 of TypeScript, a popular, typed superset of JavaScript, will offer improved load times with the addition of a dynamic import expressions capability. A release candidate version is now available via NuGet or via NPM, using the command npm install -g typescript@rc.

New TypeScript 2.4 features include dynamic import expressions, an ECMAScript feature that allows for asynchronously loading a module at any arbitrary point in a program. The capability results in faster load times for critical content, with less JavaScript being transmitted in many common scenarios. “Projects that use bundlers like Webpack can operate on these import() calls and split code into smaller bundles that can be lazily loaded,” said Daniel Rosenwasser, Microsoft’s program manager for TypeScript.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Visual Studio Code comes to Chromebooks, Raspberry Pi

A community build project led by developer Jay Rodgers is making Visual Studio Code, Microsoft’s lightweight source code editor, available for Chromebooks, Raspberry Pi boards, and other devices based on 32-bit or 64-bit ARM processors.

Supporting Linux and Chrome OS as well as the DEB (Debian) and RPM package formats, the automated builds of Visual Studio Code are intended for less-common platforms that might not otherwise receive them. Obvious beneficiaries will be IoT developers focused on ARM devices—and the Raspberry Pi in particular—who will find it helpful to have the editor directly on the device they’re programming against. 

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Google adds Recaptcha API to Android to block the bots

Developers on the Android mobile platform, which has had ongoing problems with security, now have at their disposal an API intended to protect apps from malicious traffic and bots.

Google is adding a Recaptcha API to Google Play Services for Android apps. The API is included with Google SafetyNet, a set of services and APIs to protect against threats that include device tampering and potentially harmful apps.

Critical to the API is Google’s latest Recaptcha technology, which provides behind-the-scenes risk analysis and has let actual people pass through with no clicks. With Android apps updated to support the new API, mobile users can use their apps without being interrupted yet still avoid spam and abuse.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Apple’s Xcode 9 beta previews blockbuster improvements

With Xcode 9, a forthcoming upgrade to Apple’s integrated development environment for building apps for MacOS, iOS, tvOS, and watchOS, Apple is introducing a new source editor, a new build system, and compatibility with the Swift 4 language. A beta version of Xcode 9 was made available earlier this week. 

The latest version of Xcode brings a host of other improvements as well, in areas ranging from debugging, refactoring, and GPU support to a snappier find and replace capability. The new editor also offers faster scrolling for any-sized file and easier access to common tasks, Apple said. A new source control navigator is featured for viewing branches, tags, and remote repositories for a workspace.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Apple’s WebKit joins the WebAssembly bandwagon

Momentum continues to build for the WebAssembly binary format. WebKit, Apple’s open source browser engine used in Safari, now has a full implementation of WebAssembly.

The implementation supports WebAssembly on Intel x86-64 and ARM64 processors. Calling WebAsembly a “no-nonsense sidekick to JavaScript,” Apple’s Saam Barati and two colleagues, JF Bastien and Keith Miller, described WebAssembly as a low-level binary format designed to be a suitable compilation target for languages such as C++. “The WebAssembly code that the browser sees will already have undergone high-level, language-specific optimizations. This is great because it means implementations don’t have to know about how C++ or other languages are optimized,” Barati said.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

GitHub Enterprise users get project management, data access improvements

GitHub has added data access tools and advanced project management to GitHub Enterprise, the on-premises version of the company’s code-sharing platform.

Here are the notable features in GitHub Enterprise 2.10, which can be installed on a user’s own hardware or on a cloud service such as Amazon Web Services or Microsoft Azure:

  • The GraphQL API to help developers to build their own tools with greater access to data via the same API used to build GitHub itself. 
  • Project boards give users are provided a history of project activities, including notifications as to which team member was behind each action.
  • For project reviews, a filter prioritizes pull requests, such as a request for items still awaiting review, an approved pull request, or requests that are ready to be merged. Users also can specify who is permitted to dismiss reviews on a protected branch.
  • Version 2.0.0 of Git LFS (Large File Storage), which offers an early version of file locking, to prevent multiple updates at the same time.
  • Administrators can configure API rate limiting, which can prevent overuse of resources, from the management console.
  • To organize repositories, administrators can manually add tags to repositories for search and discovery. Topics can be designated for adding relevant data and group repositories by languages used, project functions, or teams responsible for maintaining a repository.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Kotlin’s a rising star in language popularity index

Boosted by its ties to Android mobile application development, Kotlin is a rising star in the Tiobe language popularity index.

The statically typed language developed by JetBrains initially for the Java Virtual Machine, reached the top 50 in the index this month for the first time, ranking 43rd, although it has a rating of just 0.346 percent. Still, this places Kotlin ahead of other more-established languages such as Groovy and Erlang. Kotlin was ranked 80th just last month.

Software quality services vendor Tiobe’s index assesses language popularity based on a formula that examines searches in popular search engines such as Google, Wikipedia, Bing, and Yahoo, looking at the number of skilled engineers, courses, and third-party vendors related to a language.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

WebAssembly wins! Google pulls plug on PNaCl

For Google, it is time to ring out the old and ring in the new when it comes to running native code in the browser. To this end, Google is making the WebAssembly portable code format its solution for native code going forward, displacing the company’s Portable Native Client (PNaCl).

PNaCl lacked the desired cross-browser compatibility offered by WebAssembly, the company said. PNaCl support will be removed early next year except in Chrome Apps and Extensions. Google said usage of PNACl is low enough to warrant deprecation and that WebAssembly has a vibrant ecosystem, making it a better fit. “Historically, running native code on the web required a browser plugin. In 2013, we introduced the PNaCl sandbox to provide a means of building safe, portable, high-performance apps without plugins,” Google’s Brad Nelson, software engineer on NaCl, PNaCl, and WebAssembly, said. “Although this worked well in Chrome, it did not provide a solution that worked seamlessly across all browsers.”

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Node.js 8 brings sanity to native module dependencies

Node.js, the popular server-side JavaScript platform, has been upgraded with improvements related to the runtime, buffer security, URL parsing, and preserving dependencies on native modules across major Node.js upgrades.

On the module dependencies front, Node.js 8.0.0, released today by the Node.js Foundation, introduces the Node.js API, or N-API, albeit still behind an experimental flag. The N-API is designed to eliminate the breakage of dependencies on native modules that happens between release lines.

Although native modules are a small portion of the modular ecosystem, 30 percent of all JavaScript modules rely indirectly on native modules, which are written in C or C++ and are bound to the Chrome V8 JavaScript engine. “Every time Node.js has a major release update, package maintainers have to update these dependencies,” the foundation said.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Node.js 8 brings sanity to native module dependencies

Node.js, the popular server-side JavaScript platform, has been upgraded with improvements related to the runtime, buffer security, URL parsing, and preserving dependencies on native modules across major Node.js upgrades.

On the module dependencies front, Node.js 8.0.0, released today by the Node.js Foundation, introduces the Node.js API, or N-API, albeit still behind an experimental flag. The N-API is designed to eliminate the breakage of dependencies on native modules that happens between release lines.

Although native modules are a small portion of the modular ecosystem, 30 percent of all JavaScript modules rely indirectly on native modules, which are written in C or C++ and are bound to the Chrome V8 JavaScript engine. “Every time Node.js has a major release update, package maintainers have to update these dependencies,” the foundation said.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Java 9 delayed due to modularity controversy

Java 9 won’t be released on July 27 after all.

Oracle has proposed that Java 9 Standard Edition be delayed until September so the open source community that is finalizing Java 9 can address the ongoing controversy over a planned but later rejected approach to modularity, said Georges Saab, vice president of software development in the Java platform group at Oracle and chairman of the OpenJDK governing board.

The Java Platform Module System, a key capability of Java Development Kit 9 and the subject of Java Specification Request (JSR) 376, failed in a vote by the Java executive committee earlier this month. IBM, Red Hat, and Twitter, among others, voted against the plan, because they believed it would be too disruptive to developers and would fragment the Java community.

To read this article in full or to leave a comment, please click here

Read more 0 Comments

Amateur web developers can now look to Mavo

Mavo, a tool to turn static HTML into reactive web applications without programming code or a server back end, has just moved to the beta stage. It could be boon for non-programmers looking to get their feet wet in web development.

Built at MIT by a team led by computer scientist Lea Verou, the open source Mavo is an HTML-based language that extends HTML syntax to describe web applications that can manage data, with data stored in the cloud, locally, or not at all. Plugins can be used to modify Mavo’s behavior.

Mavo is similar to Angular 1.x, the since-superseded version of Google’s JavaScript framework. Both have an HTML-based syntax and support expressions. But Angular was never designed with the goal of writing entirely in HTML; it “treats HTML as a shortcut for data binding to views, but everything else is expected to be written in JavaScript,” according to the Mavo team.

To read this article in full or to leave a comment, please click here

Read more 0 Comments