node.js

jsのローカル実装です。Linux系のOSなら簡単につかえるのでつかってみてください

node.jsってなんなの

pythonperlみたいにPC上でJavascriptを走らせるJavascriptの実行環境

$ node test.js

みたいに走る。

hello, world

console.log("Hello, World!");

これを、test.jsとかで保存して

$ node test.js

もしくは、直接インタプリタ

$ node
>console.log("Hello, World!");
"Hello, World!"

みたいになる気がします。

Javascriptでしょ?なにができるの?

Javascriptですが、何でもできます。OSのAPIを直接たたくAPIが整備されているので、ファイルをいじったり、HTTPサーバーを立てることもできます。
どれくらいというと、Perlとかができることは大体できるんじゃないでしょうか?
使える機能は以下URLを参照(ドキュメントは Node.js 4.9 のもの)
http://nodejs.jp/nodejs.org_ja/docs/v0.4/api/

なにがいいの?

1、唯一ブラウザ上で動くJavascriptがサーバー上でも使える。つまり今からはじめるなら、サーバーとクライアントばらばらに2つの言語を覚えなくてもJavascriptだけ覚えれば複雑なこともそれなりにできる。
2、なんだかんだでいろいろ変わった書き方(便利な書き方)のできるJavascriptでデスクトップアプリケーションが書ける
3、Javascriptの楽な勉強環境になる(ブラウザの面倒なデバッガで勉強しなくてもいい!
4、nonblockingioなのでry(そんなこと知ってる人はこの記事読んでないと思うので略

あと

描いてて思ったけど、GUIのライブラリってあるのかな、SDLとか。

たとえば

今日かいたWebサーバーのコード。ただしCoffeeスクリプトからの自動生成(ぉぃ
中身はdataRootにあるファイルをhash.jsonのハッシュにアクセスがあれば渡すというただのWebサーバー

(function() {
  var dataRoot, fs, hash, http, url;
  fs = require('fs');
  http = require('http');
  url = require('url');
  hash = JSON.parse(fs.readFileSync('hash.json', 'utf-8'));
  dataRoot = '/home/dasoran/cast/';
  http.createServer(function(req, res) {
    var parsedUrl, thisHash;
    parsedUrl = url.parse(req.url);
    thisHash = parsedUrl.pathname.slice(1, -1);
    if (hash[thisHash] === void 0) {
      console.log("debug:" + thisHash);
      res.writeHeader(404);
      res.end('err');
      return;
    }
    return fs.readFile(dataRoot + hash[thisHash][0], function(err, data) {
      if (err) {
        throw err;
      }
      res.writeHeader(200, hash[thisHash][1]);
      return res.end(data);
    });
  }).listen(8124);
}).call(this);