Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Rob ``Commander'' Pike - Go lang

Name: Anonymous 2014-05-02 12:13

http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html
"If you need to go to somewhere, goto is the way to go".

So the new hipster shit taking over now that the ruby is full of sexist rape supportors is Go!

http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html
It features a higher level of analness than seen in any programming languages that aren't based on french lambda calculi in particular:

http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html

Prepare to get shamed downvoted and patronized for asking how to turn "DECLARED BUT UNUSED VARIABLE" from an error into a warning: http://stackoverflow.com/questions/21743841/how-to-avoid-annoying-error-declared-and-not-used-from-golang

Here's some picks from the go implementation:

doc/go_faq.html:var _ = unused.Item // TODO: Delete before committing!
doc/go_faq.html: _ = debugData // Used only during debugging.
doc/progs/image_draw.go: _ = dirtyRect // noop
doc/progs/go1.go: _, _, _, _ = holiday1, holiday2, holiday3, holiday4
doc/progs/go1.go: _ = ErrSyntax
doc/progs/go1.go: _ = f
doc/progs/eff_unused2.go:var _ = fmt.Printf // For debugging; delete when done.
doc/progs/eff_unused2.go: _ = fd
doc/progs/error.go: _ = f


Despite this fucking ANAL BULLSHIT that even they have to work around, the language still has MOTHERFUCKING GOTO http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html

cmd/gc/walk.c comment out lines 67, 71

the follow tests will fail:

# ../test
# go run run.go -- typeswitch2.go
errorcheck typeswitch2.go : typeswitch2.go:43: missing error "declared and not used"
# go run run.go -- fixedbugs/bug373.go
errorcheck fixedbugs/bug373.go : compilation succeeded unexpectedly


You will now be able to program in peace.. unless you have to work on a codebase that has goto in it.

Name: Anonymous 2014-05-02 12:15

I wouldn't say goto's have been "dead for years" -- they're useful in
rare circumstances, particularly for error handling, and especially in
a systems language that lacks exceptions. But, I agree they are often
abused by C programmers, and I would say abused by Go source as well:

$ find src/pkg -name *.go -print | xargs grep "goto" | wc -l
165

I'm sure reasonable people will disagree, but I find that statistic (1
goto for every ~1000 lines of code) an order of magnitude too high. I
guess it depends on if you look at goto as "just another way of
creating a jmp" or "absolute worst-case crutch to be avoided if at all
possible." Firmly in the latter camp, myself.

Name: Anonymous 2014-05-02 12:16

GOTO is not bad. Physical computers have GOTO instructions, they don't have IF/THEN/ELSE, SWITCH, WHILE, FOR, etc., those or all a language-level decoration layered on the essential, life-giving GOTO.

Sometimes, when you want to write a program that acts like a computer, for example one that evaluates a state machine, the program that is the "state machine computer" is most naturally expressed with GOTO. There need be no shame for this. It's not a primitive act, or inferior to anything else in the repertoire of the skillful programmer.

Name: Anonymous 2014-05-02 12:17

Thanks gusy for a wonderful explanation and example for using Goto. I dont feel guilty of using it anymore :)

