User loginNavigation |
Adam Bosworth: Ajax reconsidered
This isn't really about programming languages, but I still think it is relevant to our discussions,
A lot of Ajax applications have a lot of script (often 10 or 20,000 lines) and without broadband, the download of this can be extremely painful. With broadband and standard tricks for compressing the script, it is a breeze. Even if you could download this much script in 1997, it ran too slowly. Javascript wasn't fast enough to respond in real time to user actions let alone to fetch some related data over HTTP. But Moore's law has come to its rescue and what was sluggish in 1997 is often lightning quick today. We often tell people that execution speed is less important than code readability and flexibility, which depend on high level abstraction facilities found in HLLs. I guess we should consider bandwidth efficiency instead...
What I predict will drive this change is the advent of truly mobile computing on mobile devices. This is going to force the game to change. It is way too expensive to build solutions for mobile on J2ME and often too poor a customer experience when they are built using WAP (except for super simple things). I think that we're going to rethink browsing around a model which has pub/sub, events, and caching built in.. Languages for mobile code are going to be important for this next phase. I think there are still many interesting language design questions related to mobile code that people should start thinking about (cf. Links). I am sure a savvy language maven can become the next BDFL, or alternatively earn some big bucks, by helping attack this problem. Variables as ChannelsMethod mixins - written by Erik Ernst
This paper provides an interesting perspective on the role of variables in programming. It is about a construct called method mixins, but the discussion about the role of variables in Sec. 2 is relatively independent of the specific construct proposed in the paper: By Klaus Ostermann at 2005-06-02 08:49 | Functional | Object-Functional | OOP | 12 comments | other blogs | 7787 reads
A Core Calculus of MetaclassesA Core Calculus of Metaclasses - written by Sam Tobin-Hochstadt and Eric Allen for Fool 12
Metaclasses are a nifty (albeit somewhat arcane) OOP feature. I found the article interesting, but I had a lot of trouble with the elaborate type soundness proofs. Those who are unfamiliar with metaclass programming might want to read some introductory material before tackling this article. Metaclass Programming in Python by Mertz and Simionato is a particularly good overview. LtU needs you!
It seems that the LtU community has grown quite a bit recently, and the editorial team has to play catch-up.
If you are regular reader, and follow programming related news from other venues (e.g., online discussion groups, departmental seminar, read published paper for fun), how about joining the team and posting relevant items to the home page? If you are interested, please get in touch with me via email. 2005 ICFP Programming Contest
Think your favorite programming language is the best one out
there? Put it to the test in this year's International Conference on Functional Programming's annual Programming Contest. The contest is coming up in a little under 4 weeks and we have just released more information (including a live cd, mailing list, and prize details) to the web page, at: http://icfpc.plt-scheme.org/ This year's competition rewards programmers who can plan ahead. As before, we'll announce a problem and give you three days to solve it. Two weeks later, we'll announce a change to the problem specification and give you one day to adapt your program to the new spec. And you guessed it: the second half will be worth considerably more than the first. Important dates:
ICFP Contest Organizers icfpc@plt-scheme.org By robby at 2005-05-30 18:05 | LtU Forum | login or register to post comments | other blogs | 6683 reads
The Essence of Data Access in Cw
The Essence of Data Access in Cw, The power is in the dot! Gavin Bierman, Erik Meijer, and Wolfram Schulte.
In this paper we concentrate on the data dimension. Our aim is to describe the essence of these extentions; by which we mean we identify, exemplify and formalize their essential features. Our tool is a small core language FCw, which is a valid subset of the full Cw language... we are able to formalize the type system and operational semantics of the data access fragments of Cw. If you have been following the discussions here of Cw, you already know about the language features discussed here, since the paper doesn't introduce new features. If you haven't seen Cw, section 2 is a short and readable introduction. The rest of the paper is more formal, and unless you need to prove formal results regarding Cw, might not be all that interesting. It won't hurt to keep in mind that it exists, since some of us may need something like FCw at one point or another. By Ehud Lamm at 2005-05-28 09:07 | Semantics | Type Theory | XML | login or register to post comments | other blogs | 7362 reads
Judy StoresA Judy tree is generally faster than and uses less memory than contemporary forms of trees such as binary (AVL) trees, b-trees, and skip-lists. When used in the "Judy Scalable Hashing" configuration, Judy is generally faster then a hashing method at all populations. Some of the reasons Judy outperforms binary trees, b-trees, and skip-lists:
The Achilles heel of a simple digital tree is very poor memory utilization, especially when the N in N-ary (the degree or fanout of each branch) increases. The Judy tree design was able to solve this problem. In fact a Judy tree is more memory-efficient than almost any other competitive structure (including a simple linked list). A highly populated linear array[] is the notable exception. Worth a look, considering the open-source LGPL license and range of applications. HP released this library in 2004. From the PDF manual, Judy arrays are remarkably fast, space-efficient, and simple to use. No initialization, configuration, or tuning is required or even possible, yet Judy works well over a wide dynamic range from zero to billions of indexes, over a wide variety of types of data sets -- sequential, clustered, periodic, random. By Mark Evans at 2005-05-28 03:33 | General | Implementation | Software Engineering | 18 comments | other blogs | 62693 reads
Scrap your boilerplate with class: extensible generic functions
Scrap your boilerplate with class: extensible generic functions. Ralf Laemmel and Simon Peyton Jones.
The "scrap your boilerplate" approach to generic programming allows the programmer to generic functions that can traverse arbitrary data structures, and yet have type-specific cases. However, the approach requires all the type-specific cases to be supplied at once, when the function is defined: the function is closed. In contrast, Haskell's type classes support open, or extensible functions, that can be extended with new type-specific cases as new data types are defined. In this paper we show how to extend the scrap-your-boilerplate approach to support this open style. On the way we demonstrate the desirablility of abstraction over type classes, and the usefulness of recursive dictionaries. If you haven't been paying attention, this is your chance to learn about the "scrap your boilerplate" approach to generic programming in Haskell. We mentioned and discussed the earlier papers in the series. Like many of Peyton Jones's papers this one is an enlightening exploration of language design. By Ehud Lamm at 2005-05-27 20:42 | Functional | Software Engineering | 2 comments | other blogs | 7008 reads
Generics: The Importance of Wildcards
Martin Bravenboer writes about generic wildcards in Java, and concludes that it is unfortunate that C# will not support wildcards or a similar mechanism.
Eric Gunnerson from Microsoft replies. I was originally a type-erasure fan, but these days I am not so sure. I hope this turns into a fruitful discussion that helps me decide... P.S The Java paper was mentioned on LtU before. By Ehud Lamm at 2005-05-26 20:05 | Software Engineering | Type Theory | 14 comments | other blogs | 14237 reads
PLT Needs You!PLT needs your help. From the mailing list:
The deadline for letters of support is 1 July 2005. |
Browse archives
Active forum topics |
Recent comments
22 weeks 4 days ago
22 weeks 4 days ago
22 weeks 4 days ago
44 weeks 5 days ago
49 weeks 7 hours ago
50 weeks 4 days ago
50 weeks 4 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago