@vpajic I think systematic comments are fine for beginners, for teachers, or for people who don't understand english well enough to infer what the keywords mean. I'm not against them, but I don't think it's a good idea to use them 1-1 for each line of code. I would avoid using comments to describe what the code does, but rather use them to describe the intent of the code. In general, the intent of a function or a class never changes, but the inner workings may change from time to time. I would avoid using numbers in comments, since these force you to maintain a double-ledger when you tweak your code further down the line.
The big problem I see with them is that they're disconnected from the code and the actual computation of the program. They're paratext, and as such they can go stale, be wrong, miss some parts of your script, refer to a part that was removed, be copy/pasted without changing their values, etc. The program won't care if the textual information is not valid, but if you as a programmer or a user trust a comment to understand what some piece of code does, you run the risk of being misled in the wrong direction, or not understand what side-effects it may have.
As an example here in this piece of code, the comment # Create 6 cubes
is a bit misleading. The code it refers to is creating 6 cubes, sure, but it is also changing their dimensions, AND setting them apart by a certain distance, AND changing the active object 6 times, AND renaming them. (And updating the UI accordingly). If I had to use a comment, I would maybe rephrase it like # Create and setup cubes according to the input parameters
or something like that. In reality I would put it in a function and call it create_cubes(instances, dimensions, spacing):
:)
Sorry for detracting the discussion from the point of the topic. For now I don't think this tool (in this current form) will directly help confirmed developers, but it will indirectly have an impact by bringing in new blood, new ideas, generate hype in mainstream media, etc.
As a code-completion assistant, devs will spend less time looking up the docs or figuring how to use the API or correcting menial bugs like a forgotten comma or parenthesis, which is awesome.
As a code generation program, for now, it seems it understands how to stack primitive shapes together to create various bigger shapes, and it also seems to understand what it is doing, according to the systematic comments, which is also awesome as a starting point because that's how most people start writing scripts and playing with the API.
I'm so eager to see what the next step is :)