Programming Languages

RSS
Sort By:

Design Exploration through Code-generating DSLs

High-level DSLs for low-level programming

by Bo Joel Svensson, Mary Sheeran, Ryan Newton | May 15, 2014

0 comments

Domain-specific Languages and Code Synthesis Using Haskell

Looking at embedded DSLs

by Andy Gill | May 6, 2014

CACM This article appears in print in Communications of the ACM, Volume 57 Issue 6

2 comments

The Curse of the Excluded Middle

"Mostly functional" programming does not work.

by Erik Meijer | April 26, 2014

CACM This article appears in print in Communications of the ACM, Volume 57 Issue 6

29 comments

Intermediate Representation

The increasing significance of intermediate representations in compilers

by Fred Chow | November 22, 2013

CACM This article appears in print in Communications of the ACM, Volume 56 Issue 12

1 comments

The Challenge of Cross-language Interoperability

Interfacing between languages is increasingly important.

by David Chisnall | November 19, 2013

CACM This article appears in print in Communications of the ACM, Volume 56 Issue 12

8 comments

A New Objective-C Runtime: from Research to Production

Backward compatibility always trumps new features.

by David Chisnall | July 11, 2012

0 comments

Why LINQ Matters:
Cloud Composability Guaranteed

The benefits of composability are becoming clear in software engineering.

by Brian Beckman | February 14, 2012

CACM This article appears in print in Communications of the ACM, Volume 55 Issue 4

1 comments

Creating Languages in Racket

Sometimes you just have to make a better mousetrap.

by Matthew Flatt | November 9, 2011

CACM This article appears in print in Communications of the ACM, Volume 55 Issue 1

0 comments

Postmortem Debugging in Dynamic Environments

Modern dynamic languages lack tools for understanding software failures.

by David Pacheco | October 3, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 12

0 comments

OCaml for the Masses

Why the next language you learn should be functional

by Yaron Minsky | September 27, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 11

37 comments

Java Security Architecture Revisited

Hard technical problems and tough business challenges

by Li Gong | September 15, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 11

0 comments

DSL for the Uninitiated

Domain-specific languages bridge the semantic gap in programming

by Debasish Ghosh | June 1, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 7

2 comments

Passing a Language through the Eye of a Needle

How the embeddability of Lua impacted its design

by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes | May 12, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 7

3 comments

Sir, Please Step Away from the ASR-33!

To move forward with programming languages we need to break free from the tyranny of ASCII.

by Poul-Henning Kamp | October 25, 2010

CACM This article appears in print in Communications of the ACM, Volume 53 Issue 11

86 comments

The Ideal HPC Programming Language

Maybe it's Fortran. Or maybe it just doesn't matter.

by Eugene Loh | June 18, 2010

CACM This article appears in print in Communications of the ACM, Volume 53 Issue 7

3 comments

A Conversation with Arthur Whitney

Can code ever be too terse? The designer of the K and Q languages discusses this question and many more with Queue editorial board member Bryan Cantrill.

April 20, 2009

2 comments

Purpose-Built Languages

While often breaking the rules of traditional language design, the growing ecosystem of purpose-built "little" languages is an essential part of systems development.

by Mike Shapiro | February 23, 2009

CACM This article appears in print in Communications of the ACM, Volume 52 Issue 4

3 comments

Realtime Garbage Collection

Traditional computer science deals with the computation of correct results. Realtime systems interact with the physical world, so they have a second correctness criterion: they have to compute the correct result within a bounded amount of time. Simply building functionally correct software is hard enough. When timing is added to the requirements, the cost and complexity of building the software increase enormously.

by David F. Bacon | February 2, 2007

1 comments

How Not to Write Fortran in Any Language

There are characteristics of good coding that transcend all programming languages.

by Donn Seeley | December 27, 2004

8 comments

Extensible Programming for the 21st Century

Is an open, more flexible programming environment just around the corner?

by Gregory V. Wilson | December 27, 2004

2 comments

Fuzzy Boundaries:
Objects, Components, and Web Services

It's easy to transform objects into components and Web services, but how do we know which is right for the job?

by Roger Sessions | December 27, 2004

1 comments

Languages, Levels, Libraries, and Longevity

New programming languages are born every day. Why do some succeed and some fail? In 50 years, we've already seen numerous programming systems come and (mostly) go, although some have remained a long time and will probably do so for: decades? centuries? millennia? The questions about language designs, levels of abstraction, libraries, and resulting longevity are numerous. Why do new languages arise? Why is it sometimes easier to write new software than to adapt old software that works? How many different levels of languages make sense? Why do some languages last in the face of "better" ones?

by John R. Mashey | December 27, 2004

0 comments

Linguae Francae

Is programming language a misnomer? Many linguists are still busy trying to reconstruct the single ur-language presumed to have evolved over untold millennia into the thousands of human tongues - alive and dead, spoken and written - that have since been catalogued and analyzed. The amazing variety and complexity of known languages and dialects seems, at first parse, to gainsay such a singular seed.

by Stan Kelly-Bootle | December 27, 2004

0 comments

A Conversation with Alan Kay

Big talk with the creator of smalltalk - and much more. When you want to gain a historical perspective on personal computing and programming languages, why not turn to one of the industry's preeminent pioneers? That would be Alan Kay, winner of last year's Turing Award for leading the team that invented Smalltalk, as well as for his fundamental contributions to personal computing.

by Stuart Feldman | December 27, 2004

4 comments

There's Still Some Life Left in Ada

Ada remains the Rodney Dangerfield of computer programming languages, getting little respect despite a solid technical rationale for its existence. Originally pressed into service by the U.S. Department of Defense in the late 1970s, these days Ada is just considered a remnant of bloated military engineering practices.

by Alexander Wolfe | November 30, 2004

0 comments

Kode Vicious to the Rescue

Dear Kode Vicious, Where I work we use a mixture of C++ code, Python, and shell scripts in our product. I always have a hard time trying to figure out when it's appropriate to use which for a certain job. Do you code in only assembler and C, or is this a problem for you as well?

by George Neville-Neil | November 30, 2004

2 comments

Schizoid Classes

Of class, type, and method

by Rodney Bates | October 25, 2004

0 comments

Toolkit:
Java is Jumpin'

There's perception, and then there's reality. Even though the frenzied hype over Java has died down since the Internet bubble burst, Java is becoming hugely popular in the wireless space. Several events highlight its emergence. Most recently, in December, Texas Instruments opened a research operation in France to focus on the integration of Java apps into the next generation of wireless devices.

by Alexander Wolfe | February 24, 2004

0 comments