User loginNavigation |
Guido van Rossum: Building an Open Source Project and Community
A long (close to two hours) audio presentation about Python's history and philosophy.
LtU readers will find a lot to disagree with (especially in part 2), for instance when Guido discusses dynamic languages and typing. And yet, I think Guido tries to be reasonable, even though I disagree with some of his conclusions. Be that as it may, this talk provides a useful summary of Python's history, and some idea about the workings of the Python community. Long time readers will remember that I think language communities play an important, yet under appreciated, role in language evolution and success. JExamples
(via Keith)
We analyze the source code of production Java open source projects such as Ant, Tomcat and Batik and load that analysis into a java examples database designed for easy searching. You enter the name of a Java API Class.method you want to see example invocations of and click Search. Nice idea. Looks like a useful resource. Jon Udell: The riddle of asynchrony
An amusing podcast about, among other things, the programming model appropriate for SOA, and especially whether is should be synchronous or asynchronous.
You'll feel right at home, since the concepts "abstraction" and "state" raise their head quite early into the discussion... By Ehud Lamm at 2005-09-04 20:03 | Parallel/Distributed | Software Engineering | 3 comments | other blogs | 5746 reads
Ruby on Rails: An Interview with David Heinemeier Hansson
More on Ruby and Rails in this interview.
Rails is becoming the main reason people decide to pick up Ruby, which is something worth pondering. The interaction between a programming language and a very dominant framework, which isn't part of the standard library of language, is quite interesting. Some quotes from the interview:
Rails is opinionated software. It eschews placing the old ideals of software in a primary position. ContextLContextL is a CLOS extension for Context-oriented Programming. Currently, there is no documentation available, but you can find a small test case in the distribution and an introduction to ContextL's features in a first overview paper. The paper says:
We present ContextL,a language extension for the Common Lisp Object System that allows for Context-oriented Programming. It provides means to associate partial class and method definitions with layers and to activate such layers in the control flow of a running program. When a layer is activated, the partial definitions become part of the program until this layer is deactivated. This has the effect that the behavior of a program can be modified according to the context of its use without the need to mention such context dependencies in the affected base program. We illustrate these ideas by describing a way to a)provide different UI views on the same object while b)keeping the conceptual simplicity of OOP that objects know themselves how to behave, in this case how to display themselves. These seemingly contradictory goals can be achieved by separating out class definitions into separate layers instead of separating out the display code into different classes. Sounds kinda like AOP to me. It intriguings, anyway. By Ehud Lamm at 2005-09-01 16:41 | General | OOP | Software Engineering | 6 comments | other blogs | 19390 reads
REXX IntroductionA couple of articles worthy of mention that serve as an introduction to REXX. The first article is a general introduction to REXX, while the second one focuses on using REXX to access DB2 databases. Nothing too involved, but I do enjoy accessible introductory articles, no matter the language. Laziness Without All the Hard Work
Laziness Without All the Hard Work. Barzilay and Clements. FDPE 2005
While teaching programming languages courses, we have discovered that an extension to PLT Scheme allows the system to accommodate both lazy and strict evaluation in the same system. Moreover, the extension is simple and transparent. Finally, the simple nature of the extension means that the resulting system provides a rich environment for both lazy and strict programs without modification. A nice thing about this paper (aside from the fact that it uses the PLT module system) is the careful attention to the relationship between features of the language defined by the interpreter and the features of the defining language. By Ehud Lamm at 2005-08-31 08:18 | Functional | Teaching & Learning | login or register to post comments | other blogs | 8654 reads
Tim Bray on RubyHow I got here was, two recent pieces of writing that made me think heavily were Ruby-centric: Mikael Brockman’s Continuations on the Web and Sam Ruby’s Rails Confidence Builder... So I went and bought Programming Ruby ('Pickaxe' in the same sense that Programming Perl is the 'Camel book') The conclusion of this piece is that Ruby looks like more than a fad, so LtU readers who still haven't checked it out might want to do so... Where are the other editors, I wonder? CodeProfiles.java - CODeDOC 2002CODeDOC 2002 was a collection of 'software art' projects. One work, W. Bradford Paley's CodeProfiles.java [requires Java support in browser], is particularly interesting because it shows three different ways in which code is "read". The first, and simplest, is a linear scan through the source (the amber highlighting). Second is the sequence in which code was written (white). Third is the execution flow as the program executes. It's striking how unrelated these three sequences are. Since temporal sequencing lies at the heart of programming, this struck me as worrying. But then, how should they be related? How should the program's structure and creation be related to its temporal flow? And, of course, how does this relate to the language chosen? For example: if the code were purely declarative then why would there be any correlation between execution and layout? Is my intuition about the importance of any simple relationship between these flows misguided? Anyway, it is certainly pretty. New ServerThe server hosting LtU crashed on Thursday evening. I took this as an opportunity to migrate LtU over to a server running much newer versions of Linux, Apache, PHP, MySQL etc., which takes care of a major aspect of the long-planned upgrade to the latest version of Drupal. For the moment, we're still running the same version of Drupal, since that upgrade requires some software customizations, which are still in progress. If you notice any problems with the site which didn't exist before, please post a message here. |
Browse archives
Active forum topics |
Recent comments
36 weeks 1 day ago
36 weeks 2 days ago
36 weeks 2 days ago
1 year 6 weeks ago
1 year 10 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 14 weeks ago
1 year 19 weeks ago
1 year 19 weeks ago