Home »
Tag: Computer science Tag: Computer scienceParents:
Children:
-
Joel Spolsky: Can Your Programming Language Do This?
¶ (0)
Tags: [MapReduce]
-
Lambda the Ultimate: Failure-oblivious computing.
¶ (0)
Tags: [Computer science]
-
Official Google Research Blog: Nearly All Binary Searches and Mergesorts are Broken (via Ned Batchelder). When you look at what the bug is it's not a big shock at all. More of a "duh" (not that I likely would have avoided the bug in my own code...). But it's something to watch out for.
Update: LtU is on it.
¶ (0)
Tags: [Computer science]
-
Unifying events and threads, in Haskell (via Adam).
¶ (0)
Tags: [Computer science]
-
Otter: An Automated Deduction System.
¶ (0)
Tags: [Computer science]
-
Better Scaling through application level threading (via Steve Dekorte). It turns out that SQL Server uses a cooperative threading model internally to achieve higher performance than they could using the native OS scheduler. This is what languages like Smalltalk and Io do as well.
¶ (0)
Tags: [Computer science, IO Language, Smalltalk]
-
An introduction to Category Theory: When is one thing equal to some other thing? (PDF), by Barry Mazur (via LtU). To read.
¶ (0)
Tags: [Computer science, Mathematics, Philosophy, To Read]
Transmuter Programming Language (via PLNews):
The Transmuter Programming Language, or Trans for short, is a new dynamic programming language that has been under careful design and development for several years, and is currently in an initial testing phase. Trans is a biologically inspired language, providing a framework for experimenting with naturally evolving systems of objects over the net, and for exploring new ideas about recombinant software, code morphing, and evolutionary programming in general. The Trans model is an ambitious attempt to fuse modern programming language paradigms with novel evolutionary programming techniques. It is a modern object-oriented dynamic language with a built-in capacity for evolutionary transformation.
The code looks clean, and the source code to Trans is public domain (that's real freedom in software). Plus, it's got a prototype-OO system, and I love prototype OO. I can't comment on the "evolutionary" features as yet, but the threading system looks super easy (though it's not yet documented enough to use).
-
James Manning's blog : error CS1501: No overload for method 'Base' takes '0' arguments. Why don't more languages come with 'unified constructors' like Python (and even PHP, now) does? Wouldn't that fix the problem?
¶ (0)
Tags: [C#, OOP, PHP, Python]
-
The Implementation of Functional Programming Languages. "My 1987 book is now out of print, but it is now available online in its entirety." (Via reddit).
¶ (0)
Tags: [Books, Functional Programming, To Read]
Bill Clementson's Blog: The Most Important Idea in Computer Science (via Chris Double).
Favorite quote, from Alan Kay: "Java is the most distressing thing to hit computing since MS-DOS." Note that Kay is one of the inventors of Smalltalk.
Update: Phil Windley - Alan Kay: Is Computer Science as Oxymoron? Phil was at the talk and has lots of notes from it. Worth a read. Via Paul Hammond.
-
LtU: Hundreds of Impossibility Results for Distributed Computing.
¶ (0)
Tags: [Distributed Computing, To Read]
PHP's create_function function is so cumbersome to use that I'm creating shortcuts for the most common cases. Very often all you want to do is a map and return a particular field out of an associative array. So:
<?php function mapfield($key, $func=null){ return create_function('$a',"return $func(\$a['$key']);"); } ?>
Used as in:
<?php function tags_join($tags){ #given an array of tags give the canonical space separated listing return join(' ',array_unique(array_map(mapfield('Name'), $tags))); } ?>
-
MSDN: C#: Create Elegant Code With Anonymous Methods, Iterators, And Partial Classes. C# has generators! To read.
¶ (0)
Tags: [C#, Generators, To Read]
-
Aspect Orienting .NET Components, by DR. Viji Sarathy Via Michael. To read.
Update: To quote Michael, "I would never use that technique. Ever."
Update: Eric Gunnerson had a post a year and a half ago on Microsoft's "wait and see" attitude towards AOP. Good comments. Having to inherit from ContextBoundObject is unworkable.
¶
Tags: [.NET, Aspect Oriented Programming]
C++ Reference Guide > The Rise & Fall of Object Orientation:
Exceptional C++ Style, by Herb Sutter, contains a systematic analysis of class std::string. Sutter shows that the majority of its member functions can actually be replaced with existing STL algorithms, at least in theory. He also provides plenty of reasons why this approach is better. The four mini-chapters dedicated to this issue are indispensable for anyone who is interested in learning how general purpose libraries should be designed today. It's surprising to see that the original notions of OOP such as inheritance, virtual functions and member functions have become so antiquated and cumbersome in the last 10 years. Undoubtedly, were class std::string to be re-designed from scratch today, it would offer a cleaner, slimmer and more consistent interface
Via Top Ten of Programming Advice to NOT follow, by Kristian Dupont Knudsen, which is somewhat worth a read in its own right. (That link via Keith Gaughan.) I didn't agree with all of it, but I did like this bit:
Oh, and my favourite specialization of the comments advice: keep a history of changes and author info etc. in the top of each file.
I've never actually heard anyone say that you should do this but I have seen it so many times that there must be people out there recommending it. Why on earth you would clutter the code with information that so obviously belongs in the version control system is just beyond me.
Dev Shed has an excellent introduction to Python's metaclasses (via DPU). I get it now:
- Python's metaclasses are just normal classes that inherit from type
- When you instantiate a metaclass the object returned is itself a class
- To declare that a class has a given metaclass, set the __metaclass__ data member to the metaclass when declaring the class.
- The metaclass' __init__ method is called when a class that has it as its metaclass is declared (__init__ for metaclasses takes (klass, klass_name, base_classes, dict_of_attributes) as its parameters).
And that's it (according to the article). So, it seems that Python very nearly has a prototype-based object system, but not quite. (And I ❤ prototype-based object systems.) With a prototype-based object system the distinction between metaclasses and classes (heck, and objects) goes away, so it seems to me that you could do the same thing as what Python calls metaclasses simply by overriding a particular object's clone method. Am I wrong?
-
First monads in Perl, now monads in Ruby (via Keith Gaughan, via The Farm), both still to read.
¶ (0)
Tags: [Monads, Perl, Programming, Ruby]
-
Pyro - About:
Pyro is short for PYthon Remote Objects. It is an advanced and powerful Distributed Object Technology system written entirely in Python, that is designed to be very easy to use. Never worry about writing network communication code again, when using Pyro you just write your Python objects like you would normally. With only a few lines of extra code, Pyro takes care of the network communication between your objects once you split them over different machines on the network. All the gory socket programming details are taken care of, you just call a method on a remote object as if it were a local object!
via Why I ditched XMLRPC in favor of Pyro.
¶
Tags: [Programming, Pyro, Python]
-
Sam Ruby: Continuations for Curmudgeons.
¶ (0)
Tags: [Continuations, Programming]
-
ongoing · Mind Expansion by Mikael:
Anyhow, I’d always vaguely understood continuations and knew that smart people thought they were great, but I looked at the code from his essay Continuations on the Web and thought “I can’t believe that does what he says”, but it turns out that OS X comes with Ruby and yes, it does what he says. But I had to spend a long time looking at it to see why. Will this kind of idiom ever enter the mainstream? I’m not sure, but internalizing it will make you a little smarter.
¶
Tags: [Continuations, Programming, Ruby]
-
Google Labs Publications: MapReduce:
MapReduce is a programming model and an associated implementation for processing and generating large data sets... Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines. The run-time system takes care of the details of partitioning the input data, scheduling the program's execution across a set of machines, handling machine failures, and managing the required inter-machine communication. This allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed system.
Via Adam and Ned.
¶ (0)
Tags: [Google, MapReduce]
|
Generated in about 0.189s. (Used 12 db queries) |
new⇒Maps of Iraq
my husband is in Scania too..hesays it's not too bad..he's been atworse...
Cristy: May 16, 3:54pm