スクリプト言語と開発効率について (136レス)
上下前次1-新
1(3): 2007/04/26(木)01:16 ID:Z/Rpkmiv(1) AAS
最近PHPをはじめました。
スクリプト言語は基本的に、変数の型を指定できないものが多いわけです。
で、これは本来、これら開発効率を売りにした言語の特徴だったはず。
でもちょっと待って下さい。
この仕様が間違いなく開発効率を下げている。
意図しない挙動をフォローするための機能実装がとても非効率的です。
皆さん、特にC系統の言語に精通されている方にお聞きします。
スクリプト言語での開発効率に関して、
普段意識的に実装されているロジックとかありますでしょうか。
2(1): 2007/04/26(木)03:05 ID:vplBaXEV(1) AAS
お前はPHPを選ぶべきではなかったな。終了。
3: 2007/04/26(木)03:40 ID:??? AAS
スレタイと>>1の各段落との関連性が互いにすべて薄い件について
4: 2007/04/26(木)10:29 ID:??? AAS
結局PHPで作る物は一回限りの書き捨てが多いので
メソッドの引数のタイプをいちいちチェックして、他の誰かが使ったり、
また再利用したりするときに備えるなんてことはそれほど重要じゃないことに気がついた。
メソッドどうしが互いにバンバン依存しあってても気にしない。
間違った呼び出しかたでメソッドを呼んでるコードがあったら、
メソッドの方を書き換える勢いで行けばいいよ、動けば良いのだから。
これはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
Railsだって一見きれいだけど、なかみはガチガチの密結合だしね。
5(1): 2007/04/26(木)18:48 ID:??? AAS
perlならともかく、phpで作るものって
普通一回限りの書き捨てよりも
ウェブアプリの方が多くないか?
> れはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
いや、悪いのはPHPでも、動的型付けのスクリプト言語でもなく、
そういうコードを書くプログラマ。
6: 2007/04/26(木)19:37 ID:??? AAS
物に寄るわな
ちょっとDB繋いで情報表示するだけの告知ページやら、メールフォーム系で微妙に違うものいくつも作るときとかではphpで書き捨てる
がつがつ使い回す状態想定する時にphp採用したいかっていうと・・それもケース次第だな
うちだとあんま規模大きいのだと、phpは選定対象から外れがちだなー
だからって人材配置考えると、JAVAがいいとかRubyで行くぜとか一概に言えるもんでもないし
あー、なによ一言で言うと結局「場合次第」かよ
ゴミカキコ氏ねよ俺
7: 2007/04/26(木)20:19 ID:??? AAS
>>5
PHPでウェブアプリを作るとき、フレームワーク以外の自作ビジネスロジックを使い回す事ある?
汎用掲示板機能クラスとかみたいな感じで
8: 2007/04/26(木)23:47 ID:??? AAS
他の言語が出来る(あるいは出来るPGを集めることが出来る)なら、PHPを選ぶ理由はない。
9: 2007/04/27(金)07:09 ID:??? AAS
rubyはメモリを多く食います
10: 2007/04/27(金)07:52 ID:??? AAS
Cみたいにコンパイルが-Wallで通ればそこそこ動くという事が無いので、
PHPでもRubyでも自動テストはちゃんと書く事にしてる。
自動テストが通る == -Wallで警告無しでビルド出来る
という認識。
あと、ヘッダファイルだけみりゃ何やっててどう呼ぶかが大体わかるということもないので
関数の中身を読まなきゃやってることを理解出来ないことが比較的多い。
これには面倒でもコメントをちゃんとつけるくらいの対応しかないね。
11: 2007/04/27(金)11:01 ID:??? AAS
趣味でサービスサイト作ってるけど、テスト作れる人に憧れる
できたほうが絶対によいとはわかっていながらずるずる勉強先延ばしだ
12: 2007/04/27(金)12:23 ID:??? AAS
CとかJavaとか使えるけど、使い捨てと割り切ってスクリプト言語使う香具師と、
精一杯がんばってphpとかのスクリプト言語がすべてって香具師では、スクリプトの品質が異なっていて当然。
プロジェクトで悩ましいのは、そういう混在したスキルの香具師のモチベーションを維持させ続けるレベルを設定できるか。
理想論だと実力のある香具師はモチベーション高まるけど、下の方は落ちこぼれる。
妥協論だと、下の方は付いて来れるけど、実力のある香具師はモチベーション維持できずに逃げ出す。
13: 2007/04/27(金)22:09 ID:??? AAS
サブルーチンとかメソッドだけ巧いこと書いとけばぉk
14: 2007/05/05(土)01:30 ID:YkQ5N4PI(1) AAS
>>1
> 意図しない挙動をフォローするための機能実装
が大変という時点で、少なくともWEBアプリ系のシステム規模では言語関係なく腐ってます。
データの入り口をきっちり処理することを前提にするなら、後は内部コードが腐ってるだけの
ことじゃないですか。PHPならassertもあるし、それ以上の何が必要か正直わからない。
15(1): 2007/05/05(土)05:02 ID:??? AAS
とりあえず、PHPはセッションとPOST GETリクエストから変数取ってくる事ぐらい
分ってれば十分なので、さっさと他の言語に移る事をおすすめする
16: 2007/05/05(土)05:08 ID:??? AAS
あっ、あとSQLを実行した結果を連想配列にいれられるところもだな
17: 2007/05/05(土)05:22 ID:??? AAS
テストになれてくると、テストやらないと逆に後で面倒な
ことになるのが恐くなるな
外部リンク[html]:www.phpunit.de
18(1): 2007/05/05(土)13:32 ID:??? AAS
>>1
>この仕様が間違いなく開発効率を下げている。
って例えば?
19: 2007/05/05(土)18:14 ID:??? AAS
>>15
それプラス、困ったらprint_r()だ。これでPHPのマスター完了。
20: 2007/05/05(土)18:23 ID:??? AAS
print_r()より、var_dump()のがいい。
21: 2007/05/11(金)14:57 ID:??? AAS
>>18
すぐ下にあるように、変数がなんなのか知るためにいちいちprint_rが
必要な分、手間がかかるってことじゃないかな。
ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
バグの原因がわかるっていうことよくあるじゃん?
例えばCには類似の問題がトリッキーな書き方をしないかぎり無いでしょ?
全部の変数に型が決まってるわけだから。
22: 2007/05/12(土)14:56 ID:??? AAS
> ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
> バグの原因がわかるっていうことよくあるじゃん?
Cでも怪しい変数をprintfしてバグの原因がわかることよくありますが?
23: 2007/05/12(土)18:48 ID:??? AAS
PHPはスクリプト言語なのでコーディング時間が短くて済むというのはある意味
正しいが、デバッグの時間を考慮すると一概に効率がいいとはいえないな。
デバッグの事を考えるならMVCを分けて、テストを書いて、重複のあるコードを避けて
となるが、そういうプログラミングを行うならHTMLの中にプログラムが書けるPHPの
魅力半減だし、始めから簡素なPerlやRubyでフレームワーク使ったほうが良いんじゃ
ないかと思えてくる
24(2): 2007/05/12(土)21:34 ID:??? AAS
適材適所と言う言葉を知らんと言うことで FA ?
25(2): 2007/05/12(土)23:02 ID:??? AAS
PHPはソフトウェアの品質を高くするという目的には
適さない言語という事でFA?
26(1): 2007/05/13(日)07:18 ID:??? AAS
>>25
規模と書き方に大きく依存すると思う。それは多分JavaでもRubyでも一緒。
Perlですら、十分に高品質なプログラムはあると思うが。
もっと言うならOSを落とす危険が常にあるようなC・C++みたいな言語は
最悪の「品質」のプログラムも「容易に」書けると思う。
27: 2007/05/13(日)08:49 ID:??? AAS
>>24 を証明してくれてありがとう ⇒ >>25
>>26
> OSを落とす危険が常にある
それは、OSもしくはその設定に問題があるんじゃ...
28(1): 2007/05/13(日)10:24 ID:??? AAS
PHPでデバッグが容易になるような書き方、
つまりオブジェクト指向を活用して、コードのあちこちに
ルーチンやデータが分散しないようにオブジェクトに
閉じ込めておく。そういう書き方をするとJAVAと同じような
冗長な書き方をしないといけないし、そこまでやるなら
JAVAと同じようにデータ型のチェックをコンパイル時に
してくれてもいいと思うのだが
29(1): 2007/05/13(日)10:32 ID:??? AAS
PHPがレンタルサーバーなどでも簡単に運用できるJAVA目指すなら
かなり需要があると思うが、劣化Perlのような仕様をいつまでも引きずってる
せいで中途半端な言語に成り下がった。
30: 2007/05/13(日)10:40 ID:??? AAS
>>28
そう思うなら Java 使ってれば?
>>29
> PHPがレンタルサーバーなどでも簡単に運用できるJAVA目指すなら
誰もそんなもん目指してませんが。
31: 2007/05/13(日)11:22 ID:??? AAS
始めからPHP使うなという事で
このスレの結論でてしまいましたか
32(1): 2007/05/13(日)14:32 ID:??? AAS
PerlをPHPなんかと一緒にするなよ。
PHPは変数の宣言が出来ず、スコープが関数単位。
だから、コードが汚くなって、ケアレスミスが増える。
いまどきPerlをuse strictなしで書く人はいないが、PHPはno strictで書くしかない。
その分、誰でもすぐになんとなく書けてしまえるけどな。
33: 2007/05/13(日)17:16 ID:??? AAS
perlで済ませる様な一発処理ならphpとかのスクリプトでもメリット有るだろ。
でも業務システムとか大規模サイトとか堅牢さと処理能力を求められるのは、コンパイル言語じゃないと厳しい。
銀行の口座サイトが、ミクシのようにperlで設定ミスでスクリプト漏れたら痛いし。
34(1): 2007/05/13(日)18:26 ID:??? AAS
>>32 は error_reporting() とかを知らんのだろうな...。
35(4): 2007/05/13(日)18:32 ID:??? AAS
何、頓珍漢なこと言ってるんだか。
Javaはコンパイルが必要だからエンタープライジーなんじゃなくって、型チェックが出来るからエンタープライジーなんだよ。
PHPの場合、型の宣言どころか変数の宣言自体出来ないから話にならない。
$status_flg = false;
...
$status_flag = true;
...
if ($status_flg) {
...
}
省1
36(1): 2007/05/13(日)18:36 ID:??? AAS
>>34はE_STRICTとuse strictが別物だと言う事を知らないんだろうな…。
上下前次1-新書関写板覧索設栞歴
あと 100 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.422s*