*elseif needs *goto?


Why thank you for calling me stupid and not a real programner for not liking icf and having a very easy time keeping track of my labels and gotos.

My game is going to be branchy as all heck and the very same knows I could NOT do that without gotos.

What next? Everyone here who uses “say” in their games is not a “real writer”?


Or, say, Knuth.


I have a very branchy, well not branchy, I tried to do an open world game. I would use “recursive” to describe my own project rather than branchy. I would love for you to take a look at it some time and tell me what you think. No obligation, of course. By some miracle I managed to complete my project without using implicit flow control, but to be fair, I don’t remember if that was out when I was working on it…?

My graduate degree is in English. I don’t really have any programming knowledge or background other than what I taught myself about choicescript. That said, I think not using implicit flow control helped my non-linear thinking? To be fair, I wouldn’t know how my process would have changed if I would have used implicit flow control simply because I just haven’t used it yet, so I have insufficient experience to say otherwise.


“Everyone with a degree in Computer Science,” then. You taught yourself and that’s great, but you have to accept you might have missed something along the way. Avoiding goto and seeing how if/else is normally handled is CS1 stuff. … Although goto is used so rarely outside ChoiceScript these days that it’s probably also a viable strategy for the instructor to pretend it doesn’t exist.

I also want to point out that I actually teach CS for a living at Northeastern University, and when I was working at Google instead for a few years, I became certified to review others for style issues. So while you should be proud of your accomplishments in this sphere, I think you should also probably believe me when I say that there is an accepted wisdom on the general principles I’m talking about.


Sure? I can poke around it a little bit if you send me a link.

I don’t really buy the argument that no implicit_control_flow is necessary for beginners, because every CS1 class taught in Python - which is pretty popular for CS1 - has the students using similar endcap-less if/else statements within the first few weeks. I’d speculate that most people on the forums haven’t even tried it because the thing you don’t know is scary, and the thing you do know seems comfortable. People often try to justify what they do post hoc (cf. research on split-brain patients etc). And actually, I think Dan made the change a little bit intentionally scary when it was first announced to try to reduce the number of people who might expose any bugs; now anybody reading about it gets Dan’s extremely cautious description of it, which I think was more a product of his being nervous about any big change to his code base.

If you do take a more “recursive” style, I assume that means you’re using gosub a lot, and then any problems with fallthrough will tend to be avoided by the *return at the end of the sub, if you put it at the outermost level where everything falls through to. I’d recommend just *set implicit_control_flow true and then goodbye gotos.


@moderators - Can you close this topic? It’s beginning to get off-topic, thank you.