[Question]
  [
> 
> *Note to challenge writers as per [meta consensus](http://meta.codegolf.stackexchange.com/q/11082/20260):
> This question was well-received when it was posted, but challenges
> like this, asking answerers to [Do X without using
> Y](http://meta.codegolf.stackexchange.com/questions/8047/things-to-avoid-when-writing-challenges/8079?s=3%7C0.2404#8079)
> are likely to be poorly received. Try using [the
> sandbox](http://meta.codegolf.stackexchange.com/questions/2140/sandbox-for-proposed-challenges)
> to get feedback on if you want to post a similar challenge.*
> 
> 
> 
---
> 
> It's ~~[2017](https://codegolf.stackexchange.com/q/105241/7110)~~ ~~2018~~ ~~2019~~ ~~2020~~ ~~2021~~ ~~2022~~ ~~2023~~ 2024 already, folks, go home.
> 
> 
> 
> 
> Woo, 10 years of this challenge!
> 
> 
> 
So, now that it's 2014, it's time for a code question involving the number 2014.
Your task is to make a program that prints the number `2014`, without using any of the characters `0123456789` in your code, and independently of any external variables such as the date or time or a random seed.
The shortest code (counting in bytes) to do so in any language in which numbers are valid tokens wins.
---
Leaderboard:
```
var QUESTION_ID=17005,OVERRIDE_USER=7110;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
```
```
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
```
```
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
```
  
[Answer]
# [Python 2](https://docs.python.org/2/), 51 bytes
```
print sum(ord(c) for c in 'Happy new year to you!')
```
[Try it online!](https://tio.run/##BcHBDYAgDAXQVb4n4OoUrkEQAgfbppaYTl/fE7fJdEaILjK8@8msd24FgxUNi5CuKuKg/sF7VRjDeR@pRPw "Python 2 – Try It Online")
Updated for 2015 thanks to @Frg:
```
print sum(ord(c) for c in 'A Happy New Year to You!')
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v6AoM69Eobg0VyO/KEUjWVMhLb9IIVkhM09B3VHBI7GgoFLBL7VcITI1sUihJF8hMr9UUV3z/38A "Python 2 – Try It Online")
Mouse over to see 2016 version:
> 
>  `print sum(ord(c) for c in 'Happy New Year to you!!!')`
> 
> 
> 
[Try it online!](https://tio.run/##K6gsycjPM/r/v6AoM69Eobg0VyO/KEUjWVMhLb9IIVkhM09B3SOxoKBSwS@1XCEyNbFIoSRfoTK/VFFRUV3z/38A "Python 2 – Try It Online")
[Answer]
# Go, 2 bytes (UTF-16)
One unicode character (2 bytes in UTF-16, 3 bytes in UTF-8 format), output 2014 as part of an error
```
—
```
<http://ideone.com/dRgKfk>
```
can't load package: package : 
prog.go:1:1: illegal character U+2014 '—'
```
[Answer]
# Ruby, 15
```
p Time.new.year
```
Temporary ;)
---
Note that the section of the question
> 
> independently of any external variables such as the date or time or a random seed
> 
> 
> 
was not edited in until long after I posted my answer...
---
Jan Dvorak offers a great alternative in [the comments](https://codegolf.stackexchange.com/questions/17005/produce-the-number-2014-without-any-numbers-in-your-source-code?answertab=votes#comment32251_17010):
```
Happy = Time
Happy.new.year
```
But it's so unenthusiastic. I prefer:
```
Happy = Time
class Time; alias year! year; end
Happy.new.year!
```
Or even:
```
class Have; def self.a; A.new; end; end
class A; def happy; Time; end; end
class Time; alias year! year; end
Have.a.happy.new.year!
```
And here's correct English punctuation:
```
def noop x = nil; end
alias a noop
alias happy noop
alias new noop
alias year! noop
def Have x
    p Time.new.year
end
Have a happy new year!
```
Okay okay, I couldn't help it:
```
def noop x = nil; end
eval %w[we wish you a merry christmas! christmas and a happy new].map{|x|"alias #{x} noop"}*"\n"
def year!; p Time.new.year; end
we wish you a merry christmas! we wish you a merry christmas!
we wish you a merry christmas and a happy new year!
```
[Answer]
# [Befunge-98 (FBBI)](https://github.com/catseye/FBBI), ~~17~~ ~~11~~ ~~9~~ 8 bytes
```
'-:*b-.@
```
[Try it online!](https://tio.run/##S0pNK81LT9W1tPj/X13XSitJV8/h/38A "Befunge-98 (FBBI) – Try It Online")
Similar to the old version, but I remembered about `'`
```
'-:* pushes 45, duplicates it, then squares it, producing 2025
b-   subtracts 11 from it, resulting in 2014
.@   prints the result, then ends the program
```
Interestingly, \$45^2-11\$ is the only pairing of numbers a,b where
$$(a,b)∈[32,126]\times[10,15]\land a^2-b=2014$$
The significance of those sets is that \$[32,126]\$ is the set of printable ascii characters and \$[10,15]\$ is the set of easily accessible Befunge numbers. I found that pair with [this python program](http://ideone.com/epPzBv):
```
for a in range(32,127):
    for c in range(10,16):
        if (a**2-c)==2014:
            print("%s,%s"%(a,c))
```
---
Or, if your interpreter supports unicode, then this works:
# Befunge 98 - 5 bytes (4 chars)
```
'ߞ.@
```
It at least works on <http://www.quirkster.com/iano/js/befunge.html> with the following code (Befunge 93 - 6 bytes / 5 chars):
```
"ߞ".@
```
---
# [Befunge-98 (FBBI)](https://github.com/catseye/FBBI), 9 bytes
Old version:
```
cdd**e-.@
```
[Try it online!](https://tio.run/##S0pNK81LT9W1tPj/PzklRUsrVVfP4f9/AA "Befunge-98 (FBBI) – Try It Online")
computes the number, then prints it:
```
cdd pushes numbers to the stack so that it is this: 12,13,13
**  multiplies top three values of stack, which is now: 2028
e   pushes 14
-   subtracts the top two values of the stack, resulting in: 2014
.   prints the numerical value
@   end of program
```
---
[Answer]
# [Python 2](https://docs.python.org/2/), 26 bytes
```
print int('bbc',ord("\r"))
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v6AoM69EAYg11JOSktV18otSNJRiipQ0Nf//BwA "Python 2 – Try It Online")
[Answer]
# [Mouse-2002](http://mouse.davidgsimpson.com/mouse2002/intro2002.html#Variables), 4 bytes.
That's 4 bytes of pure, sweet ***ASCII.***
In [Mouse](https://en.wikipedia.org/wiki/Mouse_(programming_language)), the letters of the alphabet are initialised to the values 0-25. `!` is the operator for printing integers, thus this prints `20` then `14` (no intermittent newline).
```
U!O!
```
There's no online interpreter available, but [here](http://mouse.davidgsimpson.com/mouse2002/index.html) you will find an interpreter written in C (needing some tweaks before one can coerce `gcc` to compile it) and the same compiled interpreter for `Win32` but which works perfectly on Linux with `wine`.
[Here](https://github.com/catb0t/mouse2002) you can find the fixed version of the interpreter, which compiles.
[Answer]
## MATLAB, Scala (4 characters, 5 bytes)
You can take advantage of MATLAB's (and Scala's) relatively weak type system, here.
The trick is to apply the unary `+` operation on a string composed only of the character `ߞ` (of UTF-8 code point U+07DE, or 2014 in decimal). This operation implicitly converts the string to a double (in MATLAB) and to an `Int` (in Scala):
```
+'ߞ'
```
Byte-count details:
* `+` is ASCII and counts for 1 byte
* `'` is ASCII and counts for 1 byte (but appears twice in the expression)
* `ߞ` is a 2-byte UTF-8 character
Total: 5 bytes
## TeX (~~32~~ 26 characters, as many bytes)
```
\def~{\the\catcode`}~}~\\~\%\bye
```
An even shorter alternative (proposed by [Joseph Wright](https://tex.stackexchange.com/users/73/joseph-wright)) is
```
\number`^^T\number`^^N\bye
```
## XeTeX/LuaTeX (13 characters, 14 bytes)
If XeTeX or LuaTeX are allowed, UTF-8 input can be used directly (as proposed by [Joseph Wright](https://tex.stackexchange.com/users/73/joseph-wright)):
```
\number`ߞ\bye
```
[Answer]
# [dc](https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html), 6 bytes
```
DiBBCp
```
[Try it online!](https://tio.run/##S0n@/98l08nJueD/fwA "dc – Try It Online")
* `D` pushes 13 on the stack, even tho the input radix is 10 initially
* `i` changes input radix (to 13 from 10)
* `BBC` is 2014 base 13.
* `p` prints.
Console output:
```
$ dc <<< "DiBBCp"
2014
```
[Answer]
# [Scala](http://www.scala-lang.org/), ~~32~~ 29 bytes
```
+"Happy new year to you!".sum
```
[Try it online!](https://tio.run/##LYs7DoMwEAVrfIoHFQiJA6SjS590KMUCBjkC21obRRbi7OYTpp0Z19FE0bRf2Xm8lRErBA56OWAmpXPi0T1QM1NoXp6VHj8F/s2dnthD@EnnscyeZG2Alj8ESQxvEMySZpVb5ggkxfVsEBviDg "Scala – Try It Online")
Well ok if you really want it golfed with any chars, you can use:
# [Scala](http://www.scala-lang.org/), 11 bytes
```
'@'*' '-'"'
```
[Try it online!](https://tio.run/##K05OzEn8n5@UlZpcohCSmc9VrcClAAQpqWkKuYmZeRqJRenFVgqORUWJldHBJUWZeemxmgoQNVClIFAAlCjJydP4r@6grqWuoK6rrqT@X0GBUxOsolaBq1bhPwA "Scala – Try It Online")
# [Scala](http://www.scala-lang.org/), 22 bytes
```
"{yz}"map(_-'I'toChar)
```
[Try it online!](https://tio.run/##K05OzEn8n5@UlZpcohCSmc9VrcClAAQpqWkKuYmZeRqJRenFVgqORUWJldHBJUWZeemxmgoQNVClIFAAlCjJydP4r1RdWVWrlJtYoBGvq@6pXpLvnJFYpPlfQYFTE6y4VoGrVuE/AA "Scala – Try It Online")
[Answer]
# [R](https://www.r-project.org/), ~~72~~ 45 bytes
This is far from the shortest answer posted, but no one has yet posted an answer that
* doesn't use character codes as a substitute for numbers, and
* doesn't call the system date.
Using pure math (okay, and an automatic boolean conversion) in R, from the R console:
```
x<-(T+T);x+floor(exp(pi)^x)*x*x-(x*x)^(x*x)/x
```
[Try it online!](https://tio.run/##K/r/v8JGVyNEO0TTukI7LSc/v0gjtaJAoyBTM65CU6tCq0JXA0hoxoFJ/Yr//wE "R – Try It Online")
Prints out the number 2014. `T` is a pre-defined synonym for true in R. The `floor` and `exp` functions are directly available in the base package, as is the `pi` constant. R doesn't have an increment operator, but repeating the `(x*x)` turned out to be fewer characters that doing increment and decrement twice each.
---
## Original version in Javascript (72 characters)
For the simple reason that I could test out in the console, and it doesn't mind a complete lack of whitespace:
```
m=Math;p=m.pow;t=true;++t+m.floor(p(m.exp(m.PI),t))*t*t++-p(++t,t--)/--t
```
run in your console and it will print back the number 2014.
---
Props to [xkcd](http://xkcd.com/217/) (and [also](http://xkcd.com/1047/)) for getting me to think about exp(pi):
![e to the pi Minus pi](https://imgs.xkcd.com/comics/e_to_the_pi_minus_pi.png "Also, I hear the 4th root of (9^2 + 19^2/22) is pi.")
P.S. If you can make the same algorithm shorter in a different language, post a comment with it.
[Answer]
# [C (clang)](http://clang.llvm.org/), 33 bytes
```
main(){printf("%d",'A'*' '-'B');}
```
[Try it online!](https://tio.run/##S9ZNzknMS///PzcxM09Ds7qgKDOvJE1DSTVFSUfdUV1LXUFdV91JXdO69v9/AA "C (clang) – Try It Online")
[Answer]
# PHP, 9 bytes
This requires PHP 7.1 or lower. It will work in PHP 7.2, but it will result in a warning. No guarantees for any future version.
`xxd` needed because of binary data (so copying and pasting it would be easier). May return `E_NOTICE`, but it doesn't really matter, does it?
```
~ $ xxd -r > 2014.php
0000000: 3c3f 3d7e cdcf cecb 3b                   <?=~....;
~ $ php 2014.php
2014
```
Alternatively, save this using ISO-8859-1 encoding.
```
<?=~ÍÏÎË;
```
[Answer]
### Python3.4.0b2 (0 bytes)
```
% python3.4  
Python 3.4.0b2 (v3.4.0b2:ba32913eb13e, Jan  5 2014, 11:02:52) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
```
[Answer]
## Mathematica, 14 characters (or 15 if you count the bitmap as a character)
TextRecognize@![enter image description here](https://i.stack.imgur.com/MncwS.png)
[Answer]
# [JavaScript (Node.js)](https://nodejs.org), 23 bytes
Uses Base 64 Conversion
```
alert(atob("MjAxNA=="))
```
[Try it online!](https://tio.run/##RY7BCsIwEETv@YrQSxLQnsRbD/WuF79g225KSpuVzVYE8dtjqKhzfcybmeAOqedwk32kAbNfYy@BooYZWeyCKcGITj@VLukpJpqxnmn8IfVS6t8S6uwAAt8Go6wc9Wn1Hrn2TMuGd9p0kPB4MK4WugqHOFpTnoRgijF/1jdbdZ7ax6Vtmsq5nN8 "JavaScript (Node.js) – Try It Online")
*Or*
```
alert("MMXIV") // ;)
```
[Answer]
# Perl - 10 characters
This solution is [courtesy of BrowserUK on PerlMonks](http://www.perlmonks.org/?node_id=1068855), though I've shaved off some unnecessary punctuation and whitespace from the solution he posted. It's a bitwise "not" on a four character binary string.
```
say~"ÍÏÎË"
```
The characters displayed above represent the binary octets cd:cf:ce:cb, and are how they appear in ISO-8859-1 and ISO-8859-15.
Here's the entire script in hex, plus an example running it:
```
$ hexcat ~/tmp/ten-stroke.pl
73:61:79:7e:22:cd:cf:ce:cb:22
$ perl -M5.010 ~/tmp/ten-stroke.pl
2014
```
**Perl (without high bits) - 14 characters**
```
say'````'^RPQT
```
This uses a bitwise "or" on the two four-character strings `"RPQT"` and `"````"` (that is, four backticks).
```
$ ~/tmp/fourteen-stroke.pl
73:61:79:27:60:60:60:60:27:5e:52:50:51:54
$ perl -M5.010 ~/tmp/fourteen-stroke.pl
2014
```
(I initially had the two strings the other way around, which required whitespace between `print` and `RPQT` to separate the tokens. @DomHastings pointed out that by switching them around I could save a character.)
**Perl (cheating) - 8 characters**
This is probably not within the spirit of the competition, but [hdb on PerlMonks has pointed out](http://www.perlmonks.org/?node_id=1069622) that Perl provides a variable called `$0` that contains the name of the current program being executed. If we're allowed to name the file containing the script "2014", then `$0` will be equal to 2014. `$0` contains a digit, so we can't use it directly, but `${...}` containing an expression that evaluates to 0 will be OK; for example:
```
say${$|}
```
For consistency, let's do the hexcat-then-perl thing with that:
```
$ hexcat 2014
73:61:79:24:7b:24:7c:7d
$ perl -M5.010 2014
2014
```
I think this is cheating, but it's an interesting solution nonetheless, so worth mentioning.
[Answer]
# [Ruby](https://www.ruby-lang.org/), 20 bytes
```
p 'bbc'.to_i ?\r.ord
```
[Try it online!](https://tio.run/##KypNqvz/v0BBPSkpWV2vJD8@U8E@pkgvvyjl/38A "Ruby – Try It Online")
Explanation: `bbc` is `2014` in base 13. Shorter than Python. Not as short as Forth.
[Answer]
# [PowerShell](https://github.com/TryItOnline/TioSetup/wiki/Powershell), 9 bytes
```
+"ߞ"[""]
```
[Try it online!](https://tio.run/##K8gvTy0qzkjNyfn/X1vp/jylaCWl2P//AQ "PowerShell – Try It Online")
`ߞ` ([U+07DE NKO LETTER KA](http://codepoints.net/U+07DE)) is counted as two bytes according to the [code-golf tag info](https://codegolf.stackexchange.com/tags/code-golf/info).
`[""]` returns the first character from the string (`""` is converted to `0`). The unary plus opeartor (`+`) converts the character to an integer.
[Answer]
## Javascript, 18 characters
```
alert(btoa('ÛMx'))
```
**Update:** in ES6, using a template literal can save two characters:
```
alert(btoa`ÛMx`)
```
The code above is fairly easy to understand by keeping in mind that `btoa` converts a string into another string according to a set of well-defined rules ([RFC 4648](https://www.rfc-editor.org/rfc/rfc4648)). To see how the conversion works, we're going to write the input string "ÛMx" as a sequence of binary digits, where each character is rendered as its 8-bit character code.
```
Input character          |        Û |        M |        x
Character code (decimal) |      219 |       77 |      120
Character code (binary)  | 11011011 | 01001101 | 01111000
```
After reorganizing the binary digits in the last row in groups of 6, we get the binary representation of 4 new numbers, corresponding to the Base64 indices of the 4 characters in the string "2014".
```
Base64 index (binary)  | 110110 | 110100 | 110101 | 111000
Base64 index (decimal) |     54 |     52 |     53 |     56
Output character       |      2 |      0 |      1 |      4
```
As per HTML specification, the output characters can be retrieved from their Base64 indices according to this table: <http://dev.w3.org/html5/spec-LC/webappapis.html#base64-table>.
If you don't care about the details, you could let the browser do the calculations for you and find out that "ÛMx" is the result of evaluating `atob('2014')` in Javascript.
[Answer]
# [Scala](http://www.scala-lang.org/), 6 bytes
```
"?="##
```
[Try it online!](https://tio.run/##K05OzEn8n5@UlZpcohCSmc9VrcClAAQpqWkKuYmZeRqJRenFVgqORUWJldHBJUWZeemxmgoQNVClIFAAlCjJydP4r2Rvq6Ss/F9BgVMTLFmrwFWr8B8A "Scala – Try It Online")
(`##` is Scala's symbol meaning `hashCode`, and the Java string `"?="` hashes to 2014.)
# [Scala](http://www.scala-lang.org/), 5 bytes
```
+'ߞ'
```
[Try it online!](https://tio.run/##K05OzEn8n5@UlZpcohCSmc9VrcClAAQpqWkKuYmZeRqJRenFVgqORUWJldHBJUWZeemxmgoQNVClIFAAlCjJydP4r61@f576fwUFTk2wXK0CV63CfwA "Scala – Try It Online")
Math on our favorite unicode character produces an `Int`.
[Answer]
# [GolfScript](http://www.golfscript.com/golfscript/), 9 bytes
Yet another GolfScript entry. I believe this is shorter than any of the printable GolfScript entries so far:
```
"!="{*}*)
```
[Try it online!](https://tio.run/##S8/PSStOLsosKPn/X0nRVqlaq1ZL8/9/AA "GolfScript – Try It Online")
([Peter Taylor's 7-char entry](https://codegolf.stackexchange.com/a/17034) beats it, but includes non-printable control characters.)
I call this the "that's *so* last year!" entry, because what it actually does is generate the number **2013** in 8 chars, as 33 × 61, and then increments it by one. ;-)
[Answer]
# [C (gcc)](https://gcc.gnu.org/), 31 bytes
```
main(){printf("%o",' b'/'\b');}
```
[Try it online!](https://tio.run/##S9ZNT07@/z83MTNPQ7O6oCgzryRNQ0k1X0lHXSFJXV89Jkld07r2/38A "C (gcc) – Try It Online")
# [C (gcc)](https://gcc.gnu.org/), 32 bytes
```
main(){printf("%x%o",' ','\f');}
```
[Try it online!](https://tio.run/##S9ZNT07@/z83MTNPQ7O6oCgzryRNQ0m1QjVfSUddQV1HPSZNXdO69v9/AA "C (gcc) – Try It Online")
# [C (gcc)](https://gcc.gnu.org/), 30 bytes
```
main(){printf("%x",' j'^'~');}
```
[Try it online!](https://tio.run/##S9ZNT07@/z83MTNPQ7O6oCgzryRNQ0m1QklHXSFLPU69Tl3Tuvb/fwA "C (gcc) – Try It Online")
# [C (gcc)](https://gcc.gnu.org/), 30 bytes
```
main(){printf("%d",'\a\xde');}
```
[Try it online!](https://tio.run/##S9ZNT07@/z83MTNPQ7O6oCgzryRNQ0k1RUlHPSYxpiIlVV3Tuvb/fwA "C (gcc) – Try It Online")
[Answer]
# [GolfScript](http://www.golfscript.com/golfscript/), 14 bytes
```
'-+,/'{)))))}%
```
[Try it online!](https://tio.run/##S8/PSStOLsosKPn/X11XW0dfvVoTBGpV//8HAA "GolfScript – Try It Online")
How it works: ASCII goes like this:
```
...
+
,
-
.
/
0
1
2
3
4
...
```
So, this takes the ASCII codes of each character, subtracts five, and sticks it in a string.
`{...}%` yields an array of the characters of a string mapped, when given a string as an argument. So, it increments each character by 5 (`)` means increment).
[Answer]
# [Forth (gforth)](http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/), 14 bytes
```
'> '" * '^ - .
```
[Try it online!](https://tio.run/##S8svKsnQTU8DUf//q9spqCspaCmoxynoKuj9/w8A "Forth (gforth) – Try It Online")
[Answer]
## APL (6 bytes, 4 chars)
```
⊃⎕TS
```
Only works this year though.
Why it works:
```
      ⎕TS
2014 1 1 11 58 5 811
      ⊃⎕TS
2014
```
Without relying on the system date, it's **10 bytes** (7 characters):
```
⎕UCS'ߞ'
```
[Answer]
# [Python 2](https://docs.python.org/2/), 32 bytes
```
print ord(',')*ord('-')+ord('"')
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v6AoM69EIb8oRUNdR11TC8zQVdfUBjOU1DX//wcA "Python 2 – Try It Online")
Probably possible to reduce it using the 2014 th Unicode char `ߞ`, but I didn't try.
Quincunx notes that
```
a=ord('.');print a*a-ord('f')
```
[Try it online!](https://tio.run/##K6gsycjPM/r/P9E2vyhFQ11PXdO6oCgzr0QhUStRFyyUpq75/z8A "Python 2 – Try It Online")
is shorter by three chars.
[Answer]
# [Python 2](https://docs.python.org/2/), 32 bytes
Had some fun writing this:
```
my_lst = []
for i in range(33, 126):
    for j in range(i, 126):
        if 2014 - 126 < i * j < 2014 - 33:
            if j not in range(48, 58):
                my_lst.append("ord('" + unichr(i) +
                              "')*ord('" + unichr(j) +
                              "')+ord('" + unichr(2014 - i * j) + "')")
for val in my_lst:
    print val, '->', eval(val)
```
Prints all the possible ways I can write `2014` using **Bruno Le Floch**'s method:
```
ord('!')*ord(':')+ord('d') -> 2014
ord('!')*ord(';')+ord('C') -> 2014
ord('!')*ord('<')+ord('"') -> 2014
ord('"')*ord(':')+ord('*') -> 2014
ord(')')*ord('/')+ord('W') -> 2014
ord('*')*ord('-')+ord('|') -> 2014
ord('*')*ord('.')+ord('R') -> 2014
ord('*')*ord('/')+ord('(') -> 2014
ord('+')*ord(',')+ord('z') -> 2014
ord('+')*ord('-')+ord('O') -> 2014
ord('+')*ord('.')+ord('$') -> 2014
ord(',')*ord(',')+ord('N') -> 2014
ord(',')*ord('-')+ord('"') -> 2014
```
# [Python 2](https://docs.python.org/2/), 10 bytes
But this is obviously redundant, so if your interpreter is set to utf-8 by default, then all it takes is:
```
ord(u'ߞ')
```
[Try it online!](https://tio.run/##K6gsycjPM/qvrJCal5yfkpmXbqVQWpKma8FVUJSZV6IQ8z@/KEWjVP3@PHXN//8B "Python 2 – Try It Online")
# [Python 2](https://docs.python.org/2/), 83 bytes
Also, thanks to **AmeliaBR** (for the idea), I tried my best to implement a pure math version:
```
from math import*
a,b,c=int(e),round(e),ceil(pi);print int(a**(b*c-(c-b))-a*a**c-a)
```
[Try it online!](https://tio.run/##Fck9DoAgDEDh3VMw0oYursbDlIqhifyE4ODpEbaX99Wvx5L3Me5Wkknco9FUS@u4sfNOTs3dBnCtvPlaIUEfWxWO2iaZxYxoPQpZIQ9AjHMIMYzxAw "Python 2 – Try It Online")
[Answer]
# [R](https://www.r-project.org/), 20 bytes
@popojan (he is not allowed to post an answer here yet) has provided the solution within 20 characters.
```
sum(T+T:exp(T+pi))-T
```
[Try it online!](https://tio.run/##K/r/v7g0VyNEO8QqtaIASBdkamrqhvz/DwA "R – Try It Online")
Output:
```
[1] 2014
```
# [R](https://www.r-project.org/), 22 bytes
Anonymous user has suggested shorter solution.
```
strtoi("bbc",pi*pi+pi)
```
[Try it online!](https://tio.run/##K/r/v7ikqCQ/U0MpKSlZSacgU6sgU7sgU/P/fwA "R – Try It Online")
`2014` is `BBC` in base 13. `pi*pi+pi` (=13.0112) is treated by R in this context as the integer 13. Output:
```
2014
```
# [R](https://www.r-project.org/), 30 bytes
```
cat(a<-T+T,T-T,T/T,a*a,sep="")
```
[Try it online!](https://tio.run/##K/r/PzmxRCPRRjdEO0QnRBeI9UN0ErUSdYpTC2yVlDT//wcA "R – Try It Online")
Output:
```
2014
```
# [R](https://www.r-project.org/), 31 bytes
```
cat(T+T,T-T,T/T,T+T+T+T,sep="")
```
[Try it online!](https://tio.run/##K/r/PzmxRCNEO0QnRBeI9YFYGwx1ilMLbJWUNP//BwA "R – Try It Online")
Inspired from [the answer by AmeliaBR](https://codegolf.stackexchange.com/a/17078/13849). Output:
```
2014
```
[Answer]
# [Java (JDK)](http://jdk.java.net/), ~~77~~ 75 bytes
75 characters if `print` is added in a class with the main method:
```
class C{public static void main(String[]a){System.out.print('#'*'<'-'V');}}
```
[Try it online!](https://tio.run/##y0osS9TNSsn@/z85J7G4WMG5uqA0KSczWaG4JLEESJXlZ6Yo5CZm5mkElxRl5qVHxyZqVgdXFpek5urll5boFQAFSzTUldW11G3UddXD1DWta2v//wcA "Java (JDK) – Try It Online")
It means `35*60-86` which is equal to 2014
[Answer]
# [CJam](https://sourceforge.net/p/cjam), 2 bytes
```
KE
```
[Try it online!](https://tio.run/##S85KzP3/39v1/38A "CJam – Try It Online")
`K` and `E` are variables preset to 20 and 14.  
I created CJam in 2014 so it's ok if it doesn't qualify.
]