経緯
いろんな言語を使う人と交流するときに、別の言語でたとえることが多いな、思った。
「Python でいう pip が Ruby の gem だよ。 Perl でいうところの cpan だね」みたいな説明をする。
自分にとっての母語と外国語の対応がわかると、理解が断然早くなるはず。
せっかくなので、いろんな言語でまとめてみた。
とりあえずは主に開発環境・テストについて。必要だったら他のフレームワークとかも列を増やしたいなー。
まとめてみた
言語 | パッケージ管理 | 専用パッケージ形式 | ビルド | 仮想環境 | 複数バージョン管理 | シンタックスチェック | テスト |
---|---|---|---|---|---|---|---|
Python | pip, pipenv | wheel, egg | setup.py, scons | virtualenv | pyenv, pythonbrew | pep8, pyflakes, flake8, mccabe, pylint | tox, nose, py.test |
Ruby | gem, bundler | gem | rake | bundler | rbenv, rvm, rubybrew | robocop | rspec, appraisal |
Go | go get, godep | go build | goenv | golint | go test | ||
Perl | cpan, cpanminus | carton | plenv, perlbrew | perlcritic | prove | ||
Node.js | npm, bower (web) | grunt, gulp, webpack (web) | npm (node_modules) | nvm, nodeenv, nodebrew | eslint, jshint, jslint | mocha | |
PHP | pear, composer | phar | phing | onion | phpenv, phpbrew | phplint | phpunit |
Java | maven | jar | ant, maven, gradle | jenv | lint4j | java -cp junit.jar |
コマンドラインで打つときのイメージなので、基本的に全て小文字に揃えています。
例えば、 RSpec
という技術名ではなく rspec
のようにコマンド名で記載しています。