//No Comment - TypeScript 2.1 RC, Octave 4.2 & Scala 2.12.0
Written by Ian Elliot   
Friday, 18 November 2016

• TypeScript 2.1 RC

• Octave 4.2

• Scala  2.12.0 


Sometimes the news is reported well enough elsewhere and we have little to add other than to bring it to your attention.

No Comment is a format where we present original source information, lightly edited, so that you can decide if you want to follow it up. 





TypeScript 2.1 RC: Better Inference, Async Functions, and More

Microsoft's replacement or superset of JavaScript is available as a new release candidate. The new version has some interesting new features the most important is probably the improvements to async and await:

Support for down-level asynchronous functions (or async/await) is coming in 2.1, and you can use it in today's release candidate! async/await is a new feature in ECMAScript 2017 that allows users to write code around promises without needing to use callbacks. async functions can be written in a style that looks synchronous, but acts asynchronously, using the await keyword.

This feature was supported before TypeScript 2.1, but only when targeting ES6/ES2015. TypeScript 2.1 brings the capability to ES3 and ES5 runtimes, meaning you'll be free to take advantage of it no matter what environment you're using.

The second big feature is improved type inference:

With TypeScript 2.0 we built out a foundation of using control flow analysis to track the flow of types throughout your program. Because that analysis examines the assignments of every variable, we've leveraged that same foundation in TypeScript 2.1 to more deeply examine the type of any variable that seems like it's destined for a better type. Instead of just choosing any, TypeScript will infer types based on what you end up assigning later on.

TypeScript has the difficult task of evolving into a language of its own while staying compatible with JavaScript. 






GNU Octave 4.2 Advances As MATLAB Alternative

Octave is one of the best kept secrets of the open source world. It is MatLab that tends to get all of the glory and even when programmers use Octave they tend to say that they have written in the better known Matlab. Octave is essentially an open source version of MatLab.

And if you don't know what MatLab is you probably aren't going to be much interested in Octave but for the record it is a number crunching language which has many matrix and advanced math operations built in and has the ability to execute many algorithms in parallel. 

If you want to know more see: A Programmer's Guide To Octave 

The new version has  lot of minor changes most of which bring it close to the commercial version of MatLab.

  • gnuplot 4.4 is now the minimum version supported by Octave.
  • The default set of colors used to plot lines has been updated to be compatible with Matlab's new default color scheme.
  • The default colormap is now set to "viridis" which is also the default colormap in matplotlib.
  • When starting, Octave now looks in the function path for a file startup.m and executes any commands found there. This change was made to accommodate Matlab users. Octave has it's own configuration system based on the file .octaverc which is preferred.

There are also some new ways of entering numeric and text values. 






Scala, best described as a strongly typed functional programming language that runs on the JVM is available in a new version which makes use of many Java 8 features. 

  • A trait compiles directly to an interface with default methods. This improves binary compatibility and Java interoperability.


  • Scala and Java 8 interop is also improved for functional code, as methods that take functions can easily be called in both directions using lambda syntax. The FunctionN classes in Scala's standard library are now Single Abstract Method (SAM) types, and all SAM types are treated uniformly – from type checking through code generation. No class file is generated for a lambda; invokedynamic is used instead.

This release ships with a new optimizer:

  • Inlining: many more (effectively) final methods, including those defined in objects and traits, are now inlined.


  • Closure allocations, dead code, and box/unbox pairs are eliminated more often. 







To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.


Controlling 5,000 Autonomous Drones

With the skies full of drones, how can drone collisions be avoided? Inspired by flocking models in nature, researchers in Hungary have come up with an algorithm to handle large volumes of autonom [ ... ]

Look Once to Hear - A Spy's Dream Come True

Deep learning has triumphed again. You can don a pair of headphones, look at a person talking and from then on the system will track the person so you can hear them as they move away or become swamped [ ... ]

More News


kotlin book



or email your comment to: comments@i-programmer.info


The default set of colors used to plot lines has been updated to be
    compatible with Matlab's new default color scheme. 
Last Updated ( Wednesday, 30 November 2016 )