Well, as far as I remember lists (which are used like hash tables, as they associate variables with names, see http://cran.r-project.org/doc/manuals/R-lang.html#List-objec...), implement indexing as an O(n) operation. Only after they reach a certain size are they converted to a hash table.
Everything is pass by value with some cases being marked as 'safe', i. e. if you know beforehand the variable won't be changed it's not copied to save time.
The reason for this is that the project was designed by people who were primarily statisticians, and the most glaring performance problems were later fixed by hacks and 'special cases'.
Disclaimer: Most of this I know second hand from a coworker who's an author of many R packages. I worked with R's interface to C and it wasn't a pleasant experience.
What hasn't been mentioned yet is that Kubrick was inspired by the short story "The Sentinel" by AC Clarke.
The monoliths in the short story are placed by intelligent beings through space, typically on moons of adjacent planets. The monoliths are sending signals home (wherever that is) once they are broken/destroyed/... This can only happen with nuclear power.
The idea was to have some kind of warning system when intelligence emerges somewhere in space since this new intelligent species needs to be able to leave their own planet AND they need to have discovered nuclear power.
(Disclaimer: I read the short story at least 10 years ago, and I hope I remember it correctly)
The 128-bit storage of ZFS reminds me a bit of TeX.
As far as I can remember reading the TeX book, Don Knuth also wanted to play it safe. Internally, everything relies on integers (no floating point operations), and the smallest internal unit of measurement is less than the wavelength of light (don't remember the color ;-) ).
At least one game programmer is recommending sticking with integers for distances. " 64 bits of precision gets you to the furthest distance of Pluto from the Sun (7.4 billion km) with sub-micrometer precision. "
All asset quantities are signed 128 bit integers under the hood. However, when the wallet interface displays a quantity, it uses a scale factor to place the decimal point. An asset type denominated in a fiat currency like USD or EUR typically uses a scale of 2. An asset type denominated in a commodity currency like GAU (grams of gold) typically uses a scale of 7, allowing a number like 31.1034768, which is the precise number of grams in a troy ounce. If you want to see it in kilograms, you can use scale 10.
But you do not need to take off Saturdays, which counts as part of the weekend for most (this depends on your employer). If I want to have a week long holiday, it's five days.
Generally, if you live in the southern part of Germany, you also get several catholic hol(i|y)days, no matter if you are catholic or not.
It’s 24 days if and only if you work six days a week, 20 days if you work five days a week.
Depending on the state you are living in you also get between 9 and 13 holidays. Some of those will fall on weekends from time to time but six weeks (30 days) of paid vacation seem not all that unrealistic in a good year (i.e. many holidays not on weekends) if you live in Bavaria (that’s the state with the 13 holidays, eight of them not on weekends in 2010, ten in 2011, twelve in 2012 – some great years coming up ;-).
Many of the students and academics from the older engineering fields (e.g. mechanical, chemical) don't know of python either. When I tell them (python + numpy + scipy + matplotlib) is as potent as MatLAB for most situations, and far more flexible and generalizable later, most don't believe me. They get started faster with MatLAB, then struggle later with its constraints, and end up creating overly-specialized, one-off tools that few others can use.
Ideally, science/engineering schooling (college and up) should not allow anyone to graduate without knowledge of at least one general purpose programming language. But in the meanwhile, those who can program while working in another field - whether sociology or environmental engineering - have an enormous advantage.
I know exactly what you are talking about. When I first started my coursework in Machine Learning, I was given the freedom to use any programming language. But I simply defaulted to MatLAB because the rest of the CS department used it. I would have loved to do all my work in Python--and infact I tried to with NumPy and SciPy-- but it was just too hard to resist the comfortable environment MatLAB creates. So now I'm stuck porting over all my old code, which to be quite honest, is a good exercise in itself.
Programming is becoming an essential tool for scientists and engineers and it isn't taught it enough. Interestingly my mother was taught Pascal back in the day when she went back to Uni to study Environmental Science as an undergrad, looking back on it I am most impressed.
http://en.wikipedia.org/wiki/Bootstrapping_(statistics)