[Question]
  [
Your company lately hired a new bunch of *extremely dedicated* sysadmins. They feel that just watching computer screens is quite limiting (I mean, 60Hz refresh rate is just NOT enough), so they hooked up the CPU data bus to an DAC and play that on a speaker through the server room so that they can hear up to 20kHz. One problem: they're sysadmins, not electrical engineers, and their speaker setup keeps breaking. They figured that this is caused by too abrupt changes in byte values in the code that the software engineers compile on the mainframe. The sysadmins are now hosting a little competition to see who can make code that is the most gentle to their speaker setup.
# Challenge
Your mission is to create a **program** or **function** in a language of choice that has as little difference as possible between consecutive bytes (see the Calculation section). This program will have the task of calculating its own score.
# Input
An ASCII string on `stdin` or your language's closest equivalent, or as a function input if you're creating a function. Since your program will have to take itself as input to calculate your score, your program should support Unicode if it contains any Unicode. Otherwise, ASCII is sufficient. Input can be assumed to be at least 2 bytes long.
# Calculation
Each character of the string will be converted to it's numerical equivalent, using the ASCII standard. Then, the difference between all characters will first be **squared** and then **summed**. For example, the string `abd` will get a score of `1²+2²=5`.
# Output
Output will be the title to your entry. This means that it should be prepended by a `#` or appended by a newline and a `-` (dash). Then, it should output the name of your programming language, followed by a comma, a space and then an integer representing the result of the calculation. For example
```
#C++, 98
```
would be valid output. Output should be given on `stdout` or your language closest equivalent, or as a return value to your function.
# Scoring
Your score will be the calculated value by your program, with the program itself as input.
**Edit: Should handle newlines now, sorry for before, folks**
[Here](http://pyth.herokuapp.com/?code=s%5ER2-VJCMjb.ztJ&input=0%26ii%3A0%28%3Fv%3A%40-%3A%2a%26%2B%2620.%0A%27%23%3E%3C%3E%2C+%27%3C%3Bn%26oooooo&debug=0) is a Pyth script to verify the score calculation.
  
[Answer]
# CJam, ~~1051~~ ~~827~~ ~~643~~ ~~569~~ ~~545~~ ~~407~~ ~~327~~ ~~279~~ ~~235~~ ~~233~~ 229
```
''"','#'C'J'a'm',' qYew::-Yf#:+e#'''''''''"
f{-ci'(*''2*\}'^,40>"*/:N"-"][ZZ[\^__`bcdgimpstsz{}~~~"
```
The above program generates the actual source code, which is 1,179,112 bytes long. 
### Testing
Using the [Java interpreter](https://sourceforge.net/p/cjam/wiki/Home/), the source code can be generated and tested like this:
```
$ alias cjam='java -jar cjam-0.6.5.jar'
$ cjam gen.cjam > diff.cjam
$ cksum diff.cjam 
896860245 1179112 diff.cjam
$ cjam diff.cjam < diff.cjam
#CJam, 229
```
### Alternate version
At the cost of 36 points – for a final score of **265** – we can make the source code 99.92% shorter:
```
'''()))))(''''(((('''())))))))))))))))))))))))))))('''()))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''()))))(''''((((((('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))('()))))))))))))))))))('())))))('())))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''(((('()))))))))))))))))))('())))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''((((''''''''''''''''''()+,-.0123456789;<=>?@ABCDEFGHIJKLMOPQRSTUVWXYZ[\]][ZZ[\^__`bcdgimpstsz{}~~~
```
You can try this version online in the [CJam interpreter](http://cjam.aditsu.net/#code='''()))))(''''(((('''())))))))))))))))))))))))))))('''()))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''()))))(''''((((((('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))('()))))))))))))))))))('())))))('())))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''(((('()))))))))))))))))))('())))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''((((''''''''''''''''''()%2B%2C-.0123456789%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMOPQRSTUVWXYZ%5B%5C%5D%5D%5BZZ%5B%5C%5E__%60bcdgimpstsz%7B%7D~~~&input='''()))))(''''(((('''())))))))))))))))))))))))))))('''()))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('''()))))(''''((((((('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))('()))))))))))))))))))('())))))('())))))))))))))))))))))))))))))))))))))))))))))))))('()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''(((('()))))))))))))))))))('())))('())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(''((((''''''''''''''''''()%2B%2C-.0123456789%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMOPQRSTUVWXYZ%5B%5C%5D%5D%5BZZ%5B%5C%5E__%60bcdgimpstsz%7B%7D~~~).
### Idea
We want to execute the code
```
'#'C'J'a'm',' qYew::-Yf#:+
```
keeping the score as low as possible. To achieve this, we're going to build that string character by character (with a few no-ops before and after) and evaluate the result.
Fortunately, `'` (push character literal), `(` (decrement) and `)` (increment) are consecutive ASCII characters, so pushing arbitrary characters is relatively inexpensive.
* ASCII characters after `'` can be pushed as `'()…)(`, where the number of `)` depends on the code point.
For example, `+` can be pushed as `'())))(`. The distance between `'` and `(`, and `(` and `)` is 1. The trailing `)(` cancel each other; their only function is to pave the way for the following `'` (corresponding to the next character) with consecutive characters.
Characters pushed in this fashion will raise the score by 4 points.
* ASCII characters before `'` can be pushed as `''(…(`, where the number of `(` depends on the code point.
For example, `#` can be pushed as `''((((`. The distance between `'` and `(` is 1.
Characters pushed in this fashion will raise the score by 2 points.
* `''(…(` actually works for *all* ASCII characters, since *Character* is 16 bits wide and wraps around. For example, `+` can be pushed as `''`, followed by 65,532 `(`s.
This technique is used in the 1.2 megabyte version of the code.
* The character `'` can be pushed as `''`, leaving the score unaffected.
### Code
```
e# Push these characters on the stack: ','#'C'J'a'm',' qYew::-Yf#:+e#'''''''''
''
'()))))(
''
''((((
''
'())))))))))))))))))))))))))))(
''
'()))))))))))))))))))))))))))))))))))(
''
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
''
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
''
'()))))(
''
''(((((((
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
'())))))))))))))))))))))))))))))))))))))))))))))))))(
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
'()))))))))))))))))))(
'()))))))))))))))))))(
'())))))(
'())))))))))))))))))))))))))))))))))))))))))))))))))(
'()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
''((((
'()))))))))))))))))))(
'())))(
'())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(
''((((
''
''
''
''
''
''
''
''
''()
+                         e# Concatenate the two topmost single quotes.
,                         e# Push the length of the resulting string (2).
-.0123456789              e# Push that number.
;                         e# Discard it from the stack.
<                         e# Compare a single quote with 2. Pushes 0.
=                         e# Compare a single quote with 0. Pushes 0.
>                         e# Compare a single quote with 0. Pushes 1.
?                         e# Ternary if. Discards a single quote and 1.
@                         e# Rotate the remaining three single quotes.
ABCDEFGHIJKLMOPQRSTUVWXYZ e# Push 25 items on the stack.
[\]                       e# Swap the last two and wrap them in an array.
e# So far, we've pushed the elements of "','#'C'J'a'm',' qYew::-Yf#:+e#'''"
e# followed by the elements of [10 11 12 13 14 15 16 17 18 19 20]
e# and ["" "" "" 3.141592653589793 "" "" " " 0 0 0 -1 1 [3 2]].
]    e# Wrap the entire stack in an array.
[    e# Begin an array. Does nothing.
ZZ   e# Push 3 twice.
[    e# Begin an array. Does nothing.
\^   e# Swap both 3s and push the bitwise XOR. Pushes 0.
__   e# Push two copies.
`    e# Inspect the last copy. Pushes the string "0".
b    e# Convert "0" from base 0 to integer. Pushes 48.
cd   e# Cast 48 to Character, then Double. Pushes 48.0.
gi   e# Apply the sign function, then cast to integer. Pushes 1.
mp   e# Check 1 for primality. Pushes 0.
s    e# Cast the result to string. Pushes the string "0".
e# We now have three elements on the stack: an array, 0, and "0"
t    e# Set the element at index 0 of the array to the string "0".
s    e# Cast the array to string.
e# This pushes the string consisting of the characters
e#     0,'#'C'J'a'm',' qYew::-Yf#:+
e# and
e#     e#'''10111213141516171819203.141592653589793 000-1132
e#
e# When evaluated this does the following:
e#   0,                Push an empty array. Does not affect output.
e#   '#'C'J'a'm','     Push the characters of "#CJam, ".
e#   q                 Read all input from STDIN.
e#   Yew               Push the overlapping slices of length 2.
e#   ::-               Reduce each pair of characters to their difference.
e#   Yf#               Square each difference.
e#   :+                Add the results.
e#   e#…               Comment. Does nothing.
z    e# Zip. This wraps the string on the stack in an array.
{}~  e# Execute an empty block.
~    e# Unwrap the array.
~    e# Evaluate the string.
```
[Answer]
# Haskell, ~~152827~~ ~~95742~~ ~~91196~~ ~~83921~~ ~~77447~~ 71742
```
a=(.);_ZYXWVUTSRQPONMLKJIHGFEDCBA=("#Haskell, "++)`a`show`a`sum`a`fmap(^2)`a`(tail>>=zipWith(-))`a`fmap fromEnum`a`(""++)
```
Usage (note: `"` has to be escaped):
```
_ZYXWVUTSRQPONMLKJIHGFEDCBA   "a=(.);_ZYXWVUTSRQPONMLKJIHGFEDCBA=(\"#Haskell, \"++)`a`show`a`sum`a`fmap(^2)`a`(tail>>=zipWith(-))`a`fmap fromEnum`a`(\"\"++)"
"#Haskell, 71742"
```
I prepend the empty string `""` to the input string to help the Haskell interpreter figuring out the types. Without it type inference fails, the code is too polymorphic. The rest is business as usual: map each character to ascii, make a list of neighbor differences, square, sum and prepend language name.
[Answer]
## ><>, 30227
```
0&ii:0(?v:@-:*&+&20.
'#><>, '<;n&oooooo
```
Gah, the title doubled my score; in the words of my own program, n&oooooo! I'll take some time later to make this better. I also know that this score may be off since I can't really enter newlines on the online interpreter and I'm not sure there's a way to populate an input stack on the official one.
By no means completely optimized, but takes ~~full~~ some advantage of the relative proximity (at least in terms of ASCII characters) of the commands in ><>. I couldn't easily submit the newline as input, so I used the Pyth score checker, but it matches for a bunch of random test cases I used so it should be fine with regards to that.
Here's one with a score of 30353 (which ought to be correct since it's one line):
```
0&l1=66+*77++0.$:@-:*&+&10.' ,><>#'oooooo&n;
```
[Answer]
# Java, ~~66465~~ ~~65506~~ 62434
Surprisingly short. Accepts a char array instead of a string.
```
ABCD->{int A98=0,GFEDCBA=1,A987;for(;GFEDCBA<ABCD.length;A98=A98+(A987=ABCD[GFEDCBA]-ABCD[GFEDCBA++-1])*A987-0);return"#Java, "+A98;}
```
I used a program to generate the best variable names.
[Answer]
# K5, 25478
```
"#K5, ",$+/1_{x*x}'-':
```
Pretty simple solution. This is a function that takes its input via a string.
[Answer]
# Windows PowerShell ISE Host, 62978 ~~63894~~ ~~67960~~ ~~77050~~
```
PARAM($4)($4.LENGTH-2)..0|foreach{$9=+$4[$_]-$4[$_+1];$0+=$9*$9};'#'+$HOST.NAME+', '+$0
```
Edit -- saved some points by getting rid of the `$A` variable and instead counting backwards through the string, and also by converting some keywords to CAPS
Edit2 -- saved some more points by using `$($HOST.NAME)` instead of `PowerShell`
Edit3 -- saved some more points by swapping variable names and changed how the output is generated. 
Uses variables named with numbers, as they're "closer" to `$` so our penalty is less.
It's interesting to *not* use regular golfing techniques. For example, `|%{$` is 22534, while `|foreach{$` is only 8718.
This is probably close to optimal without changing techniques.
[Answer]
# MATLAB, ~~19214~~ ~~39748~~ ~~39444~~ ~~38785~~ 37593
```
@(A9876543210)sprintf('#MATLAB, %d',diff(A9876543210)*diff(A9876543210'))
```
## Thanks to Luis Mendo for reducing the difference count further!
## Thanks to NumberOne for reducing the noise count by changing the input variable name!
## How this works
1. Declares an anonymous function that is stored in the default `ans` variable in MATLAB
2. The function takes in a string stored in `A9876543210` and prints out the sum of squared neighbouring differences of the string.
3. `diff` finds pairwise neighbouring differences in an array and produces an array of `length(A9876543210)-1`. By using `diff` on a string array, this gets cast to a `double` array where the ASCII codes of each character are generated and the differences of the consecutive pairs results in another array.
4. To find the sum of squared differences, you simply take the dot product of this difference array with itself transposed. Doing `diff(A9876543210)'` actually produced more noise than with `A9876543210.'` (thanks Luis Mendo!)
5. The result is printed to the screen.
[Answer]
# QBasic, 38140
YAY FOR SHOUTY SYNTAX
```
LINE INPUT A9876543210$:AAA=ASC(A9876543210$):WHILE A<LEN(A9876543210$):AA9876543210=AAA:A=1+A:AAA=ASC(MID$(A9876543210$,A)):A98765432100=A98765432100+(AA9876543210-AAA)*(AA9876543210-AAA):WEND:?"QBasic,";A98765432100
```
(Tested with [QB64](http://qb64.net).)
This is a full program that inputs the string and outputs the answer. The only limitation here is that the program can't take multiline input (`LINE INPUT` can handle anything as long as it's a single line).
**Deobfuscated:**
```
LINE INPUT line$
b=ASC(line$)
WHILE i<LEN(line$)
    a=b
    i=i+1
    b=ASC(MID$(line$,i))
    score=score+(a-b)*(a-b)
WEND
PRINT "#QBasic,"; score
```
Conveniently, passing a multi-character string to `ASC` gives the ASCII value of the first character. Also conveniently, numeric variables are auto-initialized to zero.
[Answer]
# Python 2, 91026
```
lambda A:"#Python 2, "+`sum((ord(A9876543210)-ord(A98765432100))**2for A9876543210,A98765432100 in zip(A,A[1:]))`
```
Defines an anonymous function that takes a string and returns the score. [Try it online](http://ideone.com/H2loUQ).
Most of this is a pretty straightforward functional implementation: zip `A` with `A[1:]` to get a list of letter pairs, then subtract their `ord`s, square, and sum with a generator expression.
Observe that the two variables inside the generator expression are only ever followed by the following characters: `)`, `,`, and space. All three of these have very low ASCII values, so it behooves us to end each variable with as low-ASCII-valued a character as possible. The lowest character that can end a variable in Python is `0`. Furthermore, every opportunity we have to split a single large jump into two smaller jumps will lower the score: `A0` costs 289, but `A90` is only 145 and `A9876543210` is a paltry 73.
(This approach *didn't* help the lambda variable `A`, probably because it's followed by `[` in one occurrence.)
[Answer]
# JSFuck, 144420642
Build it from:
```
t=arguments[0];n=0;for(u=1;u<t.length;++u)n+=(f=t.charCodeAt(u)-t.charCodeAt(u-1))*f;return'#JSFuck, '+n
```
Paste this into [JSFuck.com](http://www.jsfuck.com/)'s small input box to compile it to JSFuck. The result is a 112701 characters long script, so I can't put it here. The last two characters of this script are parentheses, put the input between them.
```
...)[+!+[]])('abd')
```
It takes the program almost 20 seconds on my computer to evaluate itself.
---
### Explanation
I got more time to work on this, so I sat down and tried to optimize the variable names. Here are the variable names worth using, in order of their score.
```
u     ([][[]]+[])[+[]]                    17237
n     ([][[]]+[])[+!+[]]                  17437
f     (![]+[])[+[]]                       18041
t     (!![]+[])[+[]]                      18041
a     (![]+[])[+!+[]]                     18241
r     (!![]+[])[+!+[]]                    18241
d     ([][[]]+[])[!+[]+!+[]]              23405
N     (+[![]]+[])[+[]]                    23669
e     (!![]+[])[!+[]+!+[]+!+[]]           29217
i     ([![]]+[][[]])[+!+[]+[+[]]]         33581
l     (![]+[])[!+[]+!+[]]                 24209
s     (![]+[])[!+[]+!+[]+!+[]]            29217
uu    ([][[]]+[])[+[]]+([][[]]+[])[+[]]   36983
```
Here is the JavaScript I've translated to JSFuck:
```
score = 0;
for (u = 1; u < input.length; ++u)
  score += (difference = input.charCodeAt(u) - input.charCodeAt(u-1)) * difference;
return '#JSFuck, ' + score;
```
I gave a closer look at JSFuck.com's translator and figured out how its evaluation function works. With "Eval source" checked, the code will become a self-executing JSFuck function. To get the input, however, we need to access arguments[0] from within the function. This brings our final JS code to...
```
t=arguments[0];n=0;for(u=1;u<t.length;++u)n+=(f=t.charCodeAt(u)-t.charCodeAt(u-1))*f;return'#JSFuck, '+n
```
(If you're wondering why my previous version had a lower score than this, it's because it was a JSFuck program that returned a string that needed to be evaluated as JS. This is also why I didn't leave it in the post)
[Answer]
# CJam, ~~23663~~ ~~19389~~ 11547
```
"#CJam,"32A;clYew[]ULC;;;;::- 0$.*:+
```
[Try it online](http://cjam.aditsu.net/#code=%22%23CJam%2C%2232A%3BclYew%5B%5DULC%3B%3B%3B%3B%3A%3A-%200%24.*%3A%2B&input=%22%23CJam%2C%2232A%3BclYew%5B%5DULC%3B%3B%3B%3B%3A%3A-%200%24.*%3A%2B)
It's starting to feel like this can be pushed almost endlessly by strategically adding more characters. But I think that I'm starting to reach a point of diminishing returns here, so I'll stop for now. For example, where I have `ULC;;;`, I could use the whole alphabet backwards followed by 26 `;`, but the gains get smaller and smaller.
By far the biggest gap I have left is between the `m` and the `,` in the initial string. I haven't found anything reasonable to get rid of it. I'm sure there are ways. But if I push it to the limit, it might start looking like Dennis' solution...
[Answer]
# JAVASCRIPT, 33911
```
$0123456789ABCDEFGHIJKLMNOPQRS=>/**/('#')+('JAVASCRIPT,')+(" ")+(($)/**/=0,($0123456789ABCDEFGHIJKLMNOPQRS[`split`]``[`map`]/**/(($$,$$$)/**/=>/**/($)/**/=Math[`pow`]/**/($0123456789ABCDEFGHIJKLMNOPQRS[T=`charCodeAt`]/**/($$$)+-($0123456789ABCDEFGHIJKLMNOPQRS[T]/**/(($$$)/**/>=6-5?/**/($$$)+-1:0.)),2)+($))),($))
```
This is by far one of the silliest optimizations I have ever done in a code golf...
Props to Neil for the "comment spam" suggestion =P
[Answer]
# JAVASCRIPT, 31520
This solution was ~~significantly more ridiculous~~ very different from my other one, and so I felt it deserved it's own answer.
```
A=>/**/(($)/**/=/**/(''),('000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010/-,+*)(')/**/[`split`]``[`reduce`]/**/(($$,$$$,$$$$)/**/=>/**/($$$)/**/>7.-07?/**/(($)+=/**/((/**/String[`fromCharCode`]/**/)(($$$$)+-($$))),($$$$))/**/:/**/($$)),/**/eval/**/($))
```
That's 7306 characters, most of which is the actual program encoded into that 0/1 string, and the rest simply to decode it. It works by getting the index of each '1' minus the index of the previous '1' to get the necessary character value. It then eval's the resulting string into the actual function, which is essentially a standard-golf program to solve the problem (which is only about 105 characters itself).
[Answer]
# R, ~~68911~~ ~~57183~~ ~~53816~~ 52224
Takes a string from STDIN and converts it to an integer via raw. Diffs, squares and sums the resulting vector. The result is returned as a string. Thanks to @nimi for the variable name tip.
```
'&&'=sum;'&&&'=diff;'&&&&'=as.integer;'&&&&&'=charToRaw;'&&&&&&'=readline;'&&&&&&&'=paste;'&&&&&&&'('#R,','&&'((A='&&&'('&&&&'('&&&&&'('&&&&&&'()))))*A))
```
[Answer]
# Mathematica, 33552
```
A=ToExpression;A@ExportString[A@Characters@(**)"001000100010001101001101011000010111010001101000011001010110110101100001011101000110100101100011011000010010110000100000001000100011110000111110010101000110111101010011011101000111001001101001011011100110011101011011001000110010111000100011001001100100000001000100011010010110011001100110011001010111001001100101011011100110001101100101011100110100000001010100011011110100001101101000011000010111001001100001011000110111010001100101011100100100001101101111011001000110010101000000001000110101110100100110"(**),(**)"Bit"(**)]
```
This code evaluates to an unnamed function, which calculates the "noise" of an input string. It makes use of the fact that the ASCII representation of binary data is essentially "noiseless". The binary data you see is the string
```
"#Mathematica, "<>ToString[#.#&@Differences@ToCharacterCode@#]&
```
which would have been a valid answer on its own, scoring 37848.
Everything else
```
A=ToExpression;A@ExportString[A@Characters@(**)"001..110"(**),(**)"Bit"(**)]
```
just decodes the binary string and interprets it as Mathematica code. Note that Mathematica's empty comment `(**)` is very "low-noise" and actually removes noise from the `"`s.
[Answer]
# Java8 : ~~117170~~ ~~100508~~ ~~99062~~ 98890
With the help of lambada expression and inline assignment of variable can shorten this code a bit.
```
A->{int B=0,D=0,E=0;char[] C=A.toCharArray();for(;D<C.length-1;)B+=(E=C[D]-C[++D])*E;return"#java, "+B;}
```
[Answer]
# Java, ~~129300~~ ~~128400~~ ~~110930~~ ~~106581~~ 105101
```
B->{int A=0,C=A;char[]Z=B.toCharArray();for(;++C<Z.length;A=A+(Z[C]-Z[C-1])*(Z[C]-Z[C-1]));return\"#Java, \"+A;}
```
This challenge actually got me thinking deeper about characters to use and optimization more so than finding the shortest solution. I'll keep working to bring the number down.
This is a lambda function, with `B` being the string representing the function. Don't forget to escape the quotes (`"`) when passing this as a string.
[Answer]
# Pyth, 16391
```
++C38828542027820dsm^-ChdCed2,Vztz
```
The only trick of note used here is base-256 encoding `#Pyth,`, which costs far less than the string itself.
```
++C38828542027820dsm^-ChdCed2,Vztz    Implicit: d=' ', z=input()
                             ,Vztz    Pair each char in the input with its neighbour
                   m                  Map d in the above to:
                      Chd               ASCII code of 1st char
                         Ced            ASCII code of 2nd char
                     -                  Difference between the two
                    ^       2           Squared
                  s                   Take the sum
  C38828542027820                     '#Pyth,'
++               d                    '#Pyth,' + ' ' + result, implicit print
```
[Answer]
# M, 47033 ~~52798~~
```
A9876543210(A9876543210) F AA9876543210=2:1:$L(A9876543210) S AAA9876543210=$A($E(A9876543210,AA9876543210-1))-$A($E(A9876543210,AA9876543210))**2+AAA9876543210
    Q "#M, "_AAA9876543210
```
To use this, we have to escape quotes and "escape" whitespace characters (which are significant in MUMPS!) like so:
```
>$$A9876543210^MYROUTINE("A9876543210(A9876543210)"_$C(9)_"F AA9876543210=2:1:$L(A9876543210) S AAA9876543210=$A($E(A9876543210,AA9876543210-1))-$A($E(A9876543210,AA9876543210))**2+AAA9876543210"_$C(10,9)_"Q ""#M, ""_AAA9876543210")
#M, 47033
```
Note that "M" is an alternative name for "MUMPS" - there is disagreement among practitioners about which one is correct. Naturally, I have chosen the shorter option here.
[Answer]
# Ruby, 118402
```
puts "#Ruby, #{a=0;aa=nil;File.read(ARGV[0]).each_byte{|aaa| aa||=aaa;a+=(aaa-aa)**2;aa=aaa};a}"
```
It reads in a file through command line, such as `ruby diff.rb /path/to/file`. There's room to improve, and that's something I'm working on right now.
[Answer]
# C++ 166345
```
void n(){int b=0,c,d;string a;cin >>a;for(c=1;c<a.length();++c){d=(a[c]-a[c-1]);b+=d*d;}cout<<"#C++, "<<b;}
```
[Answer]
# Perl, 93556
```
chomp($A=<>);$AAA=$AAAA=0;foreach$AAAAA(split'',$A){$AA=ord($AAAAA);$AAA+=($AAAA-$AA)**2 if($AAAA!=0);$AAAA=$AA}print'#Perl, '.$AAA
```
I'll try to cut this down some more.
It turns out that curly braces (`{` and `}`, ASCII 123 and 125) and the underscore (`_`, ASCII 95) are very expensive since all the other characters are around the range 30-70, which is why I formatted the `if` the way I did, and why I'm using `$AAAAA` instead of Perl's beloved `$_`.
Sadly, all the variables with symbols in them are read-only, so I can't take advantage of combinations like `$#` and `$$`.
[Answer]
# F#, ~~136718~~ 130303
```
let(A)=Seq.map;
(stdout.Write(Seq.sum(A(fun(AA)->AA*AA)(A((<||)(-))(((Seq.pairwise(A(int)(stdin.ReadToEnd())))))))))
```
Where there is a `\n` after the `;`.
[Answer]
# POSIX Shell, 172026
```
{ while IFS= read -N 1 A; do A1=$(printf %d \'"$A");test "$A1" -eq 0 && break;case $A11 in "")A111=0;;*)A111=$((A1-A11));;esac;A11="$A1";A1111=$((A111**2+A1111));done;echo "# POSIX Shell, $A1111";}
```
too bad I can't get the same result as the Pyth checker (178386)...
[Answer]
# Lua, ~~171078~~ 117896
Golfed:
```
A=string AA=A.sub AAA=io.read()AAAA=#AAA AAA=AAA..AA(AAA,AAAA,AAAA)AAAAA=0 AAAAAA=A.byte for AAAAAAA=1,AAAA do AAAAAAAA=AAAAAA(AA(AAA,AAAAAAA,AAAAAAA))-AAAAAA(AA(AAA,AAAAAAA+1,AAAAAAA+1))AAAAA=AAAAA+AAAAAAAA*AAAAAAAA end print(AAAAA)
```
Ungolfed:
```
A=string 
AA=A.sub 
AAA=io.read()
AAAA=#AAA 
AAA=AAA..AA(AAA,AAAA,AAAA)
AAAAA=0 
AAAAAA=A.byte 
for AAAAAAA=1,AAAA do 
    AAAAAAAA=AAAAAA(AA(AAA,AAAAAAA,AAAAAAA))-AAAAAA(AA(AAA,AAAAAAA+1,AAAAAAA+1))
    AAAAA=AAAAA+AAAAAAAA*AAAAAAAA 
end 
print(AAAAA)
```
[Answer]
# C++, 49031
a C++ macro that takes a c-string and writes the result to the standard output
```
<::>(auto(A))<%long(AAA)=0,AA=A<:0:>;while(*++A)<%AAA+=(*A-AA)*(*A-AA);AA=A<:0:>;%>cout<<"#C++, "<<AAA;%>
```
[Try it online!](https://tio.run/##vZBRasMwDIafm1OIlIIdN7R7GiROwOwG2wk0x0kMjh1shT6MXr2ZNwa9wZ4E0iek/9PrWmuHftqP1mu3DQakDYmiwaUvtmT9BB4Xk1bUBhINbVHo4BOBnjFWsMYwfVD8wTp4L5lsmp7hRoEpzuXJBT8xpRTvrmelOiWba9O3t9k6wyohVEbyVHSsUnWmqr/aPtlTr8NGUpbHNyHOUEqZF3K35WV@xXqCBa1n/Gv/t9P7gT1j8/ZwuWh0DhwunwPCzdKcRf0qiWaNJhlPSDZ4CCNYSsaNxb3YH3p0OKW9zlI7LcTL6zc "C++ (clang) – Try It Online")
]