1st International Workshop on Interpreted Languages

Interpreted programming languages are increasingly gaining importance in both the commercial and scientific world.

Python, for instance, is used by both Hollywood's digital designers to script visual effects and astronomers, who like it because of its good support for numerical mathmatics. Perl has been the de facto standard for UNIX system administration for almost 20 years now and PHP already drives more than 15 million websites.

This world of interpreted programming languages, to which also C# and Java belong, is changing: New platforms and runtime environments like Microsoft.Net or Parrot (which will become the core of Perl 6) emerge while languages like PHP and Python evolve and younger languages like Ruby enter the stage.

The "1st International Workshop on Interpreted Languages" will take this into account and present current developments from the exciting world of interpreted languages as part of the Net.ObjectDays conference that is held September 27-30 2004 in Erfurt, Germany.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Conflict of Interest

It's best if people explicitly state any special interest they have in events, publications etc. they promote here.

Re: Conflict of Interest

Sorry if my conduct was unappropriate. The only interest I have in this is personal and technical. I am not getting paid for this. I have put together the programme and invited the speakers because I am interested in the topic.

I think...

...that all Ehud is asking for is a single sentence like "I'm on the PC of the International Foobar Workshop, and think it will be of interest to LtU readers." You're doing the community a service, so let us know that, too!


I thought I was perhaps a bit unclear and I apologize. There's nothing wrong with posting this sort of item, but let us know your interest, that's all.

Definition of "interpreted language"?

Of course it's been pointed out on LtU before, and elsewhere, that "interpreted" is a property of implementations, not languages. By the implied definition in the above announcement, "interpreted languages" covers a pretty large space. If C# is included, presumably Managed C++ should also be included.

But this means that any language capable of running on a virtual machine is an interpreted language, either by virtue of the fact that the virtual machine is an interpreter, and/or because the VM is capable of loading code at runtime. Is this really a useful definition, though? What are the common characteristics of languages that share this broad definition of "interpreter" that are interesting? For that matter, what *is* the definition of "interpreted language" being used here?

Quoting myself, the technically useful definition of "interpreter" is a program which executes another program. There's a secondary common usage which comes from the historically typical behavior of interpreters, which relates to having an interactive toplevel, or other such dynamic behavior. However, there are many ways to achieve this sort of dynamic behavior. You can see an example in the SML/NJ REPL, which as far as I know compiles input expressions to native code before executing them. Is SML/NJ an interpreted language? (Not by any normal definition of the term.) Or is it that the SML/NJ REPL implements an interpreted version of SML/NJ?

This may all seem picky, but hopefully you can see there are some real questions here.

C# is not interpreted

At least not in the .NET implementation. The .NET CLR is not a virtual machine, all code is JITted before execution. A minor nitpick, but stil...

C# may be interpreted

IIRC DotGNU's C# implementation is interpreted and some micro-benchmarks give it better results than mono JIT compilation.

Also as people said before interpretation is an implementation strategy, not a property of languages (although some languages may be almost impossible to compile).

As I said...

"At least not in the .NET implementation...". I did not argue against interpretation being a property of the implementation, not of the language (a mantra so often repeated here recently).

C# is compiled in all current implementations, however...

Actually, in all C# implementations I'm familiar with C# is compiled to IL.

CLR implementations differ on how they execute IL (regardless on whether it came from C# or another language). Most JIT it to machine code, some pre-JIT it, and some employ a VM to execute it.

IIRC, Microsoft has at least one .NET implementation that is an interpreter; this is useful for very weak environments, and for bootstrapping a CLR on new profiles.