Q:

Error NodeJS e quando utilizar "=>"

Boa tarde,
Gente eu estou iniciando meus estudos com a tecnologia Node.js, porém quando tentei escrever o código de um web server exemplo:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
   res.statusCode = 200;
   res.setHeader('Content-Type', 'text/plain');
   res.end('Hello World\n');
});

server.listen(port, hostname, () => {
   console.log(`Server running at http://${hostname}:${port}/`);
});

O meu retorno gera o seguinte erro:
const server = http.createServer((req, res) => {
                                             ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

O meu Node.js foi baixado a partir do código fonte do GitHub(v0.10.29).
OBSERVAÇÃO: Já procurei na internet e não consegui nada explicando, quando utilizar =>. Eu não entendo e se alguém pode me ajudar com alguma referência ou explicação ficarei grato em saber como funciona o =>.

A:

Se usas arrow functions não podes usar a palavra reservada function, como tinhas inicialmente na pergunta. 
Mais ainda, a versão 0.10.xx do Node não suporta arrow functions, o suporte completo é só a partir da verão 6.4.0. Podes ver a tabela de compatibilidade aqui: http://node.green/#ES2015-functions-arrow-functions
Ou seja:
Errado:
const server = http.createServer(function (req, res) => {

Correto, usando arrow functions, usando versões recentes do Node.js:
const server = http.createServer((req, res) => {

Correto, usando function:
const server = http.createServer(function (req, res){

