Anything is better than perl —

“Silver” brings Apple’s Swift language to the .NET and Java worlds

Free compiler integrates into Visual Studio.

Fans of Apple's Swift language can now use their newly developed skills to write software for systems supporting both .NET and Java, including Android.

The Silver compiler, currently in beta, compiles Swift programs to run in the .NET and Java runtimes. It can also produce native binaries to run on OS X. With Silver, Swift developers can share their business logic and non-interface code across the different platforms.

Silver won't, however, permit full cross-platform apps to be developed. The company behind Silver, RemObjects, promotes the use of native development: iOS apps should use iOS user interface libraries so that they feel right on iOS. Similarly, .NET apps should use Windows' user interface libraries, and Java apps should use the Android or Java libraries as appropriate. The justification is that this will produce interfaces that are familiar to the users of the various platforms.

This is similar to the approach promoted by Xamarin for its cross-platform C# implementation. In its most recent version, Xamarin has softened this stance somewhat and produced a toolkit to enable some amount of cross-platform interface development in order to meet the needs of line-of-business developers, who are less concerned with having apps that feel native and more concerned with speed of development.

On Windows, Silver integrates with Visual Studio 2013 and 2015. For OS X, RemObjects has its own IDE called Fire. RemObjects has paid commercial compilers for C# and its own Delphi-derived language, Oxygene. The company is trying something different for Silver; the compiler, though proprietary, will be released for free both during the beta and once stable.

RemObjects has had to introduce a small number of extensions to the Swift language to handle the vagaries of the other platforms. For example, both .NET and Java make use of exceptions, which Swift doesn't have. A handful of other features aren't supported yet, reflecting the beta status of the compiler.

The list of unsupported features grew a little longer today, as Apple announced Swift 1.2 and Xcode 6.3 beta. The new version makes a number of small improvements to the language in response to developer feedback, along with faster compilation times.

Channel Ars Technica