コマンドラインツールを作る最適な言語はPHPat TECH
コマンドラインツールを作る最適な言語はPHP - 暇つぶし2ch1:デフォルトの名無しさん
13/09/25 13:19:25.83
Unix/Linux環境でコマンドラインツールを作る最適な言語はPHPである

反論あるかね?

2:デフォルトの名無しさん
13/09/25 13:56:04.32
Perl/Python/Rubyに負けてると思うが

3:デフォルトの名無しさん
13/09/25 14:02:45.32
そもそも「コマンドラインツールを作る言語」って考え方の時点で
PerlやRubyとはどうあがいても同列になれないと思う
Perlもそれの後釜になろうとしたRubyも、言語自体がコマンドラインツールだもの
AWKとかの考え方が根底にあって「作る」んでなくて「使う」って考え方だからな

4:デフォルトの名無しさん
13/09/25 14:07:53.67
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

5:デフォルトの名無しさん
13/09/25 16:52:42.41
・コマンドラインツールでもWebIFにしようと思ったときに対応しやすい、最近は何でもかんでもWebIFで扱うのがトレンドだから必須事項
→時代遅れでトレンド無視した自己満足オナニーコードを書きたい場合はPerlで十分、但し時代遅れはエンジニアとして致命的

・そしてWebIFにしたときPerlと違って爆速
→Perlなんかお話にならない、ベンチはいくらでも出てくるからテメーで調べろ

・正規表現に頼らず用意された関数で書くことが多いから、後で読んだときに分かりやすく可読性、保守生に優れている
→機能拡張やリファクタリングを全くする気がなければPerlでも可、但しリファクタリングする気がないのはエンジニアにとして致命的

・素人集団CPANからのライブラリではなく公式がサポートしているライブラリを利用できるため、ライブラリにバグがあっても一個人の素人より修正される可能性が高い
→バグの顕在化と共に自分のツールが使えなくなってもよい場合はPerlでも可、でも使えなくなってもよいツールをわざわざ作る価値は(ry

・セキュリティホールの発生を抑える変数の厳密な比較===ができる
→Perlは、$文字列==$数値とやれば強制的に数値比較、$文字列eq$数値で強制的に文字列比較されてしまう史上最悪の欠陥言語、もちろんPerlに===なんかない

・インストール時にオプション一つでDBとの連携が可能
→わざわざDBIやDBDをインストールする必要なし、何らかの理由でOSからインストールしてシステムを再構築する場合も楽

・標準でswitchが使える
→地味にでかい

・利用者が多いからドキュメントも豊富
→特に自助努力が必要なIT分野においてはドキュメントがある意味生命線、いかなるツールであってもドキュメントを一切見ずに白紙からコーディングできるなら不要でしょうね

6:デフォルトの名無しさん
13/09/25 17:03:36.87
>>5
・いろんなものがfalseだったりするせいで、新たな比較演算子「===」が必要
・hashやlistがobjectが区別できない
・オブジェクト指向機能が壊れている
・lambda(無名関数)がない。create_functionはlambdaじゃない
・short_open_tagsやらsafe_modeやらregister_globalsがonになってるかもしれない
・一貫性のない名前(str_replace,strlen,parse_strとか)
・引数の順番がわかりにくい(in_arrayとかstrposとか)
・strpos('abcd','a')は0を返すが、0は偽である
・PHPで書かれたたくさんのアプリがあるがどれもHTMLとロジックが分離されてない(本当?)
・「PHPは初心者に学びやすい」と言われる。確かにそうかもしれないが、 おかげでどれだけのSQLインジェクションやらXSS脆弱性やら、 ひどいコードが放置されていることか
・グローバル。使うんじゃないってば。

7:デフォルトの名無しさん
13/09/25 17:17:30.92
PHPはmod_perlより遅いだろ

8:デフォルトの名無しさん
13/09/25 17:19:31.26
PEARとかもう死んで

9:デフォルトの名無しさん
13/09/25 18:21:32.03
shで書け。原理主義以外は認めない。

10:デフォルトの名無しさん
13/09/26 05:10:35.25
>>5に追加
・安い作業員でも作れる
→ そもそも perlやpythonで作らせようとしても無理

11:デフォルトの名無しさん
13/09/26 08:59:10.59
出力の最初にContent-Type: text/htmlって付くだろ

12:デフォルトの名無しさん
13/09/26 09:10:04.49
そうでもない
URLリンク(www.php.net)

13:デフォルトの名無しさん
13/09/26 14:46:52.04
PHPはweb専用のスモールスタートから攻めて汎用言語の座に着く
ガベコレ付きc++と考えれば書き味は良いし学習コストも低い

14:デフォルトの名無しさん
13/09/26 15:56:11.41
php.ini

15:デフォルトの名無しさん
13/09/26 20:50:10.96
>>3の逆で、Webという世界では
PHPが言語自体がツールになり、Perlとかが言語になるんよね。
ただコマンドラインじゃなあ…

16:デフォルトの名無しさん
13/10/06 16:21:54.64
linux限定ならphpでもいいと思う
windowsだとphpは圧倒的に力不足

17:デフォルトの名無しさん
13/10/06 21:05:19.41
作れるの?

18:デフォルトの名無しさん
13/10/07 23:35:42.27
>>6
ラムダ作れるし

19:デフォルトの名無しさん
13/10/08 00:47:32.81
ほんとにコマンドラインでつかえるの?

20:デフォルトの名無しさん
13/10/08 01:44:56.76
linuxの何らかのディストロの
標準で入ってるツールの中に、
phpで書かれたコマンドラインツールは何かありますか?

21:デフォルトの名無しさん
13/10/08 05:22:22.37
>>19
使えなくはないが、PHPを使っていちいち「コマンドラインツールを作る」くらいなら
sh/grep/sed/AWK/Perl/Python/Ruby辺りを「コマンドラインツールとして使う」ほうが早いかと
強いて言えば、その「コマンドラインツール」とやらの入力がtxtではなくて、出力がhtmlとかなら、まあ無くはないのか

22:デフォルトの名無しさん
13/10/11 00:13:47.41
おもちゃ言語だから、大事なところでは使えないよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch