# slash and backslash

**URL:** <https://boards.straightdope.com/t/slash-and-backslash/32465>\
**Category:** Factual Questions\
**Created:** [September 8, 2000, 5:27am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465 "2000-09-08T05:27:23Z")\
**Posts on this page:** 12\
**Page:** 2

<div class="post-metadata">

**Author:** ![yabob](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/yabob/32/2821_2.png) [@yabob](https://boards.straightdope.com/u/yabob)\
**Post date:** [September 8, 2000, 7:48pm UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/21 "2000-09-08T19:48:03Z")

</div>

The “\<” in my sentence was a “suck”. Somewhat obscure, but I HAVE heard people in UNIX environments occasionally use “suck” and “blow” for \< and \>, and it’s listed in the jargon files, as you will note.

---

<div class="post-metadata">

**Author:** ![Arnold\_Winkelried](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@Arnold\_Winkelried](https://boards.straightdope.com/u/Arnold_Winkelried)\
**Post date:** [September 8, 2000, 8:13pm UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/22 "2000-09-08T20:13:29Z")

</div>

> [@](#):
>
> \*Originally posted by bibliophage \*  
> \*\*The **/** is also called a “virgule”.

I have never understood why that is, since the french word _virgule_ means comma.

---

<div class="post-metadata">

**Author:** ![bibliophage](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bibliophage/32/7615_2.png) [@bibliophage](https://boards.straightdope.com/u/bibliophage)\
**Post date:** [September 8, 2000, 9:18pm UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/23 "2000-09-08T21:18:26Z")

</div>

> [@](#):
>
> \*Originally posted by Chronos \*  
> \*\*By the way, yabob, what pronounciation were you using for \< in that sentence? I know that as either “Less than”, “bra”, or “open angle bracket”. \*\*

Strictly speaking, in typesetting, the less-than sign and angle brackets are not the same. Compare \< and ‹ (the difference shows up better in some fonts than others). The angle brackets are alt+0139 and alt+0155. I first head “bra” in a sense like this in relation to the vectors invented by Dirac: ‹_A_| is a bra vector, and |_B_› is a ket vector. I suspect the hackers borrowed from this use.

**sdimbert** says

> [@](#):
>
> Anyone ever hear that comedian who reads prose and pronounces all the punctuation?
> 
> ```
> Fuh-nee!
> 
> ```

Are you thinking of Victor Borge’s phonetic punctuation routine?

**Arnold** : Both languages borrowed the word from the Latin _virgula_, “little rod”. To me, the slash looks more like a little rod than the comma does.

---

<div class="post-metadata">

**Author:** ![Balance](https://avatars.discourse-cdn.com/v4/letter/b/ccd318/32.png) [@Balance](https://boards.straightdope.com/u/Balance)\
**Post date:** [September 8, 2000, 9:44pm UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/24 "2000-09-08T21:44:02Z")

</div>

> [@](#):
>
> \*Originally posted by Robot Arm \*  
> What’s wrong with INTERCAL!? First off, it should be capitalized, since it’s an acronym. INTERCAL stands for “Computer Language With No Pronouncable Acronym”, and it goes downhill fast from there.

Note the smiley and the reference to Befunge–I was kidding! I know the story behind the…I’m sorry, I can’t call it a programming language…the brainf\*\*\* that is INTERCAL. I also have trouble making myself capitalize it, since it’s _not an acronym_ (damn Woods and Lyons). INTERCAL is one of those jokes that you laugh at, then realize that your laughter has forever branded you a geek…

Note that the brainf\*\*\* reference above has no relation to the “programming language” of the same name.

---

<div class="post-metadata">

**Author:** ![Robot\_Arm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/robot_arm/32/18280_2.png) [@Robot\_Arm](https://boards.straightdope.com/u/Robot_Arm)\
**Post date:** [September 8, 2000, 10:01pm UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/25 "2000-09-08T22:01:14Z")

</div>

> [@](#):
>
> \*Originally posted by Balance \*  
> INTERCAL is one of those jokes that you laugh at, then realize that your laughter has forever branded you a geek…

It had almost disappeared until a few years ago. a friend of mine started tinkering with it, fixed a long standing bug to get it working under Linux and wrote a floating point library for INTERCAL.

Sorry for the hijack, but if you could all see Balance’s face when he reads this…

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [September 9, 2000, 1:40am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/26 "2000-09-09T01:40:09Z")

</div>

This is a real program in INTERCAL. Decipher if you can.

```auto

(10) PLEASE DON'T GIVE UP
(1) DO .2 <- '?.1$#64'~'#0$#65535'
DO .2 <- '&"'.1~.2'~'"?'?.2~.2'$#32768"~"#0$#65535"'"$".2~.2"'~#1
DO .3 <- '?#91$.1'~'#0$#65535'
DO .3 <- '&"'#91~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'"$".3~.3"'~#1
DO (11) NEXT
DO (2) NEXT
DO (12) NEXT
(11) DO (13) NEXT
PLEASE FORGET #1
DO (12) NEXT
(13) DO (14) NEXT
PLEASE FORGET #2
DO (12) NEXT
(14) DO STASH .1
DO .1 <- .3
DO (1000) NEXT
DO .1 <- .3
DO .2 <- #1
PLEASE DO (1000) NEXT
DO RETRIEVE .1
PLEASE RESUME .3
(12) PLEASE FORGET #1
DO .2 <- '?.1$#96'~'#0$#65535'
DO .2 <- '&"'.1~.2'~'"?'?.2~.2'$#32768"~"#0$#65535"'"$".2~.2"'~#1
DO .3 <- '?#123$.1'~'#0$#65535'
DO .3 <- '&"'#123~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'"$".3~.3"'~#1
PLEASE DO (15) NEXT
PLEASE DO (3) NEXT
DO (16) NEXT
(15) DO (17) NEXT
PLEASE FORGET #1
DO (16) NEXT
(17) DO (18) NEXT
PLEASE FORGET #2
DO (16) NEXT
(18) PLEASE STASH .1
DO .1 <- .3
DO (1000) NEXT
DO .1 <- .3
DO .2 <- #1
DO (1000) NEXT
PLEASE RETRIEVE .1
PLEASE RESUME .3
(16) PLEASE FORGET #1
DO RESUME #1
(2) DO .2 <- #65
DO (1010) NEXT
PLEASE .1 <- .3
PLEASE .2 <- #13
DO (1000) NEXT
DO STASH .3
DO .1 <- .3
DO .2 <- #26
DO (1040) NEXT
DO .1 <- .3
DO (1030) NEXT
DO .2 <- .3
DO RETRIEVE .3
DO .1 <- .3
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #65
DO (1000) NEXT
DO .1 <- .3
DO RESUME #1
(3) DO .2 <- #97
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #13
DO (1000) NEXT
DO STASH .3
DO .1 <- .3
DO .2 <- #26
DO (1040) NEXT
DO .1 <- .3
DO (1030) NEXT
DO .2 <- .3
DO RETRIEVE .3
DO .1 <- .3
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #97
DO (1000) NEXT
DO .1 <- .3
DO RESUME #1
DO COME FROM (10)
DO .4 <- #0
DO .5 <- #0
DO STASH .4 + .5
DO ,1 <- #1
DO COME FROM (33)
DO WRITE IN ,1
DO .1 <- ,1 SUB #1
DO (31) NEXT
PLEASE DO .6 <- #1
PLEASE DO (34) NEXT
(32) PLEASE RESUME '?.1$#256'~'#256$#256'
(31) DO (32) NEXT
DO FORGET #1
DO .6 <- #0
PLEASE DO (34) NEXT
(33) DON'T GIVE UP
(34) DO .6 <- "?!6'$#1"~#3
DO (40) NEXT
DO GIVE UP
(40) DO (41) NEXT
PLEASE FORGET #1
DO (42) NEXT
(41) DO RESUME .6
(42) DO FORGET #1
DO RETRIEVE .4
DO .2 <- .4
DO (1000) NEXT
DO .4 <- .3~#255
DO .3 <- .4
DO STASH .4
DO .1 <- .3
DO (1) NEXT
DO .3 <- !1~#15'$!1~#240'
DO .3 <- !3~#15'$!3~#240'
DO .2 <- !3~#15'$!3~#240'
DO .1 <- .5
DO (1010) NEXT
DO .5 <- .2
DO ,1 SUB #1 <- .3
PLEASE READ OUT ,1
PLEASE RESUME #1

```

This was gotten off of this site: [http://www.ugcs.caltech.edu/~jlm/intercal.html](http://www.ugcs.caltech.edu/~jlm/intercal.html), which gives some explanation of INTERCAL.

---

<div class="post-metadata">

**Author:** ![Robot\_Arm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/robot_arm/32/18280_2.png) [@Robot\_Arm](https://boards.straightdope.com/u/Robot_Arm)\
**Post date:** [September 9, 2000, 2:04am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/27 "2000-09-09T02:04:00Z")

</div>

Good work, Derleth. For a minute there I thought it was structured INTERCAL, but then I saw the COME FROM statement.

---

<div class="post-metadata">

**Author:** ![Spider\_Woman](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@Spider\_Woman](https://boards.straightdope.com/u/Spider_Woman)\
**Post date:** [September 9, 2000, 2:05am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/28 "2000-09-09T02:05:26Z")

</div>

/ (and ) were spider legs.

---

<div class="post-metadata">

**Author:** ![Balance](https://avatars.discourse-cdn.com/v4/letter/b/ccd318/32.png) [@Balance](https://boards.straightdope.com/u/Balance)\
**Post date:** [September 9, 2000, 2:10am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/29 "2000-09-09T02:10:03Z")

</div>

> [@](#):
>
> \*Originally posted by Robot Arm \*  
> It had almost disappeared until a few years ago. a friend of mine started tinkering with it, fixed a long standing bug to get it working under Linux and wrote a floating point library for INTERCAL.
> 
> Sorry for the hijack, but if you could all see Balance’s face when he reads this…

You can’t see my real face, so here :eek:

Floating point INTERCAL running under Linux is surely a Sign of the End Times. What was he smoking?!  
(BTW, given that “?” is a “quizzer” in some programming circles, the punctuation construct “?!” can be pronounced as “quiz-bang”. I encourage the practice.)

Derleth, I _think_ it does a normal rot-13 character shift, as the name implies–but I’m not sure by any means. I’m certainly not going to compile it and test it! (Oops, did I just admit to having a compiler?)

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [September 9, 2000, 2:26am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/30 "2000-09-09T02:26:15Z")

</div>

That block of code up there is perhaps the most polite piece of programming ever. I mean, it uses the word ‘please’ like it was asking the compiler for a favor. It’s a wonder more compilers don’t demand such courtesy. 😃 But seriously, perhaps the most worthless language ever written _and actually used_ is called Brainfuck. (I’m justified in using curse words because it’s the dang language’s name, gol-darn it.) Here’s ‘99 bottles of beer on the wall’ (the song) in Brainfuck:

```auto

>+++++++++[<+++++++++++>-]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]>>>
[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<
-]<<-<-]+++++++++>[<->-]>>+>[<[-]<<+>>>-]>[-]+<<[>+>-<<-]<<<
[>>+>+<<<-]>>>[<<<+>>>-]>[<+>-]<<-[>[-]<[-]]>>+<[>[-]<-]<+++
+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
+++++++++>-]<.+++..+++++++++++++.>++++++++++[<---------->-]<
-.---.>+++++++[<++++++++++>-]<++++.+++++++++++++.++++++++++.
------.>+++++++[<---------->-]<+.>++++++++[<++++++++++>-]<-.
-.---------.>+++++++[<---------->-]<+.>+++++++[<++++++++++>-
]<--.+++++++++++.++++++++.---------.>++++++++[<---------->-]
<++.>+++++[<+++++++++++++>-]<.+++++++++++++.----------.>++++
+++[<---------->-]<++.>++++++++[<++++++++++>-]<.>+++[<----->
-]<.>+++[<++++++>-]<..>+++++++++[<--------->-]<--.>+++++++[<
++++++++++>-]<+++.+++++++++++.>++++++++[<----------->-]<++++
.>+++++[<+++++++++++++>-]<.>+++[<++++++>-]<-.---.++++++.----
---.----------.>++++++++[<----------->-]<+.---.[-]<<<->[-]>[
-]<<[>+>+<<-]>>[<<+>>-]>>>[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]+++++++++>[<->-]>>+>[<[-]<
<+>>>-]>[-]+<<[>+>-<<-]<<<[>>+>+<<<-]>>>[<<<+>>>-]<>>[<+>-]<
<-[>[-]<[-]]>>+<[>[-]<-]<++++++++[<++++++<++++++>>-]>>>[>+>+
<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>[-]>[-]++++[<++++++++>
-]<.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.><+++++..---
-----.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++++++++++++++
.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<+++++++++>-]<-
-.---------.>+++++++[<---------->-]<.>++++++[<+++++++++++>-]
<.+++..+++++++++++++.>++++++++[<---------->-]<--.>+++++++++[
<+++++++++>-]<--.-.>++++++++[<---------->-]<++.>++++++++[<++
++++++++>-]<++++.------------.---.>+++++++[<---------->-]<+.
>++++++++[<+++++++++++>-]<-.>++[<----------->-]<.+++++++++++
..>+++++++++[<---------->-]<-----.---.+++.---.[-]<<<]

```

Yeah, a human being wrote that. I’m beginning to suspect the author was either a masochist or a genius. Perhaps both. Brainfuck, in all fairness, is a rather interesting concept language. It’s based directly on the classic Turing Machine. It’s explained here: [The Brainfuck Programming Language](http://www.muppetlabs.com/~breadbox/bf/) .

---

<div class="post-metadata">

**Author:** ![Robot\_Arm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/robot_arm/32/18280_2.png) [@Robot\_Arm](https://boards.straightdope.com/u/Robot_Arm)\
**Post date:** [September 9, 2000, 2:35am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/31 "2000-09-09T02:35:14Z")

</div>

Derleth! Breadbox is the guy I was talking about! I’ve known him for 15 years. I’ll do a little follow-up on that masochist/genius dichotomy thing.

The ; seems to inspire people too. My book gives ‘semicolon’, ‘semi’, ‘weenie’, ‘hybrid’ and ‘pit-thwong’.

---

<div class="post-metadata">

**Author:** ![Balance](https://avatars.discourse-cdn.com/v4/letter/b/ccd318/32.png) [@Balance](https://boards.straightdope.com/u/Balance)\
**Post date:** [September 9, 2000, 3:55am UTC](https://boards.straightdope.com/t/slash-and-backslash/32465/32 "2000-09-09T03:55:54Z")

</div>

> [@](#):
>
> \*Originally posted by Derleth \*  
> That block of code up there is perhaps the most polite piece of programming ever. I mean, it uses the word ‘please’ like it was asking the compiler for a favor. It’s a wonder more compilers don’t demand such courtesy. 😃

Some INTERCAL compilers have built-in politesse checking. If you use “please” with less that 1/5 of your statements, the compile aborts because the program is rude; if more than 1/3 of the statements are prefaced with “please”, the compiler rejects the code as stilted. Ratios may vary with compiler and are seldom documented.

> [@](#):
>
> But seriously, perhaps the most worthless language ever written _and actually used_ is called Brainfuck. (I’m justified in using curse words because it’s the dang language’s name, gol-darn it.)

Indeed, it was Brainfuck that I referenced in my self-referential denial of reference above. It’s like INTERCAL (caps-locked in deference to Robot Arm) on really heavy drugs–but not as heavy as the drugs you need after writing something in it. Even worse is Rube–I don’t know that anyone has every managed to write a nontrivial program in Rube. A perverse, twisted, thought: take chunks of Nethack maps and run them through a Rube interpreter, just to see what happens.

[Previous page](https://boards.straightdope.com/t/slash-and-backslash/32465.md?page=1)
