Early development history of the Rust programming language.
Graydon Hoare 700d6a8989 Add a 2016 README | 8 år sedan | |
---|---|---|
doc | 14 år sedan | |
src | 14 år sedan | |
.hgignore | 14 år sedan | |
AUTHORS.txt | 14 år sedan | |
LICENSE.txt | 14 år sedan | |
README.md | 8 år sedan |
Hi,
This is a reconstruction -- extracted and very lightly edited -- of the "prehistory" of Rust development, when it was a personal project between 2006-2009 and, after late 2009, a Mozilla project conducted in private.
The purposes of publishing this now are:
I have edited it from its original archival forms only in the following ways:
Thus there are probably a number of historical states that are not bit-identical to the form they were at the moment of initial writing -- I know at least a couple edits might have broken the build in intermediate states -- but they're as close as I can reasonably make them. This is an honest attempt at a final word on the prehistory (and has taken some time to dig up!)
While reading this -- if you're foolish enough to try -- keep in mind that I was balanced between near-total disbelief that it would ever come to anything and minuscule hope that if I kept at experiments and fiddling long enough, maybe I could do a thing.
I had been criticizing, picking apart, ranting about other languages for years, and making doodles and marginalia notes about how to do one "right" or "differently" to myself for almost as long. This lineage represents the very gradual coaxing-into-belief that I could actually make something that runs.
As such, there are long periods of nothing, lots of revisions of position, long periods of just making notes, arguing with myself, several false starts, digressions into minutiae that seem completely absurd from today's vantage point (don't get me started on how long I spent learning x86 mod r/m bytes and PE import table structures, why?) and self-important frippery.
The significant thing here is that I had to get to the point of convincing myself there was something there before bothering to show anyone; the uptick in work in mid-to-late 2009 is when Mozilla started funding me on the clock to work on it, but it's significant that there were years and years of just puttering around in circles, the kind of snowball-rolling that's necessary to go from nothing to "well .. maybe .."
I'd encourage reading it in this light: delusional dreams very gradually coming into focus, not any sort of grand plan being executed.
I'm publishing this work with, as far as I can tell, permission of its copyright holders: myself independently, and Mozilla Foundation. If you feel I shouldn't have published this for some reason, please contact me and I will happily discuss further. I tried to keep ownership and authorship straight while working.
The current work is thereby licensed under the terms of the MIT/ASL2 dual license scheme that the rest of Rust is licensed under. I do not expect anyone cares about the license status, but there it is. If you feel like reviving it for use in some sort of exercise in self-punishment, knock yourself out.
-Graydon Hoare, November 2016