Three Sins of Authors in Computer Science and Math from the author of Ifile.
Oleg's Varied FTP Site (Scheme, C++, Mac, Unix, Be, more...)
Just enter a small number of data samples that describe the behavior of the algorithm you are looking for -- or the structure of the combinatorial object you want to classify -- and AlgoVista will search its vast database for the closest match.
FBP is based on three principles:
Strongly typed data packets with a lifetime of their own
External definition of connections
Thus, you can hook flows together, or hook things to flows, in much the manner that JCL allowed attaching files to program inputs/outputs on MVS.
A page on how to make Java code perform well.
An interesting essay on how optimizing code can be counterproductive.
A paper that shows that claims of purely objective estimation of software complexity/schedule estimation/reliability contradict one of the theorems of Kolmogorov complexity, and so are wrong.
In effect, this means that estimates of how long a programming task will take cannot in general be objectively correct.
You may indeed be able to come up with a framework to "objectively" assess how long it will take for certain very carefully specified types of programming tasks, although it is arguable that those sorts of tasks may be so automatable that they oughtn't require an actual programmer.
But once you open things up to be "programming, in general," all bets are off. Someone who claims to have an objective framework probably doesn't know about statistics...
Judy Arrays are an interesting alternative to hashing, as a sort of compressed digital trie designed to take advantage of modern CPUs' penchants for processing data in cache.
Donald Knuth created the concept of Literate Programming when he was writing TeX. The basic concept is that you write the program together with its documentation, using, wherever possible, code to describe code. A "tangle" processor can then be used to extract the executable code out of the documentation to compile as necessary; a "weave" processor builds a TeX file to typeset the documentation including extensive crossreferences.
The extremely good quality of the TeX program can be at least partially attributed to this development approach.
Here is the the classic letter Go To Statement Considered Harmful - by Edsger W. Dijkstra. Donald Knuth later issued a sort of "rebuttal" in the form of an article on the use of "structured GOTO" statements. In summary, people can and often do use GOTO badly. That may not mean that the capability should be removed altogether.
MIX was an artificial machine language created by Donald Knuth as the "implementation language" for algorithms in The Art Of Computer Programming. Knuth has created MMIX as a more modern, RISCy machine language, to use for new releases in that series.
Ousterhout presents that threading is a problem. It is very difficult to create threaded code that both performs well and which works correctly. It is easy to introduce bugs that are difficult to find, replicate, and debug.
This essay presents a cogent argument as to why threads are a problem. In short, they are strongly nondeterministic, and it takes a great deal of effort to do deterministic computation in the presence of threads.
The Pthreads standard