3 ms·
Because that wouldn't help readers understand how the computer learns with this simple algorithm. People bought the book to not only play, but also learn from
by glimshe 1y ago
Because that wouldn't help readers understand how the computer learns with this simple algorithm.
People bought the book to not only play, but also learn from simple games. There's nothing quite like it nowadays.
- michalpleban 1y agoOK, that makes sense - the game has a better playability if it starts on an average level and "learns" over time.
- kragen 1y agoNo, that's not why. The comment you're replying to gave a different reason that it was done that way. That comment explained, twice, that it's not merely, or even primarily, to improve the game's playability; it was to serve as an executable demonstration of the matchbox learning algorithm. The blog post explained that the game derived from Martin Gardner's popularization of Donald Michie's work on the algorithm. The output of the program also outlines the algorithm, using a series of PRINT statements. Finally, the explanatory text in the book also explains the algorithm, in somewhat more depth. Like many of the games in the book, it had a didactic purpose. It's not about improving playability.
- zahlman 1y ago> Martin Gardner's popularization of Donald Michie's work on the algorithm. I remember reading this, but for the life of me I can't recall what the title of the book was. ISTR it also had a chapter exploring multi-dimensional spaces, in particular the problem of packing hyperspheres into hypercubes.
- kragen 1y agoI can't keep his book titles straight.
- ljf 1y agoI would have previously agreed (that there is nothing quite like it these days) - but my son is now part of an online games coding club. They start off assembling ready made 'Scratch' instructions, and playing at tweaking them. In later lessons they then start to write their own Scratch recipes, before moving to Python libraries then writing Python directly. So far I've been really impressed with the materials, then tutors and the games they've made. For what he has learnt, and the support they also provide outside of the lessons, £50 a month feels pretty cheap.
- glimshe 1y agoForgive me, but I don't think scratch is all that good - my son did it too. I never liked these super simplified approaches to computing because I don't think they are necessary. Scratch wouldnt be that useful in the 80s. BASIC, despite its flaws, was both simple and powerful. You could code in the same language as many pros from the get go.
- ljf 1y agoYeah Scratch has a lot of limitations - but as an introduction to the concepts, it has been amazing. Watching him be able to build a game that he enjoyed on day one, then by maybe 6 lessons later to be using Python - has been great. I'm not a coder so it is not something I could help with (I play with Arduino etc. but I don't know python). But getting the early simple lessons to explain how changing variables affects the game, and how to run things in sequence, has been really powerful for him.
- glimshe 1y agoYou can learn a lot from Scratch, that's for sure. I'm not saying it's bad, it's actually a decent learning tool. But I think it's a step back from BASIC. You could code a ton of fairly decent games, utilities and even full applications in BASIC. While that's theoretically possible in Scratch, it's a lot more cumbersome. Scratch feels more like a puzzle game than a real programming language. BASIC, especially the later, better dialects, could do it all. With 2 very understandable lines: 10 PRINT "glimshe rulez!" 20 GOTO 10 You could teach that the computer is under your command and you can ask it to do work for you nonstop. It teaches a bit of I/O, program sequence and loops. No stupid "main" functions, indentation nonsense, cryptic library includes or cumbersome drag-and-drop. The simplicity of the code above is one of the treasures of computing history. 90% or more of humanity can quickly understand these two lines and I super disagree with Dijkstra about BASIC. It was at the same time a teaching tool and a professional programming language (although, arguably, not amazing at that).