Talk:1306: Sigil Cycle

Explain xkcd: It's 'cause you're dumb.
Revision as of 21:56, 20 December 2013 by 141.101.99.229 (talk)
Jump to: navigation, search

Shouldn't it be QBASIC$ (or QBASIC%), since in Basic the sigil is attached to the end of variable names? --173.245.53.108 13:19, 20 December 2013 (UTC)

Could not find where categories can be added, here's a list of suitable categories: Charts, Computers, Comics presenting a compromise Internet, Programming 173.245.53.180 13:32, 20 December 2013 (UTC)

This comic de-emphasizes the value of sigils. It's very ironic that Randall chose C++, a language with symbols, to exemplify plain words. And C is a reason for not naming technologies after letters. Same with X. You have to search for "C programming language" or "X window system." It's very helpful to distinguish things with unique sigils, especially in this current age where we depend on full-text search. Just look at my login ID, tbc. I have been tbc on the Internet since 1981. But I eventually had to go by tbc0 (e.g. on Twitter) because tbc isn't unique enough. Google was named after 10^100 (an incomprehensibly large number reflecting their ambition). But that number is spelled googol. They own their spelling. Brilliant. Consider examples: iMac, iPhone iPad, Yahoo (a little weak), Facebook (they own that word). It's all about branding. Google Kleenex or Xerox and you'll see that they're excellent sigils. The problem is, those terms have become generic. Their brand is a little weaker for it. Finally, on Twitter, @and # unleash powerful features. — tbc (talk) 15:01, 20 December 2013 (UTC)

C++ uses symbols, but it doesn't use one to denote that an identifier is a variable (like PHP) or the type of an identifier (like early BASIC, Perl, and arguably Twitter). And when I search for X, it's either X11 (the protocol) or Xorg (the widely used server implementation). And Barney Google had it first. --Tepples (talk) 15:55, 20 December 2013 (UTC)

Any way we can expand on the history of programming (if applicable)? Did these languages become popular in a certain order, or were they developed as a response to one another? Or is this comic simply Randall's journey through programming, not specifically tied to the popularity (or development) of certain coding languages? -- 108.162.216.227

The google mentioning isn't explained well enough imo. Instead if just saying "they have a service called google plus", it should be told how the + sign is used throughout the service, like every other instance in the article. I may do the edit myself, but it's not likely. 141.101.98.237 15:26, 20 December 2013 (UTC)


"Ironically, it is the name if the language itself that includes symbols."

It's not very ironic. Variable names don't include symbols, but commands do. This statement should be rewritten.

int c = 0;

c++;

c += 1;

c = c + 1;

I find it ironic that "C++" in a statement would be interpretted as "C" and only post-incremented (i.e. only incremented when next referenced). Meaning "C++" is effectively the same as "C", in its own context. They should have named it "++C", if they wanted to indicate that it was itself improved upon the original value of C. ;) 141.101.99.229 16:37, 20 December 2013 (UTC)
This is an incorrect interpretation of the statement c++. c++ as a standalone statement, on a line by itself, will result in c being exactly one greater than before the statement (the value stored in that memory location will indeed be one greater); using prefix or postfix ++ in this context is functionally equivalent and most people just prefer using the postfix version. Where the distinction between the prefix and postfix versions come into play is in more complex statements where the operator's return value is not ignored. For example,
int c = 1;
int x = c++;
x will be initialized to 1 because the postfix ++ operator returns the value of c before it was incremented, but the value stored in c will be 2 regardless of further reference. If, instead you initialized x using the prefix version, ++c, x would be 2 because the prefix version of ++ returns the incremented result. (Side note: it's often considered bad practice to rely on the return value of the increment and decrement operators.) 108.162.219.227 20:58, 20 December 2013 (UTC)
No, I stand by what I say. I actually agree with your code, but freely parsing "I will use C++ for this project", as a phrase (at least the first time you utter it) might so easily be a statement that gives a direct result equal to "I will use C for this project". (It helps to have just the right geeky sense of humour, of course.) 141.101.99.229 21:56, 20 December 2013 (UTC)


Extending the first comment above: Since the strip is known for being rather technically strict, it's odd that it says "word ... will START with", yet QBASIC variables END with symbols, and Google+ ENDS with a symbol.108.162.216.216 18:11, 20 December 2013 (UTC)

Although C++ doesn't force you to use sigils, by convention programmers would still use sigils. Conventionally, variable names were named nCount, or fCost. The first character in the variable name indicated the data type. This convention was extended by Visual C++, and it started naming interfaces starting with I. Eventually, this convention fell by the wayside because IDEs started getting smarter and you would get code complete and some sort of information via a tooltip that eliminated the need for the Sigil --173.245.56.24 18:16, 20 December 2013 (UTC)

I think this explanation could do with some better explanation of the programming concepts it describes. Not every xkcd reader will be familiar with programming languages. --Mynotoar (talk) 21:20, 20 December 2013 (UTC)