Craigix, Free Units To Devs?


I don`t misunderstand the argument, what I mean is (for those who DO misunderstand it), the compiler uses goto frequently IN THE CORRECT WAY, ergo, using goto is NOT bad in it'self since many wise compiler writing coders (of a far higher level than me) found it acceptable/desirable for their creation to use gotos for optimisation/compaction purposes, oth using it to jump around like a grasshopper on acid rather than restructure your code/algorithm IS bad, obviously, but used correctly there is no problem with goto, just a problem with people who use it badly.

offtopic: I think many people learning to code in modern high level languages have lost a lot of sense of what happens internally in a program, back in the day when I was pecking ASM into a ZX80 via touch insensitive keyboard you had this vision of your binary going here, sliding onto the stack, getting ORed with this number, stick this into ram here in the display buffer etc, you knew at a very low level what was going on, now days people talk of objects/instances/indirection and threads, and I just get dizzy cos it's so far removed from whats realy happening internaly, ASM was easy, I wish I had kept up with stuff rather than letting it slide for 1/4 of a century before trying to pick it up again, to an ASM coder, modern systems are murder to work with, if only for lack of good low level information (plus modern PC`s are imo crushingly complicated compared to a ZX80, Spectrum or even Amiga)
 
hobbyman II said:
I don`t misunderstand the argument, what I mean is (for those who DO misunderstand it), the compiler uses goto frequently IN THE CORRECT WAY, ergo, using goto is NOT bad in it'self since many wise compiler writing coders (of a far higher level than me) found it acceptable/desirable for their creation to use gotos for optimisation/compaction purposes, oth using it to jump around like a grasshopper on acid rather than restructure your code/algorithm IS bad, obviously, but used correctly there is no problem with goto, just a problem with people who use it badly.

It's just that none of this is relevant to anything anyone has ever said on goto. Least of all Dijkstra. The argument posed has been that goto shouldn't be part of high level programming, not that it has no place in machine language.
 
Last edited by a moderator:
In university, I once took a test where, for a bonus, a piece of code was given, and we were asked to explain what this code did. It used a goto. When reviewing the test answers, the prof confided that the structure was only possible in C by using a goto: it was quite literally impossible for it to be coded in any other way and still get the same result. This is going back about 8 years now, so I can't remember what the code was or even what it did (I got it wrong, incidentally. It was surprisingly hard) but the fact remains that, so long as I know there is at least one instance where goto is necessary, I will never say to never use it (while being serious)
 
WizardStan said:
In university, I once took a test where, for a bonus, a piece of code was given, and we were asked to explain what this code did. It used a goto. When reviewing the test answers, the prof confided that the structure was only possible in C by using a goto: it was quite literally impossible for it to be coded in any other way and still get the same result. This is going back about 8 years now, so I can't remember what the code was or even what it did (I got it wrong, incidentally. It was surprisingly hard) but the fact remains that, so long as I know there is at least one instance where goto is necessary, I will never say to never use it (while being serious)

I would love to see that code. I have never, ever had to use goto in C. It might be the easy way out, but I'm sure there was another approach you could have taken.
 
Last edited by a moderator:
I regularly do things that are much 'worse' that using a goto statement, in terms of readability (I assume that's what we're talking about)

Making a loop counter global then breaking the loop by setting the counter outside its bounds. Horrible code. But feck it - I know what it does and no one needs to read my shite code but me, so...

Assembly is my favourite for making unreadable - self modifying code FTW

*edit* syntax
 
Creature XL said:
Ah no. As almost only those read his blog who are to lazy to read 3 topics a day in this forums :)

Further, he will make enuff money when he puts the domin on sedo-parking.com in one year. I bet he has an aweful lot of clicks :)
Ah no. First let me say that I'm not arguing the point for a free unit here - it's a bit late to give me something for free after I've paid for it. ;) I don't expect any special treatment. Second, a few facts about the blog:

- It's not "my" blog. I choose to put the most time into it, but it's a community blog.
- We get 3 to 5 thousand unique hits per day. I'd bet that the majority of first batchers (and potential second batchers) don't read the forums.
- I'm strongly against the practice of trying to make money from every click on the internet. I was opposed to the Adwords at first, but the few bucks from that go directly to Atomicthumbs, who provides free hosting and awesome backend support for the blog.
- Atomicthumbs also registered the new domain name for us. I don't have control over what will happen to that in the future, but I can assure you there will be no dodgy domain parking on my watch.
 
Last edited by a moderator:
Hah, the twelfth post sparks an offtopic discussion more than 50 posts long with just three lines of text, two of which are code, and no-one minds the slightest. Amazing :lol:
 
hobbyman II said:
5 cls: let limit=2
10 for I=0 to limit
20 print I;" ";
30 inc limit
40 next I
I'm sure nobody cares, but you could have a bit of an overflow issue here.

NLS said:
Code:
10 goto 20
20 goto 10
*watches the universe implode*
And I'll optimise that for you:
Code:
10 goto 10

It's sure been a long time since I've used this stuff.
 
Last edited by a moderator:
The goto hate has gotten so out of hand, the goto statement has been completely removed from Java. Which in my mind is freaking unbelievable.
 
Use case for goto: boundary condition of a state machine involving stratified controllers, use goto to leave the area immediately and preserve register state for analysis. Sometimes, the only way to leave is to walk backwards into the room.
 
I have a topic-related query, if that's OK?

Let's say some or all of the 105 are sent out to developers and reviewers. Who pays for them? I mean - they cost money to make, but where does that money come from? Is it going to be taken out of the dev fund that some of us donated to, or come out of OpenPandora's pocket as research, development, and marketing costs against future profits?
 
This goto talk is hilarious. I love the idea that people will code around using one. As if the rest of their code would live up to such pointless 'perfection'.

I use goto now and again where it works. There are many instances, as usual summarized in an excellent way by Exophase, where they do the job - often saving a lot of time.

I also find them to be helpful in brute force bug hunting.
 
Monk said:
I have a topic-related query, if that's OK?

Let's say some or all of the 105 are sent out to developers and reviewers. Who pays for them? I mean - they cost money to make, but where does that money come from? Is it going to be taken out of the dev fund that some of us donated to, or come out of OpenPandora's pocket as research, development, and marketing costs against future profits?

It is just part of the development budget.
 
Last edited by a moderator:
Kewl, thanks. I really hope that you guys get into profit soon - if not on second batch, then on third and upwards.
 
Back
Top