//No Comment - Swift 3, Faster Parallel & Ruby 2.4.0
Written by Ian Elliot   
Thursday, 15 September 2016

Members of the IProgrammer team each have their own favorite languages and we try to keep up with all the latest developments. These are the most recent three and as we have nothing to add they are presented with //No Comment.

•Swift 3.0 Released!

•Faster parallel computing

•Ruby 2.4.0-preview2 Released

nocomment

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. 

 


swiftlogo

Swift 3.0 Released!

Swift 3.0, the first major release of Swift since it was open-sourced, is now officially released! Swift 3 is a huge release containing major improvements and refinements to the core language and Standard Library, major additions to the Linux port of Swift, and the first official release of the Swift Package Manager.

Swift 3 is a source-breaking release, largely due to the changes in SE-0005 and SE-0006. These changes not only impact the names of the Standard Library APIs, but also completely change how Objective-C APIs (particularly from Cocoa) import into Swift. Many of the changes are largely mechanical, but they can be numerous in a typical Swift project.

To help with moving to Swift 3, Xcode 8.0 contains a code migrator that can automatically handle many of the need source changes. There is also a migration guide available to guide you through many of the changes — especially through the ones that are less mechanical and require more direct scrutiny.

 

nocomment

Faster parallel computing

This week, at the International Conference on Parallel Architectures and Compilation Techniques, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) are presenting a new programming language, called Milk, that lets application developers manage memory more efficiently in programs that deal with scattered data points in large data sets.

In tests on several common algorithms, programs written in the new language were four times as fast as those written in existing languages. But the researchers believe that further work will yield even larger gains.

 


rubylogo

Ruby 2.4.0-preview2 Released

Ruby 2.4.0-preview2 is the second preview of Ruby 2.4.0.

Unify Fixnum and Bignum into Integer

Though ISO/IEC 30170:2012 doesn’t specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed. 

String supports Unicode case mappings

String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case mappings instead of only ASCII case mappings.

Performance improvements

Ruby 2.4 also contains the following performance improvements including language changes:

Array#max, Array#min

[x, y].max and [x, y].min are optimized to not create a temporary array under certain conditions.

Regexp#match?

Added Regexp#match?, which executes a regexp match without creating a back reference object and changing $~ to reduce object allocation.

speed up instance variable access

Debugging

Thread#report_on_exception and Thread.report_on_exception

Ruby ignores exceptions in threads unless another thread explicitly joins them. With report_on_exception = true, you can notice if a thread has died due to an unhandled exception. 

Thread deadlock detection now shows threads with their backtrace and dependency

Ruby has deadlock detection around waiting threads, but its report doesn’t include enough information for debugging. Ruby 2.4’s deadlock detection shows threads with their backtrace and dependent threads.

 

nocomment

 

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.

 

Banner


Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]



Geoffrey Hinton And The Existential Threat From AI
13/10/2024

As the winner of the Nobel Prize For Physics 2024, Geoffrey Hinton found himself being interviewed multiple times. He used the opportunity to reiterate and explain why he has come to see AI as an exis [ ... ]


More News

 

espbook

 

Comments




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

 

nocommentlanguages

Last Updated ( Wednesday, 21 September 2016 )