User loginNavigation |
GeneralSIGPLAN's first Programming Languages Software Award goes to LLVM
By bashyal at 2010-06-08 21:18 | Cross language runtimes | General | 14 comments | other blogs | 17504 reads
berp
This project sounds interesting. Has anyone checked it out? The Right ToolDavid MacIver is doing a bit of a sociological study on how programmers pick The Right Tool for the job. Programmers select all the languages they know from a fairly mainstream and popular list and then rank those languages according to statements like "I find it easy to write efficient code in this language" and "When I write code in this language I can be very sure it is correct". At the end of the process the survey taker can see how languages ranked overall under each statement and what statements have been most strongly associated with each language. Obviously this isn't a formal study and, as with all online surveys, there are going to be challenges with selection bias and with people trying to game the system. None-the-less, it is pretty interesting and fun as is. Perhaps something similar would be worth doing under more controlled circumstances (although it beats me how to feasibly get a large sample size of programmers without introducing selection bias). Code Quarterly - The Hackademic JournalThis will probably interest many LtU readers:
If this sounds interesting and you can see yourself as either a a reader or a potential contributor hop over to the site and let them know. The Structure of Authority: Why security is not a separable concernThe Structure of Authority: Why security is not a separable concern, by Mark S. Miller, Bill Tulloh, and Jonathan Shapiro:
An important overview of why security properties cannot be an after-thought for any platform, languages and operating systems included. To this end, the paper covers security properties at various granularities from desktop down to object-level granularity, and how object-capabilities provide security properties that are compositional, and permit safely composing mutually suspicious programs. A recent LtU discussion on achieving security by built-in object-capabilities vs. building security frameworks as libraries reminded me of this paper. Ultimately, the library approach can work assuming side-effects are properly controlled via some mechanism, ie. effect types or monads, but any solution should conform to object capability principles to maintain safe composition. An example of a capability-secure legacy/library approach is Plash (Principle of Least Authority SHell), which provides object-specific file system name spaces. Any library interface to the file system should mimic this file system virtualization, which effectively pushes side-effect control down to OS-level objects, and which is essential to safely composing mutually suspicious programs that access the file system. By naasking at 2010-04-26 15:27 | General | Software Engineering | Theory | 49 comments | other blogs | 17834 reads
More iPhone PL lockdown... Goodbye Scratch!If the general idea wasn't enough to make you mad, or if you wrote it off as being purely an Apple/Adobe spat, this ought to cut a bit closer to LtU's heart... Apple removes Scratch from iPad/iPhone/iTouch. My wife has taught a couple of classes using Scratch with young kids, and to see the pride they feel at their creations is a marvelous thing. I think restricting their ability to share that feeling is really reprehensible. And the damage done to the programmers of tomorrow? Hard to say... (Apologies for this being on the front page twice now, but I think this really deserves a post of its own...) seL4: Formal Verification of an Operating-System KernelIn seL4: Formal Verification of an Operating-System Kernel, Communications of the ACM, June, 2010 Klein et al
Overall the paper is more of an experience report than an in depth exploration of the kernel and its proofs but there is a some meat to be found. More information can be found at the sel4 website. By James Iry at 2010-04-15 16:35 | General | Software Engineering | 74 comments | other blogs | 28335 reads
Maxine VM: A VM in JavaMaxine VM is an open source meta-circular JVM from Sun.
The Maxine Inspector [5min, YouTube] seems pretty neat! Bringing VM research to the masses :) By bashyal at 2010-04-15 01:48 | General | Teaching & Learning | 10 comments | other blogs | 18428 reads
Emerging Languages ConferenceThis might be of interest to people that will be at OSCON 2010 or will be in Portland, Oregon on July 21-22. Announcing the First Emerging Languages Conference
Initial list of speakers include designers for Go, Io, Duby, Kodu, Newspeak, CoffeeScript, Ur, Objective-J, BitC and F#. A Formal System For Euclid's ElementsA Formal System For Euclid's Elements, Jeremy Avigad, Edward Dean, and John Mumma. Review of Symbolic Logic, Vol. 2, No. 4, 2009.
Diagrammatic languages are a perennial favorite discussion topic here, and Euclid's proofs constitute one of the oldest diagrammatic languages around. And yet for hundreds of years (at least since Leibniz) people have argued about whether or not the diagrams are really part of a formal system of reasoning, or whether they are simply visual aids hanging on the side of the true proof. The latter position is the one that Hilbert and Tarski took as well when they gave formal axiomatic systems for geometry. But was this necessary, or just a contingent fact of the logical machinery available to them? Avigad and his coauthors show the former point of view also works, and that you can do it with very basic proof theory (there's little here unfamiliar to anyone who has read Pierce's book). Yet it sheds a lot of light on how the diagrams in the Elements work, in part because of their very careful analysis of how to read the diagrams -- that is, what conclusion a diagram really licenses you to draw, and which ones are accidents of the specific figure on the page. How they consider these issues is a good model for anyone designing their own visual programming languages. |
Browse archives
Active forum topics |
Recent comments
8 hours 35 min ago
1 day 5 hours ago
2 days 10 hours ago
2 days 10 hours ago
1 week 11 hours ago
1 week 11 hours ago
1 week 11 hours ago
4 weeks 1 day ago
4 weeks 6 days ago
4 weeks 6 days ago