A New Objective-C Runtime: from Research to Production
Backward compatibility always trumps new features.
Why LINQ Matters:
Cloud Composability Guaranteed
The benefits of composability are becoming clear in software engineering.
Creating Languages in Racket
Sometimes you just have to make a better mousetrap.
Postmortem Debugging in Dynamic Environments
Modern dynamic languages lack tools for understanding software failures.
OCaml for the Masses
Why the next language you learn should be functional
Java Security Architecture Revisited
Hard technical problems and tough business challenges
DSL for the Uninitiated
Domain-specific languages bridge the semantic gap in programming
Passing a Language through the Eye of a Needle
How the embeddability of Lua impacted its design
Sir, Please Step Away from the ASR-33!
To move forward with programming languages we need to break free from the tyranny of ASCII.
The Ideal HPC Programming Language
Maybe it's Fortran. Or maybe it just doesn't matter.
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.
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.
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.
How Not to Write Fortran in Any Language
There are characteristics of good coding that transcend all programming languages.
Extensible Programming for the 21st Century
Is an open, more flexible programming environment just around the corner?
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?
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?
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.
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.
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.
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?
Schizoid Classes
Of class, type, and method
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.