Name: Rob `Commander' Pike 2014-05-02 12:19

It's really handy if you need to go to somewhere.

-rob

Name: Anonymous 2014-05-02 12:30

I thought Ruby was for faggots, not for real men.

Name: Anonymous 2014-05-02 13:16

>>3
for example one that evaluates a state machine
that would be most naturally expressed with StateT

Name: Anonymous 2014-05-02 16:15

>>7
No, with ContT r (StateT ...). ContT would provide the GOTOs.

Name: Anonymous 2014-05-02 18:22

>>1

It makes it easier to read code written by other people
citation needed.

BTW, why should a programmer care about other people's feelings, when it is CPU, who is concerned?

Name: Anonymous 2014-05-02 19:53

Goto a shit because switch/case's better


int pc = 0;

#define GOTO(x) {pc = x; break;}

while (1)
switch (pc++)
{
case 0:
kikeDance ();
break;
case 1:
GOTO (0);
}

Name: Anonymous 2014-05-02 20:37

>>10
it stops being funny when I can't tell if you are joking or not because I don't know if I should laugh or get mad.

Name: Anonymous 2014-05-02 20:43

>>11
Get mad, it'll shorten your life and we won't have to see your ugly face for as long.

Name: Anonymous 2014-05-02 21:16

>>11
are you the shitposter?
it seems so, in that case do what >>12
kun says

Name: Anonymous 2014-05-02 23:47

>>12,13
hey that's mean.

Name: >>14 2014-05-03 1:27

>>12,13
I have thought more carefully about your response since writing >>14. I am one of those people that's able to feel emotions without compromising my core being. Being ``mad'' does not carry the same consequences for me as they might for someone else. I should have chosen my words more carefully, since I haven't been genuinely ``mad'' in many years. However I can respond in a way that may cause one to think that I am angry, sad, anxious, content, or whatever emotion they wish to label their impression of their interaction with me. Perhaps that is what I meant be being mad. I may write a section of text that may give a reader the impression that I am mad. Such a reader is not aware of my emotional being since they have no access to this, only the text that I have consciously written.

However, I am a bit offended by your wish for my earlier death. That's kind of fucked up, especially considering we may have been talking about things for a few years now and we may or may not have been friends of some sort. I am not `mad', however I am `mildly perturbed'.

*clicks unfriend button*
*closes tab*

Name: Anonymous 2014-05-03 1:50

>>15
blah blah i'm a hippie blah blah
faggot

Name: Anonymous 2014-05-03 6:04

>>10-16
I fucking love you, /prog/.

>>15
Wait, ¿are you actually the l(el)+ shitposter?

Name: >>11 2014-05-03 6:43

>>17
No I am not lel-kunt. I'm also not particularly proud of this exchange.

>>10
I appreciate your work as a piece of art floating in the collection here we call /prog/. Does this settle the issue or do you still wish that I die? I'm inferring that what was written in >>11 was the cause of your textual attacks based upon the response pattern. I cannot gather this information from your post content because the post content only contained content that was to have a negative impact upon the wellbeing of the subject, the reader, (me), so that the reader would not feel content upon reading the content. I will further assure you that I feel very content upon reading the content of this thread and I will continue to contend to end the contest of content that contests contrary content in commencing communication catastrophes on caterday, the sabbath, and yesterday too.

Name: Anonymous 2014-05-03 6:45

I meant to not bump. Let this be a lesson to you.

Name: Anonymous 2014-05-03 6:47

>>15
*clicks unfriend button*
;-;

Name: Anonymous 2014-05-03 6:50

>>18
or do you still wish that I die?
no ;-;, please click the friend button again ;-;

Name: Anonymous 2014-05-03 7:06

>>20,21
I'll have to think about it. I must weigh the cost and benefits of being internet friends against the cost of being textually assaulted in a way that exploits the said internet friendship. We will see. We will see...

Name: Anonymous 2014-05-03 7:12

>>22
Your words hurt me deep inside, I do not know if I will be able to take this weight on my life so I think it's time for a final ``bye'', I'm going outside of this world by endding my life. I wish all of you the best, I am actually happy because there I will meet people like John McArthry, Dennis Ritchy and Sussman
so, bye /prog/, it was nice knowing you

Name: Anonymous 2014-05-03 7:18

>>23
That sounds nice actually. I'll end my life too and we can go on adventures together in the after life!

Name: Anonymous 2014-05-03 7:21

>>24
I heard that people in after-life have giant grass lands and seas made of honey
I hate honey

Name: Anonymous 2014-05-03 7:28

I would be disappointed if the afterlife actually turned out to be insert cultural or religious reference to subject here

Name: Anonymous 2014-05-03 7:42

the cost benefit analysis is complete and the friend button has been clicked.

Name: Anonymous 2014-05-03 8:07

^-^

Name: Anonymous 2014-05-03 16:37

Now can we please concentrate our efforts on making lel-kunt kill themself?

Name: Anonymous 2014-05-03 18:16

>>29
But I like lel-kunt. And I think he only posts here like once a week now.

Name: Anonymous 2014-05-04 10:52

>>10

