G0rman, on 12 October 2012 - 01:34 AM, said:
cfoley has pretty much covered this, but the ability to do something with goto that I can't do in other ways, and that I want to do, or the ability to express something I want to do in a more graceful and, um, expressive manner.
You know, like, how would adding a goto improve a language like Java?
I've taken Compilers, man, I know that everything in a high-level language can be expressed in low-level machine instructions because I've done it. I know that all of your control structures are basically jumps at heart, or can be expressed with jumps. I just don't see why I'd want to write assembler in Java. So to convince me you'd have to show me that there's something I can't do now, which I want to do, and could do with a goto, or else to show me that there's something I can do now, which I would prefer to do with a goto.
All of your control structures look like they work fine, but I prefer to use the stock components because getting those structures right each time I want to write a loop takes away from my attention to getting the higher-level details right - just as having to refer directly to the memory address of a piece of data instead of a name which refers to that address would take away from my attention to what that data actually means. So I don't prefer to do it that way.
In the end, I think you're right when you point out that yours is a losing argument, because if you really do come up with a control flow that I want to have, and you express it in terms of a goto, I and any other modern programmer will immediately name it and bake it into a language. So you'd have to show not only a better form, but also that this can't be expressed in terms of a simple, expressive, and restricted command with a semantically helpful name.
That's a hard job, but it's what you'd have to do to reply effectively to Dijkstra. This is why nobody's managed to reply to Dijkstra effectively in a couple of decades of trying.

New Topic/Question
This topic is locked



MultiQuote







|