User loginNavigation |
archivesAbstractionless programming
Since this shiny new forum is rather empty, let me get the ball rolling...
I have been thinking lately about ways to do programming without abstraction. Before you start yelling at me that this is not possible, don't take it too seriously, treat this as a thought exercise. My motivation is twofold:
My design sofar has you editing a tree based view of the actual unabstracted code. As you drag subtrees around, the environment marks things as shared/unshared (using a different background colour). This way, even functional abstraction can be created without the user even knowing what it is (creating a local change in a shared subtree is like having an argument to a function). There are a lot of mucky details, but I believe it may be possible to have a system that always refactors for you to have the optimal sharing (thus abstraction) in the background, with the user needing to know next to nothing. Maybe a dream, but a fun experiment. Most importantly: is there anything remotely similar to this out there? google wasn't particularly helpful sofar. Shorts
A couple of short items.
1st International Workshop on Interpreted LanguagesInterpreted 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. XPythonSomebody else wants to embed XML fragments into their program code. Some of what's proposed here really falls under PEP 318 for method decorators, I think. LushLush is a dialect of Lisp designed for scripting numerically intensive applications, particularly machine learning. Less verbose than Common Lisp, it seems better suited to quick scripting tasks, yet it compiles to C and integrates easily with existing C libraries. From the Lush website:Lush can be used advantageously for projects where one would otherwise use a combination of an interpreted language like Matlab, Python, Perl, S+, or even (gasp!) BASIC, and a compiled language like C. Lush brings the best of both worlds by wrapping three languages into one: (1) a weakly-typed, garbage-collected, dynamically scoped, interpreted language with a simple Lisp-like syntax, (2) a strongly-typed, lexically-scoped compiled language that uses the same Lisp-like syntax, and (3) the C language, which can be freely mixed with Lush code within a single program, even within a single function. It sounds complicated, but it is not. In fact, Lush is designed to be very simple to learn and easy to use. By shrogers at 2004-06-22 11:39 | LtU Forum | login or register to post comments | other blogs | 10280 reads
Tunes create context like languageThis article discusses the extension of the notion of context from linguistics to the domain of music. In language, the statistical regularity known as Zipf's law -which concerns the frequency of usage of different words- has been quantitatively related to the process of text generation. This connection is established by Simon's model, on the basis of a few assumptions regarding the accompanying creation of context. Here, it is shown that the statistics of note usage in musical compositions are compatible with the predictions of Simon's model. This result, which gives objective support to the conceptual likeness of context in language and music, is obtained through automatic analysis of the digital versions of several compositions. As a by-product, a quantitative measure of context definiteness is introduced and used to compare tonal and atonal works. From Gyan on Metafilter. Languages PosterThe History of Programming Languages OCaml doesn't exist, and Smalltalk seems to have ceased before Java 1 was released - but we can see every point release for Python, PHP, Java, and Ruby (is an animal book a requirement for being on the poster?) and bizarrely Self (Has Self ever been used for real?). The Language ListThe Language List By Isaac Gouy 000 at 2004-06-22 17:03 | LtU Forum | login or register to post comments | other blogs | 8183 reads
Binary relationsA while ago I read about an alternative to SQL called something like 'Binary Query Language', which models data in (to me) the more intuitive way, thinking of sets and different types of relations (in the mathematical sense) between those sets, rather than using tables, foreign keys, joins etc like the relational model. It lets you do queries based around these relations using functions and multifunctions in a quite neat almost mathematical way. Does anyone know what (if anything) became of these ideas? the only reference to BQL I can seem to trawl up through google is on this site, which offers an interesting explanation, some examples and a basic implementation in C++. What I'm thinking at the moment is how useful would it be to write some kind of abstraction that translates these kind of queries into plain SQL on the fly, having generated a suitable SQL type database schema from the 'binary relations' type model. I guess there are a lot of Object-Relational database things around at the moment designed for persisting object-oriented classes, but I don't think that's quite the same thing? |
Browse archivesActive forum topics |
Recent comments
22 weeks 1 day ago
22 weeks 1 day ago
22 weeks 1 day ago
44 weeks 2 days ago
48 weeks 4 days ago
50 weeks 1 day ago
50 weeks 1 day ago
1 year 5 days ago
1 year 5 weeks ago
1 year 5 weeks ago