General

Cw

C-omega, Microsoft Research's experimental language featuring asynchronous concurrency (formerly, Polyphonic C#) and XML data types (Xen), is now available for download.

I think this is an interesting project. It was discussed here several times in the past.

I think that the integration of the new features with the core language is quite nice (e.g., XML types and the type system), so I suggest taking a look even if you are not particularly in favor of embedding XML in programming language.

The Cw home page includes links to relevant papers. And here's a LtU discussion of Xen and a discussion of Polyphonic C#.

The ongoing LtU discussion.

An Interview with Donald Knuth

A very pleasant 1996 interview with Donald Knuth by Jack Woehr of Dr. Dobb's Journal.

Reflections on reflection - Henk Barendregt

(Link)

Here's something to exercise both brain hemispheres. Henk Barendregt needs no introduction for many LtU readers - he literally wrote "the book" on the lambda calculus, and that only hints at the profound impact his work has had on lambda calculus and type theory.

The page linked above lists two overlapping papers, both about reflection:

Reflection plays in several ways a fundamental role for our existence. Among other places the phenomenon occurs in life, in language, in computing and in mathematical reasoning. A fifth place in which reflection occurs is our spiritual development. In all of these cases the effects of reflection are powerful, even downright dramatic. We should be aware of these effects and use them in a responsible way.

A prototype situation where reflection occurs is in the so called lambda calculus. This is a formal theory that is capable of describing algorithms, logical and mathematical proofs, but also itself.

As the first paragraph quoted above implies, the scope of these two papers extends far beyond the lambda calculus, into fields such as biology and meditation. Between the two papers, there's something for everyone:

"Reflection and its use, from science to meditation" is wide-ranging, covering reflection related to living cells, formal languages, mathematics, art, computers, and the human mind.

"Reflection and its use, with an emphasis on languages and lambda calculus", focuses specifically on reflection in formal languages, including combinatory logic and lambda calculus.

alt.lang.jre @ IBM developerWorks

Welcome to the new series alt.lang.jre. While most readers of this series are familiar with the Java language and how it runs on a cross-platform virtual machine (part of the JRE), fewer may know that the JRE can host languages besides the Java language. In its support for multiple languages (including some that pre-exist the Java platform) the JRE provides a comfortable entry point for developers coming to the Java platform from other backgrounds. It also gives developers who have rarely, if ever, strayed from the Java language the opportunity to explore the potential of other languages without sacrificing the familiarity of the home environment.

This series may become an amusing resource.

The first installment is about Jython.

Eric Gunnerson's JavaOne report

This may be of interest to LtU readers.

Most of the specific language features were discussed here previously, but the C# perspective may make this worth a look.

ILC2002 Proceedings and Videos

The proceedings of the International Lisp Conference 2002 are now freely available for download here. A selection of video-recorded talks are also downloadable (currently the Robocup ones). ILC2002 was previously covered on LtU in a great report from Oleg.
Enjoy!

Open-sourcing Java

Should Sun open-source Java? "The Big Question" keynote debate at JavaOne in San Francisco was devoted to this question.

Now, I don't really know what open-sourcing a language means, but this is obviously an important question...

The Java language specification and the JVM spec are both public. The Sun JVM isn't open source, but there are many other Java VMs out there.

The community process is controlled by Sun, but then again some process must exist if you want the language to remain cohesive, and someone or some group will have to control this process.

So it seems that this is ultimately about community dynamics. Languages create communities. Communities shape the way languages evolve.

We are not the only ones doing it...

The Secure Coding mailing list is having field day arguing about Marcus Ranum's ACM Queue article, Security: The root of the problem.

Normally, I wouldn't link to this thread since it isn't specifically about programming languages.

However, programming languages are being mentioned, and static analysis tools discussed (esp. SPARK). Moreover, I think the dynamics of the debate are quite similar to the dynamics of the ongoing (and eternal) debate in the discussion group regarding static typing. Perhaps, seeing this sort of quicksand action hapenning in a different context can help us learn how to focus PL-related debates and make them more productive.

Note: I am not trying to rain on anyone's parade. In fact, I think LtU is better than most other forums when it comes to this kind of debate. But non-productive debates on these issues are a common problem in PL discussions.

Pragmatic Programmers Interview

Nothing really new for the LtU audience in this interview with the Pragmatic Programmers, but it is interesting to read their views on programming language. This quote is nice, even if you aren't a Lisp fan:

Ultimately, it comes down to ease of expression. If I can express myself in code at a level closer to the problem domain, then I'm going to be more effective, and my code is likely to be easier to maintain and extend. Paul Graham makes a big deal out of the way Lisp helped him while building the software that became Yahoo Stores, and he's right. These languages, applied properly, are a strategic advantage. I know some companies are using them with great success. And you know -- they're keeping quiet about it.

They also have an interesting take on the publishing industry, which certainly in academic circles is having a harder time justifying its existence.

An Invitation to Ada 2005

A presentation about the additions and changes in Ada 2005.

It's interesting to see how Ada that once influenced C++, Java and eventually C# (e.g., generics, strong typing) is now being influenced by them (e.g., interfaces, container library, integration of tasking and inheritance).

As I've said here before, the Ada design process is quite interesting, seeing as most Ada users are quite conservative -- due to the fact thar they are building mission critical software -- while the language designers try to move the language forward without alienating its user base.

XML feed