Edited at

「あの言語のアレはこの言語でいうコレだよね」まとめてみた(開発環境・テスト)


経緯

いろんな言語を使う人と交流するときに、別の言語でたとえることが多いな、思った。

「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 のようにコマンド名で記載しています。