BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Language Design Content on InfoQ

  • PHP Evolved: Facebook's New Hack Programming Language

    PHP has long filled an important role at Facebook, and over the years the company has constantly sought to improve the language's performance. First there was the Hip Hop Virtual Machine, and now there is the Hack, programming language.

  • Rust 0.9 Released With Revised Threading Model

    The Rust team has released the latest version of its next generation programming language. New in this release is a redesigned threading system and several refinements as the language moves towards its 1.0 release.

  • Study: Clojure, CoffeeScript and Haskell Are the Most Expressive General-purpose Languages

    According to a study, the most expressive general-purpose languages are Clojure, CoffeeScript and Haskell. The study uses LoC/commit as the measuring unit of expressiveness.

  • Research into Uniqueness and Reference Immutability for Safe Parallelism in C#

    Some big names from Microsoft, Microsoft Research and the University of Washington have been working on a new variant of C# that introduces the concept of readable and immutable references at the language level. To this effect each reference has one of four permission qualifiers that modify variables and parameters: writable, readable, immutable, and isolated.

  • Ruby 2.0 Preview 1 Released, Final Release in February 2013

    Ruby 2.0's release manager Yusuke Endoh announced the first preview release of Ruby 2.0 and a targeted release in February 2013. InfoQ talked to Yusuke to learn more about the big new features of Ruby 2.0 (Refinements, keyword arguments, Enumerator#lazy, and more) and what users need to know when upgrading.

  • A Proposal for Non-Nullable Types in C#

    Since .NET was still in beta developers have been asking for non-nullable variables with reference semantics. But the problem is far more complicated than simply slapping an attribute or other decoration on the variable. Craig of Twisted Oak Studios has proposed a solution to some of the problems.

  • Interview on Rust, a Systems Programming Language Developed by Mozilla

    Rust is a systems programming language developed by Mozilla and targeted at high performance applications. This post contains an interview with Graydon Hoare, Rust’s creator.

  • Trying to Answer the Question: Why Some Languages Succeed While Others Fail?

    Two researchers at UC Berkeley have investigated programming languages adoption from a sociological perspective. This article summarizes their research and includes an interview with the authors.

  • D1 is Being Discontinued in 2012

    Digital Mars, makers of the C++ alternative D, have decided to discontinue the original version of D. They had been maintaining D1 along with its successor D2 since 2007, but with the later now well established they feel it is no longer appropriate to dedicate resources to the older language past December 2012.

  • Google Dart Roundup: Dart to JS Compiler Frog, Pre-Built Editor/IDE Binaries, Type System Proposals

    Pre-built versions of Dart Editor, the Eclipse-based Dart IDE, are now available, making it easy to try Dart. Frog is a new Dart to Javascript compiler - written in Dart by the creator of the Jython and IronPython projects. Meanwhile the Dart team has been busy explaining the Dart language and proposing features to round out the type system, eg. nullable types and more.

  • Google Dart Language and Tools Announced - Dynamic Language, Optionally Typed, Familiar Syntax

    Google has announced a new language: Google Dart and tools. The language and tools are currently considered a technology preview, and an open source release is available now. The language is not yet in Chrome. Dart is dynamic, optional types and reified Generics. Concurrency uses Erlang-style processes called Isolates, share nothing with async message passing.

  • Java Lambda Syntax based on C#, Scala

    A recent posting on the lambda-dev mailing list announced the conclusion that the Java Lambda syntax will be based on C# syntax, very similar to Scala's implementation that many are already familiar with: "It was better to choose something that has already been shown to work well in the two languages that are most like Java – C# and Scala – rather than to invent something new."

  • An Overview of the X++ Programming Language

    X++ is a 17 year old programming language with a syntax that meshes the structural and imperative features of Java with the set-based operations of SQL. It is primarily used within Dynamics AX, an enterprise resource planning platform. Originally a completely proprietary language, as of 2009 X++ can be compiled to .NET’s Intermediate Languages.

  • Interactive Extensions for LINQ to Objects

    Interactive Extensions (Ix) is a set of additional LINQ to Objects query operators based on the work done in the Reactive Extensions. A quick look through the API reveals a set of IEnumerable extension methods under the System.Linq namespace. While most developers already have many of these in their own utility libraries, having a standard implementation for these missing features would be useful.

  • ClojureScript Brings Clojure To The Browser via Javascript

    Rich Hickey has announced ClojureScript, a version of Clojure that is compiled to Javascript code, which will bring the Clojure language to the browser and to the mobile space. InfoQ takes a look at the rationale for and implementation of ClojureScript.

BT