TeXでpngのincludegraphics

tex wikiに書いてある通り

をプリアンブルに書いて画像の挿入を

includegraphics[width=120mm]{foo.png}

としたところ、エラーが出たので、エラーメッセージに従いtexのコマンドオプションに -shell-escape をつけて

platex -shell-escape foo.tex

と実行したところ、画像用の中間ファイルが自動で生成されながら処理は難なく終了した。

Advertisements

Pythonはじめてひと月、標準ライブラリの充実ってやっぱりいいなとか

Python歴は今の時点でだいたい1ヶ月くらい。

本当は1年くらい前に、PythonでCSV読み込んでタイムスタンプのフォーマットを変えて、みたいな簡単なスクリプトを組んでたんだけど、それはもうそれっきりで、文法とかももうすっかり忘れて、1ヶ月前くらいから、また一からリファレンス読みながらのスクリプティングをしてきた。

これまでにやってきた言語といえばC、Java,C++。スクリプト言語だとweb系でPHP、Perlくらいなので、Pythonはコマンドラインから動かすことを考えたら始めてのスクリプト言語。

あんまり大きな声じゃ言えないけど、try-catchとかのエラー処理とか、よくわからないレベルの超ライトユーザなので、突っ込んだ話はできないけど、ここまでPythonに触れてきて「いいな、Python」と思ったことをちらほらと書いていく。だいたいがC++に比べて、って感じだけど…

見返してみると、「いいなPython」って言うより「いいなスクリプト言語」って感じ

コード量が少ない

同じ働きをするコードを書くと、C++と比べてPythonは30%くらいの行数になるんじゃないか、ってくらいのイメージ。

コード量が少ないと読むのにかかる時間がだいぶ違ってくる。プログラムを読む時って「この変数がここで使われてて…」とコード内を何度も往復して読んでるから、読むのにかかる時間はきっとコード量の2乗くらいで効いてくる。コード量が2倍なら理解に掛かる時間は4倍。根拠はないけど。

これなら標準ライブラリの実装とかも眺められるんじゃないかと思ってスレッド周りのライブラリをチラ見してみたけど案の定のカオスっぷり&英語コメント読めないで諦めた。

僕のスキルなんてまあ、こんなもの。

標準ライブラリの充実さ

CSV読むのも標準ライブラリで一発だし、スレッドも簡単に使えるし。Cとかだとboostである程度標準化されてる気がするけど、でもこういうプログラムで一般的に使われる要素がPythonだと「標準」として組み込まれていて、この辺が強いんじゃないかなと。

C++11だとboostがsdtに組み込まれてsdt::threadとかで使えるんだっけ

「標準」の安心感って初心者にはとても心強い。リファレンスも多そうだし、なによりPythonの仕様とか実装を決めてるコミュニティの人たちが煮詰めて煮詰めて作ったんでしょ、みたいな根拠は薄いけどとりあえずいい感じのパフォーマンスを発揮してくれるんだろう、みたいな安心感がある。

もっと書こうと思ったんだけど

もっと書こうと思ったけど書きづらい。Python、すごく使いやすいけど他の言語と比べて具体的にどうこう、とかは自分のレベルじゃあんまり具体的に思いつかない。

どういう要素が働いているか解らないけれど、なぜか作りたいものが作りたいときに「ぱっと」作れるようになってるんだな、ってことぐらいしか、今はまだ書けない。

よくわからないけど、Python、よくできてる気がする。