3 ms·
I sort of disagree with the example of the Python code and the BASIC code - if you have a pretty smart kid who knows the English language who decides to think a
by bryanrasmussen 2y ago
I sort of disagree with the example of the Python code and the BASIC code - if you have a pretty smart kid who knows the English language who decides to think about things when looking at these two bits of code the one looking at the python code might think "I bet I can learn how to do this" the one reading the BASIC code will not think that intuitively from looking at the code and knowing nothing else.
- mrob 2y agoYou need reference materials to learn both of them. The Python example looks more like English, but anybody who assumes it works like English and tries to modify it will quickly find it doesn't work like that. The experience could be more discouraging than seeing a mysterious BASIC keyword. BASIC has the advantage that you don't need to read so much reference material because it's a simpler language. Well-written printed manuals for BASIC were widely available.
- bryanrasmussen 2y agoI suppose I did not explain that I know all that, but be reassured - I too am an old person. However assuming an intelligent youngster familiar with English I don't think such a hypothetical person would assume it works like English because some things might remind them of English - given that there is quite a bit that is obviously different than English. It would take a very strange intelligence to look at their first programming language and say, huh this thing that makes a computer draw a line has some words like English uses but it is obviously not English, I will try to modify it like English. After all - Python is not Cobol. I suppose someone with a desire to learn might do so quicker with BASIC, but I am only supposing that seeing the Python code might make them think I CAN LEARN - and sometimes the idea I can learn is the parent of the desire to learn.
- marcus0x62 2y agoHi, author of the original post here. I think I mostly agree with this. My frame of mind when writing this was about starting from scratch, without an existing mental model of computers, or much outside help. Despite the odd syntax (by modern standards,) I just think there was less cognitive load to get started with the old 8 bit BASICs, and they all had the sorts of things kids like to experiment with (sound, graphics) built in. I also wasn’t thinking about this from the perspective of the tooling discouraging someone from wanting to learn - that just wasn’t a problem my friends and I had, but I can see how the modern tools could be more likely to inspire someone on the fence to continue. Anyway, thanks for the comment.
- rahimnathwani 2y agoA smart 8yo with a 10 wpm typing soeed could type in the BASIC program without a problem. That same smart 8yo would probably make at least one typo trying to type in the Python program. And they would need to read the error message and figure out where in the file they made a mistake. I'm considering having my son try this Python MOOC: https://programming-24.mooc.fi/ https://programming-24.mooc.fi/ The exercises can be completed inline. I wouldn't just hand him a python book and a computer. Whereas I could totally imagine him learning something with the Acorn Electron and book I had at 10yo or 11yo.
- wslh 2y agoWith all due respect to the author you can create your own Python libs/classes/methods to mimic the BASIC simplicity. I would say that even the Applesoft HGR is unnatural and just drawing a line could be enough. Many times it is about the implicit vs. The explicit balance in code.