8 ms·
What Did Ada Lovelace’s Program Actually Do?
- farhanhubble 8y agoAmazing article! There's a bug in it though. The LHS of the sum of cubes formula ends in n^2 instead of n^3.
- deleted 8y ago[deleted]
- zaroth 8y agoHoly shit. I got shivers the moment I realized Sinclair actually finds and fixes a bug from the very first program written in 1843. In her “diagram of development,” Lovelace gives the fourth operation as v5 / v4. But the correct ordering here is v4 / v5. 1843! I was recently at the Musee des arts et metiers in Paris, and they have several original Pascalines on display. So many marvels packed into a very tight space, it is one of my favorite in Paris and I would highly recommend it. I'm not sure what they have on Lovelace, I'll admit I was pretty overwhelmed with the collection. Their computer collection alone is a museums worth, and they cover much, much more than just computer history (a lot of mechanical engineering for starters). If they don't have this algorithm on display, they absolutely should. A leather-bound first edition Lovelace including this algorithm recently sold for about $120,000. That actually seems like a bargain when you think about the level of the accomplishment. [1] I agree with OP that most likely the bug is in the transcription and not present in the original manuscript. [1] - https://www.theguardian.com/books/2018/jul/24/ada-lovelace-first-edition-pioneering-algorithm-program https://www.theguardian.com/books/2018/jul/24/ada-lovelace-f...
- kornish 8y agoWhat else would you recommend checking out in Paris by way of museums?
- modells 8y agoThe ossuary, for sure. Louvre is a meh. The park adjacent to the Louvre is good-to-go. Wander between the Louvre and Eiffel, there is a brassiere frequented by diplomats. Pickup intramural football (soccer) by the nurses' college just across the river. Explore on foot with only a rough plan is usually the best way to find treasures.
- lostlogin 8y agoThe National Museum of Natural History is unlike any other I’ve been to. It is fairly worn out but is great. It is displayed in a very different t format to what I’m used to. https://en.m.wikipedia.org/wiki/National_Museum_of_Natural_History_(France) https://en.m.wikipedia.org/wiki/National_Museum_of_Natural_H... Quiet and completely excellent, The Museum of Heritage and Architecture. https://www.unjourdeplusaparis.com/en/paris-culture/musee-cite-de-larchitecture-et-du-patrimoine-paris https://www.unjourdeplusaparis.com/en/paris-culture/musee-ci... The Army Museum is worth a visit - it is interesting to see a less Anglo centric view of the wars, particularly WW1. The paintings are deeply grim - not ideal if you have young kids. https://en.m.wikipedia.org/wiki/Musée_de_l%27Armée https://en.m.wikipedia.org/wiki/Musée_de_l%27Armée The Museum of the Middle Ages is currently being renovated but is well regarded. https://en.m.wikipedia.org/wiki/Musée_de_Cluny_–_Musée_national_du_Moyen_Âge https://en.m.wikipedia.org/wiki/Musée_de_Cluny_–_Musée_natio... Probably a candidate for best museum in the world, the Louvre is a great way to completely waste a day with massive crowds, sore feet, food and water shortages, closed exhibits, intense heat and even more crowds. Get a map ahead of time and check that the things you want to see aren’t closed before you go.
- jfk13 8y agoIf you want to see an outstanding collection of art without having to face the Louvre crowds, try the Musée d'Orsay: a vastly more pleasant experience, IMO. https://en.wikipedia.org/wiki/Musée_d%27Orsay https://en.wikipedia.org/wiki/Musée_d%27Orsay
- DoreenMichele 8y agoThis is really a very gripping piece, and I'm not actually a programmer. It's also interesting mathematically and just as general history, for lack of a better term.
- sedatk 8y agoI’m a programmer and respected Ada Lovelace simply because of her having the title of the first programmer. Now I think she deserves more recognition because she also envisioned the modern use of computers in everyday tasks. Amazing.
- kristoff_it 8y agoGreat article. In some ways it reminds me of Jonathan Blow's presentation titled "Truth in Game Design" [1] The author is saying that Ada deserves the title of first programmer both because she did publish an elaborate algorithm and because she understood the potential of the Analytical Engine better than Babbage and Menabrea. Jonathan Blow's presentation is more about that second point and how computers (or rather, sufficiently complex dynamical systems) can "give you something back that you didn't put in". System theory is nothing new so it might not be exact equivalent of thinking about engines that can compose music in 1842, but it seems to me that it is not a widespread and well-understood concept as it should be, and that the public opinion is re-discovering it mainly through Deep Learning advancements. [1] https://www.youtube.com/watch?v=C5FUtrmO7gI https://www.youtube.com/watch?v=C5FUtrmO7gI
- jl2718 8y agoModesty by the creator is not due to lack of foresight, it is due to the exact nature of their understanding.
- rossdavidh 8y agoThis is a great article, and I also found myself shuddering to think what would happen if the world ever saw the first program I ever wrote (whatever that was).
- scarecrowbob 8y agoFor me, that's no big deal: 10 PRINT "HELLO WORLD" Even the horrible crap I wrote as an novice is probably less embarrassing to me that the stuff I wrote as a journeyman who shoulda known better. Thankfully, the most embarrassing things are, like, spending 2 days configuring postfix and not realizing that I could just read the log files and it tells me specifically what isn't working. A valuable lesson, but embarrassment has its cost.
- TangoTrotFox 8y agoHahaha, mine: mov ah, 2 mov dl, 7 int 21 int 20 Discovering that I could write my own programs with debug.com was earth shaking. Picked up some decade old book on it at Half Price Books (which went well with my decade old machine -- an 80s model IBM with integrated monochrome green screen) and never looked back.
- sedatk 8y agobeep!
- lbruder 8y agoThat would emit a beep from the speaker, right? So long ago...
- TangoTrotFox 8y agoNone other than beep.com!
- foldr 8y agoSpeaking of embarrassing errors, your comment just sent my pre-coffee self on a brief and fruitless visit to http://debug.com http://debug.com
- hackerbabz 8y ago> she made groups of operations and in the text of her note specified when they should repeat. Does anyone know what "should repeat" means? Was the machine capable of repeating or does this mean the human operator needed to do the repeating?
- deleted 8y ago[deleted]
- TangoTrotFox 8y agoYou can see the exact 'program' here [1]. It's really just a series of mathematical steps with a store of values in between. Notions that would have clearly taken it from being a series of mathematical steps, to a program, such as branching, looping, or jumping are left completely unspecified. So her 'loop' was specified literally as "here follows a repetition of operations 13-23". In other words, "should repeat" is left an as exercise to the reader. [1] - https://i.imgur.com/HSWjbUl.jpg https://i.imgur.com/HSWjbUl.jpg
- NeedMoreTea 8y agoIt's easy to be dismissive from today's perspective, but I think it adequately conveys the algorithm. As I don't think Babbage ever published an instruction set I'm not sure it could have gone a lot further.
- deleted 8y ago[deleted]
- NeedMoreTea 8y agoThe Analytical Engine was Turing complete so loops and conditionals would have been possible, but Babbage didn't get near building it. The London Science Museum built a fully working Difference Engine, to Victorian tolerances so it could have actually worked. I heard of a project to build a modern working replica but I don't know if anything ever came of it.
- jgrahamc 8y ago
- acqq 8y agoThe "C translation" of the program by the article author: https://gist.github.com/sinclairtarget/ad18ac65d277e453da5f479d6ccfc20e https://gist.github.com/sinclairtarget/ad18ac65d277e453da5f4... It's definitely far from being trivial! Also note the use of floats in the C version. A lot of simpler CPUs didn't and still don't have floats. Fascinatingly, the Analytical Engine's number representation was 40 digits (and later: 50)(!) base 10 (but not "floating" but "fixed" point): https://www.fourmilab.ch/babbage/authentic.html https://www.fourmilab.ch/babbage/authentic.html Moreover, a lot of simpler CPUs also don't have the "division" in the "instruction set", the Engine has it! Given the emulator already existing, maybe somebody will now create the cards from Lovelace's program, and run it as intended? https://www.fourmilab.ch/babbage/emulator.html https://www.fourmilab.ch/babbage/emulator.html
- corpMaverick 8y agoIn case anyone missed it, these last two articles were written by John Walker. Founder of Autodesk, Inc. and co-author of AutoCAD.
- imhoguy 8y agoJust for anyone curious there is attempt to build Babbage's Analytical Engine started by John Graham-Cumming's Plan 28 project[0]. Currently there is a lot of fragmented knowledge to be collected from the vast Babbage's writings. To understand the size of the project here is the excerpt from their blog[1]: >in the context of manufacturing methods Babbage calculates that the total number of teeth to be formed for a store with 1,000 registers would be 1,800,000. [0] https://plan28.org/ https://plan28.org/ [1] http://blog.plan28.org/2018/05/spring-2018-report-to-computer.html http://blog.plan28.org/2018/05/spring-2018-report-to-compute...
- jordigh 8y agoThere is a very lucid graphical explanation of the hardware of the difference and analytical engines functions in a lengthy appendix to The Thrilling Adventures of Lovelace and Babbage. I really love this book and I can't recommend it enough. I wish it were adapted into animation! It is historical fantasy of the highest calibre. https://en.wikipedia.org/wiki/The_Thrilling_Adventures_of_Lovelace_and_Babbage https://en.wikipedia.org/wiki/The_Thrilling_Adventures_of_Lo...