InfoQ

InfoQ

Topic/Tag specific view

Languages Content on InfoQ


Latest featured content about Languages

Raw Notes from Redmond

Topics
.NET Framework,
.NET

During the first week of May InfoQ went to Redmond for an informal meeting to discuss emerging trends. Normally when we go on this sort of fact-finding mission the reporter’s notes are off the record but we asked for permission to publish them as-is. With the exception of removing email addresses and one piece of NDA material, these are the notes shared within our editorial staff.

News about Languages

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

Topics
Dynamic Languages,
Language,
Language Design,
Compilers,
Javascript

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.

ClojureScript Brings Clojure To The Browser via Javascript

Topics
Dynamic Languages,
Language Design,
Compilers,
Javascript,
Programming,
Ruby,
Domain Specific Languages,
Java,
Language,
Architecture

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.

Articles about Languages

A Blend of Java and Ruby - The Mirah Language

Topics
Dynamic Languages,
Java,
Language,
Language Design,
Compilers,
Ruby

Mirah is a new language for the JVM that can do everything the Java language can do - but with a Ruby-ish syntax and powerful metaprogramming. InfoQ talks to Mirah's creator Charles Nutter.

Developing a Complex External DSL

Topics
Domain Specific Languages,
Architecture

In this article Vaughn Vernon explains the difference between internal and external DSLs and shows the steps involved in developing a complex external DSL.

Presentations about Languages

OOPSLA Keynote: The Power Of Abstraction

Topics
Language Design,
Programming,
Architecture

In a reprise of her ACM Turing Award lecture, Barbara Liskov discusses the invention of abstract data types, the CLU programming language, clusters, polymorphism, exception handling, iterators, implementation inheritance, type hierarchies, the Liskov Substitution Principle, polymorphism, and future challenges such as new abstractions, parallelism, and the Internet.

Functions + Messages + Concurrency = Erlang

Topics
Dynamic Languages,
Programming,
Architecture,
Messaging

This presentation explores how Erlang addresses the general problem of concurrent, real-time, fault-tolerant, and distributed parallel computing. The author argues that changes in the world of hardware and the complexity of the programs we write assure that sequential programs will decline in performance but parallel programs will increase performance.

Interviews about Languages

Dan Ingalls on the History of Smalltalk and the Lively Kernel

Topics
Dynamic Languages,
Rich Internet Apps,
Language Design,
Compilers,
Javascript,
Ruby,
Syntax,
Runtimes,
Java,
Language,
.NET,
Architecture

Dan Ingalls explains the ideas that went into Smalltalk, how it was developed at Xerox PARC, the ideas that went into Squeak, and his latest project the browser-based Lively Kernel.

Dean Wampler on Programming Languages

Topics
Dynamic Languages,
Language Design,
Javascript,
Programming,
JRuby,
Ruby,
Domain Specific Languages,
AOP,
Java,
.NET,
Architecture

This interview begins with a discussion of functional programming, the use of Scala by programmers trained in Java and the differences between purely functional languages like Haskell and hybrids like Scala. Later in the interview other programming languages are discussed along with the notion of programming paradigms and the need for combining both paradigms and languages to best solve problems.