Can't do indirect jumps with switch statements, Timothy.
You need indirect jumps to write direct threaded code, the most efficient way of implementing a finite state machine.

Name: Anonymous 2014-05-04 13:00

>>31
Using a general purpose CPU is not the most efficient way to implement a finite state machine.

Name: Anonymous 2014-05-04 15:37

>>32
The most efficient implementation of a finite state machine on a general purpose CPU is still a valid question with a useful answer.

Name: Anonymous 2014-06-15 8:18

Name: Anonymous 2014-06-15 20:05

Alan Kay on Dijkstra http://www.youtube.com/watch?v=9KivesLMncs

Now shut the fuck up and go learn something.

Name: Anonymous 2014-06-15 20:21

>>35
What the fuck is he going on about? What is this new ``computer'' math and ``classical'' math? Computers can't do ``classical'' math because they aren't sentient beings which is a requirement for such math. Computers are just souped-up calculators (arithmetic). Plus you need a lot of math to create and do anything with computers that isn't jacking off to OOP.

Name: Anonymous 2014-06-15 20:54

>>36
Computers lack agency. They can only do whatever you can make them do.

Name: Anonymous 2014-06-15 21:53

>>37
Your dad turns into a computer (lack of agency) when my dick makes her orgasm in her bed.

Name: Anonymous 2014-06-15 21:58

>>37
Humans lack agency. They can only do whatever The Establishment makes them do.

Name: Anonymous 2014-06-15 22:04

Goyim lack agency. They can only do whatever the chosen people make them do.

Name: Anonymous 2014-06-15 22:05

>>39
Sorry, you'll have to wait. I'm still having a hard time with >>38

Name: Anonymous 2014-06-16 1:14

Həmənſ ləck əgəncy. Þəy cən ənly də whətəvər Þə Eſtəbləſhmənt məkəſ þəm də.

Name: Anonymous 2014-06-18 6:24

>>3
they don't have IF/THEN/ELSE
FALSE!
usualy in most instruction sets the equal to if is something like a ifjmp, see http://www.unixwiz.net/techtips/x86-jumps.html

Name: Anonymous 2014-06-21 0:40

The presence or absence of syntax for goto is a nice shibboleth for distinguishing practical languages from languages that serve primarily as conversation pieces. Its presence in Rust is reassuring:

https://github.com/rust-lang/rust/issues/2216

Name: Anonymous 2014-06-21 1:13

>>44

Practical, huh? Well my personal scheme implementation found itself highly used (as in almost entirely with the rest being in good ol' C) in a certain experimental military project regarding non-gps methods of guidance and self-tracking. What about your rust or java?

Name: Anonymous 2014-06-21 2:17

>>44
Loop labels are the same as gotos now? This isn't what Dijkstra was talking about.

>>45
Calm down. If you needed loop labels you can easily shart out a macro to do the job with some simple combinator work. Using select/filter/whatever where appropriate is clearer anyway.

Rust's Iterator version is efficient: http://doc.rust-lang.org/std/iter/trait.Iterator.html#tymethod.filter

Java probably has a version that produces temporary objects that won't get GC'd until the next solar Eclipse.

Name: Anonymous 2014-06-21 3:48

Commander Kike

Name: Anonymous 2014-06-22 0:22

*farts*

wise fwom youw gwave

Name: Anonymous 2014-07-03 4:44

>>45
my personal scheme implementation

No one cares.

What is the point of having high level languages if everyone must implement their own?

the rest being in good ol' C

Which has goto, and for your particular application you probably had a use for it! What exactly is your point?

>>46
Loop labels are the same as gotos now? This isn't what Dijkstra was talking about.

They are completely equivalent, yes. Which is useful when dealing with people who treat the title of Dijkstra's paper like a religious edict.

Name: Anonymous 2014-07-03 15:17

>>49

They're not completely equivalent. Labeled break/continue provide the kind of structure Dijkstra found lacking with gotos. Which is useful when dealing with people who haven't read the paper.

Name: Anonymous 2014-07-06 21:40

>>44
shibboleth
Shalom!

Don't change these.
Name: Email:
Entire Thread Thread List