Peter Naur's classic 1985 essay "Programming as Theory Building" argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it's lossy, so you can't reconstruct
/* | |
Diary, Sven Nilsen, 15.09.2016: | |
Reading mathematical papers does help. | |
Woke up with an idea that arguments could be represented as tuples. | |
This idea turned into functional currying. | |
Started coding from scratch today (in Rust of course!) and came this far. | |
I think I'm starting to understand how dependently types work! | |
Path semantics is a new field that might make dependently types more powerful and practical. |
The goal of this is to have an easily-scannable reference for the most common syntax idioms in JavaScript and Rust so that programmers most comfortable with JavaScript can quickly get through the syntax differences and feel like they could read and write basic Rust programs.
What do you think? Does this meet its goal? If not, why not?
JavaScript:
As a response to Issue #15753. Not yet complete.
Some notes:
- All Rust translations assume the crate root (so the reference to
std
is freely available). The use of any other crates is noted. - Every string or vector argument is assumed to be a slice (
&str
or&[T]
). Otherwise you need to convertString
orVec<T>
to a slice with.as_slice()
method.
assert(cond)
:assert!(cond)
macro. Note that it's always enabled; if you need to selectively disable the assertions, usedebug_assert!(cond)
macro.
- Probabilistic Data Structures for Web Analytics and Data Mining : A great overview of the space of probabilistic data structures and how they are used in approximation algorithm implementation.
- Models and Issues in Data Stream Systems
- Philippe Flajolet’s contribution to streaming algorithms : A presentation by Jérémie Lumbroso that visits some of the hostorical perspectives and how it all began with Flajolet
- Approximate Frequency Counts over Data Streams by Gurmeet Singh Manku & Rajeev Motwani : One of the early papers on the subject.
- [Methods for Finding Frequent Items in Data Streams](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.187.9800&rep=rep1&t
A friend asked me for a few pointers to interesting, mostly recent papers on data warehousing and "big data" database systems, with an eye towards real-world deployments. I figured I'd share the list. It's biased and rather incomplete but maybe of interest to someone. While many are obvious choices (I've omitted several, like MapReduce), I think there are a few underappreciated gems.
###Dataflow Engines:
Dryad--general-purpose distributed parallel dataflow engine
http://research.microsoft.com/en-us/projects/dryad/eurosys07.pdf
Spark--in memory dataflow
http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf