質問: 普段Node.jsを使っています。 Node.jsかawkかperlかpython3かで悩んでいます。 GNUが頑なに守っているAda95も気になります。 Javaは重いのでインストールする気にならないです。 [2017.7.12] 解決しているわけではないので、質問のほうに追記いたします。 銀行口座が複数あって、総資産もグラフ化したいと考えています。 とりあえず、各月の日毎グラフをpngファイルで量産してみることを考えるとExcelよりもGnuplotを使ったほうがよさそう。しかしWindowsでGnuplotを使うのは思ったほど簡単ではなく、OctaveをWindows10にインストールしようとすると、「完全対応でなくバグがあるかもしれませんがよろしいですか?」と言われてしまいました。 VirtualBoxでUbuntuを動かしてGnuplotないしOctaveを使うのがハッピーなのだろうか(Javaが重いという前提が吹っ飛んでしまいますが...)。うまくいけば100% Octaveで記述できて、そうでないにしてもperl5で簡単な処理を行ってGnuplotを子プロセスで複数起動すればいいような気がしますが... いや、Windows版Gnuplotでもスクリプトファイルを実行することはできるので(標準入力を使ってスクリプトを入力しようとしましたがうまくいきませんでした)、Cygwinのperl5でスクリプトファイルとデータファイルを大量に作成して、wgnuplotを複数回起動すればうまくいくと思います。明日実際に試してみます。 [2017.7.13] magichanさんのアドバイスに従ってPython(Pandas, matplotlib)を試してみることにしました。 Windows版Anacondaをインストール。ん?Windows版のAnacondaにはbashが入ってなくて、Anaconda Promptを使わなければならない?まじですか!ちょっとプロンプトの使い方を勉強してみます。 ちょっと個人的な都合なんですけどCドライブ(SSD)にプログラムを、Dドライブ(HDD)にデータを入れていたので、ホームがCドライブだと精神的に辛いものがありました。Anaconda Promptの作業フォルダ(プログラムのリンクのプロパティの中にあります)を変更すればホームがDドライブになりました。しかしコマンドプロンプトはcd ~の意味を介してくれない。結構きつい。vimとか使えないんじゃないか? だめだ。bashもvimも使えないのはちょっときつい。頑張ればCygwinからAnacondaのコマンドを呼び出せるだろうけれども、そこまでする必要があるのだろうか?ちょっと今回は断念して、perl5+wgnuplotのやり方をやってみます。 [2017.7.14] ちょっと理不尽なことをいうようかもしれないんですけど、Windowsで.msiか.exeを適当に実行して環境を構築できるようじゃないとヤなんですよね。で、Nodistとかはそれができてるわけですよ。Anacondaはちょっと自己完結的(*)なのがちょっと気に入らないんですよね。で、できれば10年後も同じ手順でインストールできて、あまり言語仕様とかが変わってないほうがいい。つまり枯れてるほうがうれしい。というのがあります。わがまま言ってすみません。 (*)自己撞着を自己完結に直しました。だれかがPythonはプログラマの美徳のうちの傲慢であると言っていましたね。
回答: 質問のような用途であれば Python をお勧めしておきます。 Pythonは言わずと知れた汎用スクリプト言語ですが、データ分析の分野では R言語に次いで主流な言語となしております。 その中心に位置するライブラリが `Pandas` というライブラリになります。 `Pandas`では主にデータフレームという2次元テーブルを扱うフレームワークで(2次元以外にも使えるけど)、データの整形から基礎集計までを行うことが出来ます。(ほぼExcelの代わり) あと金融データによくある、時系列データも問題なく扱えます。 また、要望にある * CSV(TSV)やJSONデータの読み込み・書き込み * Excelからのデータ読み込み・書き込み や、その他にも * SQLからのデータ読み込み・書き込み などもサポートしておりますので、データの入出力で困ることは、ほぼ無いかと思います。 次に `Pandas`と連携して動作するグラフライブラリが `matplotlib` となります。 (質問に書かれている`gnuplot`もPythonから使用することは当然可能です。が、個人的にはこちらを使う方がよいと思います。) `matplotlib`ができることはこちらを見て頂くのが早いと思いますが、大抵のグラフは描画できます。 またpingなどの画像ファイルを出力することも可能です。 その他にもデータ解析ライブラリ(`sklearn`)や統計モデル(`statsmodel`)等必要と思われるものはそろっておりますし、汎用言語の特性を生かしてクラウドサービスと連携したり、WEBアプリ化したり、WEB上からデータを集めたりと、最初から最後までをPythonだけで一括して行えるののが大きな利点となります。 あと最後に、最近では公式のPythonのインストーラーの他に、主要なライブラリを一括でインストールできるディストリビューションが幾つか存在します。 その中でも`Anaconda` はデータ分析関連のライブラリに特化しており、上記のライブラリ群が最初から入っているため簡単に環境構築できます。 もしPythonを導入しようとお思いでした、これを使用することをお勧めしておきます。