最近PHPをはじめました。
スクリプト言語は基本的に、変数の型を指定できないものが多いわけです。
で、これは本来、これら開発効率を売りにした言語の特徴だったはず。
でもちょっと待って下さい。
この仕様が間違いなく開発効率を下げている。
意図しない挙動をフォローするための機能実装がとても非効率的です。
皆さん、特にC系統の言語に精通されている方にお聞きします。
スクリプト言語での開発効率に関して、
普段意識的に実装されているロジックとかありますでしょうか。
スクリプト言語と開発効率について
1nobodyさん
2007/04/26(木) 01:16:27ID:Z/Rpkmiv2nobodyさん
2007/04/26(木) 03:05:38ID:vplBaXEV お前はPHPを選ぶべきではなかったな。終了。
2007/04/26(木) 10:29:28ID:???
結局PHPで作る物は一回限りの書き捨てが多いので
メソッドの引数のタイプをいちいちチェックして、他の誰かが使ったり、
また再利用したりするときに備えるなんてことはそれほど重要じゃないことに気がついた。
メソッドどうしが互いにバンバン依存しあってても気にしない。
間違った呼び出しかたでメソッドを呼んでるコードがあったら、
メソッドの方を書き換える勢いで行けばいいよ、動けば良いのだから。
これはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
Railsだって一見きれいだけど、なかみはガチガチの密結合だしね。
メソッドの引数のタイプをいちいちチェックして、他の誰かが使ったり、
また再利用したりするときに備えるなんてことはそれほど重要じゃないことに気がついた。
メソッドどうしが互いにバンバン依存しあってても気にしない。
間違った呼び出しかたでメソッドを呼んでるコードがあったら、
メソッドの方を書き換える勢いで行けばいいよ、動けば良いのだから。
これはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
Railsだって一見きれいだけど、なかみはガチガチの密結合だしね。
2007/04/26(木) 18:48:41ID:???
perlならともかく、phpで作るものって
普通一回限りの書き捨てよりも
ウェブアプリの方が多くないか?
> れはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
いや、悪いのはPHPでも、動的型付けのスクリプト言語でもなく、
そういうコードを書くプログラマ。
普通一回限りの書き捨てよりも
ウェブアプリの方が多くないか?
> れはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
いや、悪いのはPHPでも、動的型付けのスクリプト言語でもなく、
そういうコードを書くプログラマ。
2007/04/26(木) 19:37:20ID:???
物に寄るわな
ちょっとDB繋いで情報表示するだけの告知ページやら、メールフォーム系で微妙に違うものいくつも作るときとかではphpで書き捨てる
がつがつ使い回す状態想定する時にphp採用したいかっていうと・・それもケース次第だな
うちだとあんま規模大きいのだと、phpは選定対象から外れがちだなー
だからって人材配置考えると、JAVAがいいとかRubyで行くぜとか一概に言えるもんでもないし
あー、なによ一言で言うと結局「場合次第」かよ
ゴミカキコ氏ねよ俺
ちょっとDB繋いで情報表示するだけの告知ページやら、メールフォーム系で微妙に違うものいくつも作るときとかではphpで書き捨てる
がつがつ使い回す状態想定する時にphp採用したいかっていうと・・それもケース次第だな
うちだとあんま規模大きいのだと、phpは選定対象から外れがちだなー
だからって人材配置考えると、JAVAがいいとかRubyで行くぜとか一概に言えるもんでもないし
あー、なによ一言で言うと結局「場合次第」かよ
ゴミカキコ氏ねよ俺
2007/04/26(木) 20:19:05ID:???
2007/04/26(木) 23:47:30ID:???
他の言語が出来る(あるいは出来るPGを集めることが出来る)なら、PHPを選ぶ理由はない。
2007/04/27(金) 07:09:45ID:???
rubyはメモリを多く食います
10nobodyさん
2007/04/27(金) 07:52:00ID:??? Cみたいにコンパイルが-Wallで通ればそこそこ動くという事が無いので、
PHPでもRubyでも自動テストはちゃんと書く事にしてる。
自動テストが通る == -Wallで警告無しでビルド出来る
という認識。
あと、ヘッダファイルだけみりゃ何やっててどう呼ぶかが大体わかるということもないので
関数の中身を読まなきゃやってることを理解出来ないことが比較的多い。
これには面倒でもコメントをちゃんとつけるくらいの対応しかないね。
PHPでもRubyでも自動テストはちゃんと書く事にしてる。
自動テストが通る == -Wallで警告無しでビルド出来る
という認識。
あと、ヘッダファイルだけみりゃ何やっててどう呼ぶかが大体わかるということもないので
関数の中身を読まなきゃやってることを理解出来ないことが比較的多い。
これには面倒でもコメントをちゃんとつけるくらいの対応しかないね。
11nobodyさん
2007/04/27(金) 11:01:38ID:??? 趣味でサービスサイト作ってるけど、テスト作れる人に憧れる
できたほうが絶対によいとはわかっていながらずるずる勉強先延ばしだ
できたほうが絶対によいとはわかっていながらずるずる勉強先延ばしだ
12nobodyさん
2007/04/27(金) 12:23:17ID:??? CとかJavaとか使えるけど、使い捨てと割り切ってスクリプト言語使う香具師と、
精一杯がんばってphpとかのスクリプト言語がすべてって香具師では、スクリプトの品質が異なっていて当然。
プロジェクトで悩ましいのは、そういう混在したスキルの香具師のモチベーションを維持させ続けるレベルを設定できるか。
理想論だと実力のある香具師はモチベーション高まるけど、下の方は落ちこぼれる。
妥協論だと、下の方は付いて来れるけど、実力のある香具師はモチベーション維持できずに逃げ出す。
精一杯がんばってphpとかのスクリプト言語がすべてって香具師では、スクリプトの品質が異なっていて当然。
プロジェクトで悩ましいのは、そういう混在したスキルの香具師のモチベーションを維持させ続けるレベルを設定できるか。
理想論だと実力のある香具師はモチベーション高まるけど、下の方は落ちこぼれる。
妥協論だと、下の方は付いて来れるけど、実力のある香具師はモチベーション維持できずに逃げ出す。
13nobodyさん
2007/04/27(金) 22:09:46ID:??? サブルーチンとかメソッドだけ巧いこと書いとけばぉk
14nobodyさん
2007/05/05(土) 01:30:39ID:YkQ5N4PI >>1
> 意図しない挙動をフォローするための機能実装
が大変という時点で、少なくともWEBアプリ系のシステム規模では言語関係なく腐ってます。
データの入り口をきっちり処理することを前提にするなら、後は内部コードが腐ってるだけの
ことじゃないですか。PHPならassertもあるし、それ以上の何が必要か正直わからない。
> 意図しない挙動をフォローするための機能実装
が大変という時点で、少なくともWEBアプリ系のシステム規模では言語関係なく腐ってます。
データの入り口をきっちり処理することを前提にするなら、後は内部コードが腐ってるだけの
ことじゃないですか。PHPならassertもあるし、それ以上の何が必要か正直わからない。
15nobodyさん
2007/05/05(土) 05:02:19ID:??? とりあえず、PHPはセッションとPOST GETリクエストから変数取ってくる事ぐらい
分ってれば十分なので、さっさと他の言語に移る事をおすすめする
分ってれば十分なので、さっさと他の言語に移る事をおすすめする
16nobodyさん
2007/05/05(土) 05:08:53ID:??? あっ、あとSQLを実行した結果を連想配列にいれられるところもだな
17nobodyさん
2007/05/05(土) 05:22:30ID:???20nobodyさん
2007/05/05(土) 18:23:12ID:??? print_r()より、var_dump()のがいい。
21nobodyさん
2007/05/11(金) 14:57:43ID:??? >>18
すぐ下にあるように、変数がなんなのか知るためにいちいちprint_rが
必要な分、手間がかかるってことじゃないかな。
ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
バグの原因がわかるっていうことよくあるじゃん?
例えばCには類似の問題がトリッキーな書き方をしないかぎり無いでしょ?
全部の変数に型が決まってるわけだから。
すぐ下にあるように、変数がなんなのか知るためにいちいちprint_rが
必要な分、手間がかかるってことじゃないかな。
ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
バグの原因がわかるっていうことよくあるじゃん?
例えばCには類似の問題がトリッキーな書き方をしないかぎり無いでしょ?
全部の変数に型が決まってるわけだから。
22nobodyさん
2007/05/12(土) 14:56:57ID:??? > ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
> バグの原因がわかるっていうことよくあるじゃん?
Cでも怪しい変数をprintfしてバグの原因がわかることよくありますが?
> バグの原因がわかるっていうことよくあるじゃん?
Cでも怪しい変数をprintfしてバグの原因がわかることよくありますが?
23nobodyさん
2007/05/12(土) 18:48:24ID:??? PHPはスクリプト言語なのでコーディング時間が短くて済むというのはある意味
正しいが、デバッグの時間を考慮すると一概に効率がいいとはいえないな。
デバッグの事を考えるならMVCを分けて、テストを書いて、重複のあるコードを避けて
となるが、そういうプログラミングを行うならHTMLの中にプログラムが書けるPHPの
魅力半減だし、始めから簡素なPerlやRubyでフレームワーク使ったほうが良いんじゃ
ないかと思えてくる
正しいが、デバッグの時間を考慮すると一概に効率がいいとはいえないな。
デバッグの事を考えるならMVCを分けて、テストを書いて、重複のあるコードを避けて
となるが、そういうプログラミングを行うならHTMLの中にプログラムが書けるPHPの
魅力半減だし、始めから簡素なPerlやRubyでフレームワーク使ったほうが良いんじゃ
ないかと思えてくる
24nobodyさん
2007/05/12(土) 21:34:51ID:??? 適材適所と言う言葉を知らんと言うことで FA ?
25nobodyさん
2007/05/12(土) 23:02:17ID:??? PHPはソフトウェアの品質を高くするという目的には
適さない言語という事でFA?
適さない言語という事でFA?
26nobodyさん
2007/05/13(日) 07:18:20ID:??? >>25
規模と書き方に大きく依存すると思う。それは多分JavaでもRubyでも一緒。
Perlですら、十分に高品質なプログラムはあると思うが。
もっと言うならOSを落とす危険が常にあるようなC・C++みたいな言語は
最悪の「品質」のプログラムも「容易に」書けると思う。
規模と書き方に大きく依存すると思う。それは多分JavaでもRubyでも一緒。
Perlですら、十分に高品質なプログラムはあると思うが。
もっと言うならOSを落とす危険が常にあるようなC・C++みたいな言語は
最悪の「品質」のプログラムも「容易に」書けると思う。
27nobodyさん
2007/05/13(日) 08:49:43ID:???28nobodyさん
2007/05/13(日) 10:24:36ID:??? PHPでデバッグが容易になるような書き方、
つまりオブジェクト指向を活用して、コードのあちこちに
ルーチンやデータが分散しないようにオブジェクトに
閉じ込めておく。そういう書き方をするとJAVAと同じような
冗長な書き方をしないといけないし、そこまでやるなら
JAVAと同じようにデータ型のチェックをコンパイル時に
してくれてもいいと思うのだが
つまりオブジェクト指向を活用して、コードのあちこちに
ルーチンやデータが分散しないようにオブジェクトに
閉じ込めておく。そういう書き方をするとJAVAと同じような
冗長な書き方をしないといけないし、そこまでやるなら
JAVAと同じようにデータ型のチェックをコンパイル時に
してくれてもいいと思うのだが
29nobodyさん
2007/05/13(日) 10:32:23ID:??? PHPがレンタルサーバーなどでも簡単に運用できるJAVA目指すなら
かなり需要があると思うが、劣化Perlのような仕様をいつまでも引きずってる
せいで中途半端な言語に成り下がった。
かなり需要があると思うが、劣化Perlのような仕様をいつまでも引きずってる
せいで中途半端な言語に成り下がった。
30nobodyさん
2007/05/13(日) 10:40:27ID:???31nobodyさん
2007/05/13(日) 11:22:09ID:??? 始めからPHP使うなという事で
このスレの結論でてしまいましたか
このスレの結論でてしまいましたか
32nobodyさん
2007/05/13(日) 14:32:51ID:??? PerlをPHPなんかと一緒にするなよ。
PHPは変数の宣言が出来ず、スコープが関数単位。
だから、コードが汚くなって、ケアレスミスが増える。
いまどきPerlをuse strictなしで書く人はいないが、PHPはno strictで書くしかない。
その分、誰でもすぐになんとなく書けてしまえるけどな。
PHPは変数の宣言が出来ず、スコープが関数単位。
だから、コードが汚くなって、ケアレスミスが増える。
いまどきPerlをuse strictなしで書く人はいないが、PHPはno strictで書くしかない。
その分、誰でもすぐになんとなく書けてしまえるけどな。
33nobodyさん
2007/05/13(日) 17:16:25ID:??? perlで済ませる様な一発処理ならphpとかのスクリプトでもメリット有るだろ。
でも業務システムとか大規模サイトとか堅牢さと処理能力を求められるのは、コンパイル言語じゃないと厳しい。
銀行の口座サイトが、ミクシのようにperlで設定ミスでスクリプト漏れたら痛いし。
でも業務システムとか大規模サイトとか堅牢さと処理能力を求められるのは、コンパイル言語じゃないと厳しい。
銀行の口座サイトが、ミクシのようにperlで設定ミスでスクリプト漏れたら痛いし。
35nobodyさん
2007/05/13(日) 18:32:16ID:??? 何、頓珍漢なこと言ってるんだか。
Javaはコンパイルが必要だからエンタープライジーなんじゃなくって、型チェックが出来るからエンタープライジーなんだよ。
PHPの場合、型の宣言どころか変数の宣言自体出来ないから話にならない。
$status_flg = false;
...
$status_flag = true;
...
if ($status_flg) {
...
}
↑最後のifが通らなくて、その理由がわからない。それがPHPクオリティ。
Javaはコンパイルが必要だからエンタープライジーなんじゃなくって、型チェックが出来るからエンタープライジーなんだよ。
PHPの場合、型の宣言どころか変数の宣言自体出来ないから話にならない。
$status_flg = false;
...
$status_flag = true;
...
if ($status_flg) {
...
}
↑最後のifが通らなくて、その理由がわからない。それがPHPクオリティ。
37nobodyさん
2007/05/13(日) 21:52:13ID:???38nobodyさん
2007/05/13(日) 22:00:47ID:???39nobodyさん
2007/05/13(日) 22:43:36ID:??? 型宣言というか、if ($obj->validData)みたいにオブジェクト指向を使えば、
実装のデータ型はカプセル化されるので問題ないと思うが、
しかしPHPのオブジェクト指向は書きづらいし、使いづらいよね。
実装のデータ型はカプセル化されるので問題ないと思うが、
しかしPHPのオブジェクト指向は書きづらいし、使いづらいよね。
40nobodyさん
2007/05/13(日) 22:45:00ID:??? if ($obj->validData())だった
41nobodyさん
2007/05/13(日) 23:18:39ID:??? if ($runtime->getStatus())
とかやって、もしクラスがgetStatusインタフェースを持って無かったとしても
使用してみないとエラーが出ないという恐さはあるか。
とかやって、もしクラスがgetStatusインタフェースを持って無かったとしても
使用してみないとエラーが出ないという恐さはあるか。
42nobodyさん
2007/05/13(日) 23:59:22ID:???43nobodyさん
2007/05/14(月) 05:18:28ID:???45nobodyさん
2007/05/14(月) 09:48:04ID:??? PHPの問題は、間違った引数の型でもメソッドを呼べるということだよなぁ。
で、デバッグに勘が必要になる。
自分だけが書いたのコードなら自分の思考パターンは大体わかるからいいけどさ。
まぁそのへんの融通が効くから書き飛ばすのには向いているとも言える。
上にあるように、間違った呼びかたをしてたら呼び出された先をさっさと直しちまえば良い。
アプリ全体の構造が頭の中で把握できる範囲ならこれで大抵はうまくいく。
で、デバッグに勘が必要になる。
自分だけが書いたのコードなら自分の思考パターンは大体わかるからいいけどさ。
まぁそのへんの融通が効くから書き飛ばすのには向いているとも言える。
上にあるように、間違った呼びかたをしてたら呼び出された先をさっさと直しちまえば良い。
アプリ全体の構造が頭の中で把握できる範囲ならこれで大抵はうまくいく。
46nobodyさん
2007/05/14(月) 12:09:34ID:??? ケースバイケースって言っても、Perlでuse strictしないで書くなんて、それこそ10行未満の使い捨てのスクリプトだけだよ。
PHPを使うケースって10行未満のスクリプト限定になっちゃうけど。
PHPを使うケースって10行未満のスクリプト限定になっちゃうけど。
47nobodyさん
2007/05/14(月) 12:13:13ID:??? 例えば、
use strict;
sub foo {
my $arg = shift;
print "$arg\n";
}
sub bar {
print "$arg\n";
}
foo('hello');
は、実行しようとするとコンパイルエラーが起きちゃう。bar関数で不正に$arg使ってるから。
use strict;
sub foo {
my $arg = shift;
print "$arg\n";
}
sub bar {
print "$arg\n";
}
foo('hello');
は、実行しようとするとコンパイルエラーが起きちゃう。bar関数で不正に$arg使ってるから。
48nobodyさん
2007/05/14(月) 12:15:25ID:??? で、PHPはどうかというと、
<?
error_reporting(E_ALL);
function foo($arg) {
print "$arg\n";
}
function bar() {
print "$arg";
}
foo("hello");
実行すると、出ました、「hello」。残念ながらerror_reporting()はbar()を見てません。アッザース。
<?
error_reporting(E_ALL);
function foo($arg) {
print "$arg\n";
}
function bar() {
print "$arg";
}
foo("hello");
実行すると、出ました、「hello」。残念ながらerror_reporting()はbar()を見てません。アッザース。
49nobodyさん
2007/05/14(月) 12:40:49ID:??? >>48
それ、PHPじゃなくてもPythonやRubyでもおんなじことだよ。
コード読み込んだ時点ではエラーが出ず、その箇所が実行されてはじめてエラーが分かる。
でもunit testを書いていれば、error_reporting(E_ALL) のレベルで十分、特に困らない。
PHPもRubyもPythonもみんなそれで問題なく開発できてる。
もしuse strictサイコー、他のスクリプト言語ダメダメというなら48の勝手だけど、use strictしたところでJavaやC#からみれば
> アッザース
だな。目くそ、鼻くそを笑うとはまさにこのこと。
それ、PHPじゃなくてもPythonやRubyでもおんなじことだよ。
コード読み込んだ時点ではエラーが出ず、その箇所が実行されてはじめてエラーが分かる。
でもunit testを書いていれば、error_reporting(E_ALL) のレベルで十分、特に困らない。
PHPもRubyもPythonもみんなそれで問題なく開発できてる。
もしuse strictサイコー、他のスクリプト言語ダメダメというなら48の勝手だけど、use strictしたところでJavaやC#からみれば
> アッザース
だな。目くそ、鼻くそを笑うとはまさにこのこと。
51nobodyさん
2007/05/14(月) 21:47:50ID:???52nobodyさん
2007/05/14(月) 22:04:49ID:??? PHPの最大の問題はブロックによるスコープの切り替えがないことなんだよな。
無名関数がないから他の言語だったらインラインでも書けることを、どうしても一時変数を使わないといけない。
で、その変数は関数全体で有効になるから、大事な変数と使い捨ての変数がごっちゃになってしまう。
↑と変数の宣言が出来ないこととあいまって、熟練者が書いてもあまり綺麗にならないし、初学者が書くと恐ろしく汚いコードになる。
無名関数がないから他の言語だったらインラインでも書けることを、どうしても一時変数を使わないといけない。
で、その変数は関数全体で有効になるから、大事な変数と使い捨ての変数がごっちゃになってしまう。
↑と変数の宣言が出来ないこととあいまって、熟練者が書いてもあまり綺麗にならないし、初学者が書くと恐ろしく汚いコードになる。
53nobodyさん
2007/05/14(月) 22:08:15ID:??? PHPは要するにインスタントラーメンなんだよな。
システム開発産業としてみた場合のPHPのメリットは大きい。
メリットがあるからこそこれだけ流行してる。証明されてる。
確かにお湯かけるだけで作れて、少なくとも不味くて食えないってことはない。
しかし、インスタントラーメンばっかり作ってて、料理人とはいえないよね。
システム開発産業としてみた場合のPHPのメリットは大きい。
メリットがあるからこそこれだけ流行してる。証明されてる。
確かにお湯かけるだけで作れて、少なくとも不味くて食えないってことはない。
しかし、インスタントラーメンばっかり作ってて、料理人とはいえないよね。
55nobodyさん
2007/05/14(月) 22:33:27ID:??? 実際の日常生活でも料理人が求められることってないだろ
普通は自炊なり家庭料理なりだ
インスタントラーメンで用が済むのに料理人が出張ってきたら困る
しかも料金高いし
普通は自炊なり家庭料理なりだ
インスタントラーメンで用が済むのに料理人が出張ってきたら困る
しかも料金高いし
56nobodyさん
2007/05/14(月) 23:06:41ID:??? インスタントラーメンだけ作ってても、客が来て儲かってれば
料理人だろ。
○○の言語じゃなきゃ駄目とか言ってる方が素人ぽくみえるぞ。
料理人だろ。
○○の言語じゃなきゃ駄目とか言ってる方が素人ぽくみえるぞ。
57nobodyさん
2007/05/14(月) 23:45:44ID:??? そうだな、言語が開発効率と無関係なら
アセンブラでウェブアプリ造れるよな
アセンブラでウェブアプリ造れるよな
58nobodyさん
2007/05/15(火) 00:52:15ID:2gvjM0as 結論:Javaでメジャーなフレームワーク使うのが一番。
60nobodyさん
2007/05/16(水) 11:53:34ID:??? 徹底してルーチンやクラスを分けて
変数のスコープを数十行程度にする
そういう当たり前の事が簡単にできる
スクリプト言語がいいね。RubyとかPythonとか。
変数のスコープを数十行程度にする
そういう当たり前の事が簡単にできる
スクリプト言語がいいね。RubyとかPythonとか。
61nobodyさん
2007/05/16(水) 22:05:04ID:??? ここまでの流れに加えるなら、Web用途ならやはり文字列の扱い重要。
スクリプト言語の有利な点は、全て文字列の扱いと配列(およびリスト)や
連想配列のデフォルト実装だと思う今日この頃。
正直、perlやPHP、rubyから入った人間はCやJavaの文字列、配列の
扱いは気が狂うほどのパラダイムシフトじゃないか?マイナス方向への。
int i;
for(i=0; i<ar.length(); i++){
ar[i] にほげほげ
}
は正直foreachやeachに慣れた人間には耐えられないんじゃないかな。
スクリプト言語の有利な点は、全て文字列の扱いと配列(およびリスト)や
連想配列のデフォルト実装だと思う今日この頃。
正直、perlやPHP、rubyから入った人間はCやJavaの文字列、配列の
扱いは気が狂うほどのパラダイムシフトじゃないか?マイナス方向への。
int i;
for(i=0; i<ar.length(); i++){
ar[i] にほげほげ
}
は正直foreachやeachに慣れた人間には耐えられないんじゃないかな。
6261
2007/05/16(水) 22:09:01ID:??? ふつうのCやJavaだと
> ar.length()
は
ar.size()
なのかなと思う今日この頃。不勉強すんません。
> ar.length()
は
ar.size()
なのかなと思う今日この頃。不勉強すんません。
63nobodyさん
2007/05/16(水) 23:22:32ID:??? Perlって実はかなり厳格なプログラミングを要求されるんだよね。スクリプト言語の中では。
Perl6ではよりその傾向が強まる。
Perl6ではよりその傾向が強まる。
64nobodyさん
2007/05/16(水) 23:59:40ID:??? 以前のPerlがテキトー万歳だったんだよ
それだからこそ受け入れられてきたんだがそれゆえ5で崩壊した
use strictとかがある時点で変態
それだからこそ受け入れられてきたんだがそれゆえ5で崩壊した
use strictとかがある時点で変態
65nobodyさん
2007/05/17(木) 00:57:49ID:???66nobodyさん
2007/05/17(木) 02:00:22ID:??? Javaは冗長だけど注意深く使用すれば誰が読んでも内容が理解しやすい
コードを書きやすいので、一概に悪いとは思わないな。
コードを書きやすいので、一概に悪いとは思わないな。
67nobodyさん
2007/05/17(木) 09:24:14ID:??? そんなこと言ったらたいていの言語は読みやすいように書くことはできるよ
無限の時間とリソースが使えればな
それを極力圧縮するできるがどうかが「便利」の要だろ
無限の時間とリソースが使えればな
それを極力圧縮するできるがどうかが「便利」の要だろ
68nobodyさん
2007/05/17(木) 09:46:16ID:??? Rubyも読みやすい書きやすいっていうけど、リフレクションを多用すると
恐ろしいことになるからなぁ。
リフレクションみたいに、静的な型なんてクソクラエみたいな書き方は、
なかなか強力で、使いどころを間違えなければたしかに書くときの効率はかなり上がるけど、
一方乱発するとメンテの効率をいちじるしく落とすね。
恐ろしいことになるからなぁ。
リフレクションみたいに、静的な型なんてクソクラエみたいな書き方は、
なかなか強力で、使いどころを間違えなければたしかに書くときの効率はかなり上がるけど、
一方乱発するとメンテの効率をいちじるしく落とすね。
69nobodyさん
2007/05/17(木) 23:17:38ID:kV8X1K3f 型付けの弱い言語はバグの温床
70nobodyさん
2007/05/17(木) 23:33:56ID:??? >>69 型付けが弱い云々というよりは文化じゃないのかなと。
PHPならそれ3日でできますよ。フレームワークなんていりませんよ。て
べたべたべたべた書いて動いちゃう、それでいいやって仕事が多く、そんな
ソースを槍玉にあげてもなぁ、という気もする。そりゃ手を加えるほどに
バグも入るさ。安さ速さ最優先なんだから。
PHPの問題は言語仕様そのものというよりその使われ方だろう。
またそういう書き方でやってきた人間が、ある程度以上でかいもしくは
業務処理系のものまで上記の延長でPHPで作ろうとするから、言語の(糞)
仕様まで問題になるんだと思う。
perl, ruby, python なんかはまだツールとしての用途があるから違う文化が
あるのかもしれないが、PHPはもうwebしかないから、もともとやばい言語仕様
なのにそのままでフレームワークとかオブジェクト指向の整備とか大型化の
方向でどんどん泥沼にはまってるような気がする。
PHPならそれ3日でできますよ。フレームワークなんていりませんよ。て
べたべたべたべた書いて動いちゃう、それでいいやって仕事が多く、そんな
ソースを槍玉にあげてもなぁ、という気もする。そりゃ手を加えるほどに
バグも入るさ。安さ速さ最優先なんだから。
PHPの問題は言語仕様そのものというよりその使われ方だろう。
またそういう書き方でやってきた人間が、ある程度以上でかいもしくは
業務処理系のものまで上記の延長でPHPで作ろうとするから、言語の(糞)
仕様まで問題になるんだと思う。
perl, ruby, python なんかはまだツールとしての用途があるから違う文化が
あるのかもしれないが、PHPはもうwebしかないから、もともとやばい言語仕様
なのにそのままでフレームワークとかオブジェクト指向の整備とか大型化の
方向でどんどん泥沼にはまってるような気がする。
71nobodyさん
2007/05/17(木) 23:41:17ID:??? PHPにはちいたんがある
72nobodyさん
2007/05/17(木) 23:44:19ID:??? なんのためにプログラムがあるのか勘違いしてないか?おまえら
73nobodyさん
2007/05/18(金) 00:42:32ID:??? プログラミング言語はプログラム作成のために存在しておりますよ
思想体現の手段ではありませぬ
思想体現の手段ではありませぬ
74nobodyさん
2007/05/18(金) 00:55:58ID:??? 人間の思考つまり、思想に近いプログラム、
読みやすく書きやすいプログラムとも言えるな。
読みやすく書きやすいプログラムとも言えるな。
75nobodyさん
2007/05/18(金) 02:14:08ID:??? 結果がよければあとは何でもいいじゃん。
自分の得意なもので結果だせればそれでいいでしょ。
批判ばっかりしてて神経質じゃねえのかプログラマーって
自分の得意なもので結果だせればそれでいいでしょ。
批判ばっかりしてて神経質じゃねえのかプログラマーって
76nobodyさん
2007/05/18(金) 09:27:29ID:??? 君の世界に客というものはいないのか
あるいは他の開発者でもいい
未来にそのプログラムを改修する自分でもいい
誰か他者は介在してないのか
あるいは他の開発者でもいい
未来にそのプログラムを改修する自分でもいい
誰か他者は介在してないのか
77nobodyさん
2007/05/18(金) 22:31:30ID:??? ヒント:ニートの耳年増
78nobodyさん
2007/05/18(金) 23:23:18ID:??? >>69
php で色々組んでるけど、型関係でバグったことは使い初めの頃の
勘違いしかない。
処理系に型の間違いのチェックアウト能力がないのは確かだけど、
そもそもそんな間違いをぼろぼろやるプログラマは他のところでも
バグってる可能性が高い。
php で色々組んでるけど、型関係でバグったことは使い初めの頃の
勘違いしかない。
処理系に型の間違いのチェックアウト能力がないのは確かだけど、
そもそもそんな間違いをぼろぼろやるプログラマは他のところでも
バグってる可能性が高い。
79nobodyさん
2007/05/18(金) 23:46:40ID:??? さー、自称天才PHPプログラマーが登場しましたよ
81nobodyさん
2007/05/19(土) 00:37:00ID:Scwv46iZ そのさー、バグを出す/出さないをプログラマの能力依存にしないための方策の一つが、
強い型付けなんだが…。
強い型付けなんだが…。
82nobodyさん
2007/05/19(土) 00:50:11ID:??? ならバグを出さなけりゃ型の概念要らないって事だね
83nobodyさん
2007/05/19(土) 01:15:25ID:??? バリアント!バリアント!
84nobodyさん
2007/05/19(土) 02:34:19ID:??? コンパイラーが型チェックしてくれるので、単純なバグはそれだけでつぶせる。単純なミスをまったくしないプログラマーには不要な機能かもしれないが。
85nobodyさん
2007/05/19(土) 10:22:57ID:??? バグをださないように慎重に行うプログラミング、
バグが出てからバグを潰していくプログラミング、
どっちが効率がいいかってどこかで見たな
バグが出てからバグを潰していくプログラミング、
どっちが効率がいいかってどこかで見たな
8678
2007/05/19(土) 10:28:34ID:???88nobodyさん
2007/05/19(土) 13:24:42ID:??? コンパイラによる型チェックが不便とか言ってるのは素人だけだろ?
後はMCでない、ぬるい仕事しかした事のない歳だけ食った自称ベテラン。
後はMCでない、ぬるい仕事しかした事のない歳だけ食った自称ベテラン。
89nobodyさん
2007/05/19(土) 14:17:53ID:???9278
2007/05/19(土) 19:13:22ID:??? その一つすら覚えられないの? (w
93nobodyさん
2007/05/19(土) 23:03:22ID:???94nobodyさん
2007/05/20(日) 01:13:32ID:??? 適す範囲が著しく狭い物や、どこにも適さない物もあるでしょう
ホント思考が極端だな
ホント思考が極端だな
9578
2007/05/20(日) 09:01:59ID:??? そりゃあるだろうけど、このスレと何の関係があるんだ?
具体的に指摘できないなら、自分の日記帳にでも書いたほうがいいよ。
具体的に指摘できないなら、自分の日記帳にでも書いたほうがいいよ。
96nobodyさん
2007/05/20(日) 11:08:22ID:???97nobodyさん
2007/05/20(日) 14:53:05ID:??? 動的な型と静的な型の長所短所はあるけど、(もっともRubyの松本なんかは動的な型で決まりって言ってるけど)、
動的な型付けでかつ変数の宣言ミスをコンパイラーがチェックしてくれるPerlはかなり理想的だな。
PHPの場合、型が動的なのに加えて、ブロックによるスコープのコントロールが利かないこと、
変数が1種類しかないこと(Perlでいうところの@arrや%hashがなく、$arr/$hash)、
名前空間がないこと(まあ、パッケージ変数の代わりにクラス変数を使うんだけど、パッケージがないので今度はクラスの管理が難しくなる)
これらが組み合わさって、汚いコードを書くことを強制されるというか。ゆえにバグを誘発する。
動的な型付けでかつ変数の宣言ミスをコンパイラーがチェックしてくれるPerlはかなり理想的だな。
PHPの場合、型が動的なのに加えて、ブロックによるスコープのコントロールが利かないこと、
変数が1種類しかないこと(Perlでいうところの@arrや%hashがなく、$arr/$hash)、
名前空間がないこと(まあ、パッケージ変数の代わりにクラス変数を使うんだけど、パッケージがないので今度はクラスの管理が難しくなる)
これらが組み合わさって、汚いコードを書くことを強制されるというか。ゆえにバグを誘発する。
99nobodyさん
2007/05/20(日) 15:18:11ID:???100nobodyさん
2007/05/20(日) 16:45:48ID:??? PHPの有利なとこは、mod_phpが簡単にインストールできてそこそこ速いこと。
すぐに覚えられるので、人員の確保がしやすいこと。
これ以外の、言語仕様で優れてるところがあるなら教えて欲しいんだけど。
すぐに覚えられるので、人員の確保がしやすいこと。
これ以外の、言語仕様で優れてるところがあるなら教えて欲しいんだけど。
101nobodyさん
2007/05/20(日) 16:52:13ID:??? ちなみにRubyの松本はいろんな記事で型チェックの有用性は認めている。動的な型つけと型チェックは別問題だからね。
102nobodyさん
2007/05/20(日) 16:57:45ID:??? 型は指定しなくてもいいが、指定すればチェックが働くようなのがいいんじゃない。
ActionScriptがそんな感じで、うまくやってるような気がするが。
ActionScriptがそんな感じで、うまくやってるような気がするが。
10378
2007/05/20(日) 18:04:35ID:???104nobodyさん
2007/05/21(月) 09:54:37ID:??? 動的型付け言語のプログラムを読んでて肩が凝るのは、
関数の動きを理解するのにコンテクストの理解を要求するんだよなぁ。
出入口がしっかり定義されていないから、関数が独立せず外部の知識前提で書かれてることが多い。
で、言語やフレームワークごとの流儀とか、書いた人間のクセなどを読む勘みたいなものが
必要になってくる。
これは難しいものではまったく無いけど、C育ちなどではリハビリがいることもある。
Rubyで自前型チェックを"精神安定のために"って言いつつ全公開メソッドに追加してる奴を見たことがあるよ。
関数の動きを理解するのにコンテクストの理解を要求するんだよなぁ。
出入口がしっかり定義されていないから、関数が独立せず外部の知識前提で書かれてることが多い。
で、言語やフレームワークごとの流儀とか、書いた人間のクセなどを読む勘みたいなものが
必要になってくる。
これは難しいものではまったく無いけど、C育ちなどではリハビリがいることもある。
Rubyで自前型チェックを"精神安定のために"って言いつつ全公開メソッドに追加してる奴を見たことがあるよ。
105nobodyさん
2007/05/21(月) 19:30:32ID:???10678
2007/05/21(月) 22:21:20ID:??? > 出入口がしっかり定義されていないから
動的型付けと何の関係もないと思うが...。
動的型付けと何の関係もないと思うが...。
107nobodyさん
2007/05/22(火) 00:17:39ID:??? タイプヒンティングのことだろ。
108nobodyさん
2007/05/22(火) 22:45:41ID:??? ああそういうことか。
でも、だからと言って
> 関数が独立せず外部の知識前提で書かれてることが多い。
と言うのは、単なる偏見かと。
でも、だからと言って
> 関数が独立せず外部の知識前提で書かれてることが多い。
と言うのは、単なる偏見かと。
109nobodyさん
2007/05/27(日) 16:21:22ID:??? スプリプト言語自体も、スクリプト言語で大規模サイト作ってる香具師も馬鹿だとよくわかるスレ。
パールでサイトつくちゃったミクシとかゴミだよな。
本当に正しい動きするかより、エラー出ずに動けばおkレベルだろ?
パールでサイトつくちゃったミクシとかゴミだよな。
本当に正しい動きするかより、エラー出ずに動けばおkレベルだろ?
110nobodyさん
2007/05/27(日) 17:58:49ID:??? これはまた、まずそうな釣り餌だな。
111nobodyさん
2007/06/03(日) 00:36:37ID:??? まあスクリプト言語じゃ大規模サイトは無理なのは事実。
112nobodyさん
2007/06/03(日) 02:40:10ID:??? ユニットテストをやればイインダヨー
113nobodyさん
2007/06/03(日) 23:52:47ID:??? >>111
Amazonやlivedoorは大規模とはいわんのかな。
校正するなら、
誤)まあスクリプト言語じゃ大規模サイトは無理なのは事実。
正)まあスクリプト言語「だけ」じゃ大規模サイトは無理なのは事実。
くらいか。だから適材適所と何回言えば(ry
Amazonやlivedoorは大規模とはいわんのかな。
校正するなら、
誤)まあスクリプト言語じゃ大規模サイトは無理なのは事実。
正)まあスクリプト言語「だけ」じゃ大規模サイトは無理なのは事実。
くらいか。だから適材適所と何回言えば(ry
114nobodyさん
2007/06/09(土) 09:01:49ID:??? >Amazonやlivedoorは大規模とはいわんのかな。
DocomoのCiRCUS位でないと大規模とは言わないな…。
DocomoのCiRCUS位でないと大規模とは言わないな…。
115nobodyさん
2007/06/09(土) 12:10:05ID:??? Circusでググってもエロゲしかヒットしない件
116nobodyさん
2007/06/13(水) 00:19:39ID:??? DoCoMo CIRCUSでググれば一発だな。
117nobodyさん
2007/06/15(金) 02:53:21ID:??? ユニットテストだけでバグが無くなると思ったら大間違い。
とコードコンプリートに書いてあったのの受け売り。
とコードコンプリートに書いてあったのの受け売り。
118nobodyさん
2007/06/16(土) 18:53:00ID:??? 糞PGが一人でもまぎれこんでいればバグがある。
早く国家資格持ってない香具師はプログラム組めないようにしてしまえと思う。
トラフグ調理免許とかジャンボジェット運転許可証とかみたいに。
早く国家資格持ってない香具師はプログラム組めないようにしてしまえと思う。
トラフグ調理免許とかジャンボジェット運転許可証とかみたいに。
120nobodyさん
2007/07/06(金) 04:22:46ID:??? スクリプト言語に文句いってるレベルのやつはスクリプト言語でできないプロジェクトにはめぐりあえないだろうな、レベル低すぎて。
121nobodyさん
2007/07/11(水) 18:34:24ID:??? そらそうだ。単なる利用者だし。
低レベル層の開発関わってる人も上澄み扱うプロジェクトには関わりにくい訳で。
低レベル層の開発関わってる人も上澄み扱うプロジェクトには関わりにくい訳で。
123r545
2008/07/08(火) 00:08:51ID:ywt4R5D2 すいません。。質問させてください。
webアプリ作成において、スクリプト言語が使われる理由って何ですか?
詳しく教えてください。。機械誤変換がなく、比較的簡単に作成出来るって
ことまでしかしらないので。。よろしくお願いします。
webアプリ作成において、スクリプト言語が使われる理由って何ですか?
詳しく教えてください。。機械誤変換がなく、比較的簡単に作成出来るって
ことまでしかしらないので。。よろしくお願いします。
124nobodyさん
2008/07/08(火) 00:52:28ID:??? ・Web だと、通常あまり厳しい性能を求められない
・文字列処理が多い
・仕様変更が多い
ぐらいかな。
・文字列処理が多い
・仕様変更が多い
ぐらいかな。
125r545
2008/07/08(火) 01:14:00ID:ywt4R5D2 nobodyさん>
Web だと、通常あまり厳しい性能を求められない っていうのは、たいしたアプリは
作れないってことですか??大規模な、システムはやはりJavaですか。
・文字列処理が多い
・仕様変更が多い
っていうのはつまり??初心者ですいません。。
Web だと、通常あまり厳しい性能を求められない っていうのは、たいしたアプリは
作れないってことですか??大規模な、システムはやはりJavaですか。
・文字列処理が多い
・仕様変更が多い
っていうのはつまり??初心者ですいません。。
126nobodyさん
2008/07/08(火) 07:00:28ID:??? お前にゃプログラミングは3年早いよ
127nobodyさん
2009/01/01(木) 16:45:51ID:??? ・・・
128nobodyさん
2009/02/22(日) 22:43:48ID://7Dlz4Z ソフトウェア開発には、しばしば交わっているがたいていは分かれている、
5つの世界がある。
その5つとは:
1.パッケージ
2.インターナル
3.組み込み
4.ゲーム
5.使い捨て
スクリプト言語の得意分野は、5.
5つの世界がある。
その5つとは:
1.パッケージ
2.インターナル
3.組み込み
4.ゲーム
5.使い捨て
スクリプト言語の得意分野は、5.
129nobodyさん
2009/03/05(木) 18:54:55ID:??? しょっちゅうバグまみれでシステム落ちても文句言えない用途でしか使えないしなあ。
セキュリティ上もスクリプト言語は改変し易いので不利。
セキュリティ上もスクリプト言語は改変し易いので不利。
130nobodyさん
2009/05/25(月) 06:47:24ID:??? すげぇな。まだ動的言語にあれこれ文句言ってる奴居るのかwww
131nobodyさん
2009/05/26(火) 07:32:56ID:??? アセンブラが改変出来なくて最強。
132nobodyさん
2010/03/21(日) 23:07:05ID:RnhG2Ana _
r-、' ´ `ヽr-、
ィ7 /l: ハヽハ トヾ 駄スレを隠すことは、この俺が許さん!
'|l |'´_` ´_ `| || 信念に基づいて行動する。
| |´ヒ} ヒ}`! l| それを人は正義と言う。
__ノ゙). 从 l, _'_. |从 今俺が行ってることは、上げ荒らしではない。
,_'(_ ノ_ヽ ヾl.> - ,イ;リ 正義という名の粛清だぁ!
{ f:テ} {'f:テ}',/\ヽ--//ヽ
ヽ,r─‐ 、ィ .、、 i l>Y<! i '、 バーニング!
/ iゝ_ノ iヽ /l |l l ',
lンヽ/ムノじ
r-、' ´ `ヽr-、
ィ7 /l: ハヽハ トヾ 駄スレを隠すことは、この俺が許さん!
'|l |'´_` ´_ `| || 信念に基づいて行動する。
| |´ヒ} ヒ}`! l| それを人は正義と言う。
__ノ゙). 从 l, _'_. |从 今俺が行ってることは、上げ荒らしではない。
,_'(_ ノ_ヽ ヾl.> - ,イ;リ 正義という名の粛清だぁ!
{ f:テ} {'f:テ}',/\ヽ--//ヽ
ヽ,r─‐ 、ィ .、、 i l>Y<! i '、 バーニング!
/ iゝ_ノ iヽ /l |l l ',
lンヽ/ムノじ
スクリプト言語あまり使わない
134nobodyさん
2015/11/06(金) 18:09:55.74ID:tDSzu+Xy 転職時の注意事項。
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in Tokyo
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in Tokyo
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
135nobodyさん
2017/12/30(土) 14:17:41.78ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
0ZCR1RPKZW
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
0ZCR1RPKZW
136nobodyさん
2023/06/13(火) 07:04:13.28ID:??? 肩にハエいるよ。
レスを投稿する
ニュース
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★3 [尺アジ★]
- イラン、米軍基地を攻撃 [お断り★]
- 【サッカー】W杯の「日本VSブラジル」を他で例えると…Xで問いかけ話題「湘北vs山王」「明徳義塾vs大阪桐蔭」「ドトウvsオペラオー」★2 [o(^・-・^)o★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ [ゴアマガラ★]
- 【サッカー】「世紀の談合マッチになる予感」J組の一戦が話題…ドローで両チーム決勝T進出の“異例事態” [ゴアマガラ★]
- 【EV】 BYDの「快進撃」はインチキだった… 隠れ負債7兆円超 サプライヤーへの代金支払いを先延ばし ★2 [お断り★]
- 【実況】博衣こよりのえちえちパワプロWBC編🧪
- 経産省、アニメ会社MAPPAやゲーム会社DeNAに15億円の補助金。赤松健「ヒットした作品に後からお金をあげる政策が必要」 [485187932]
- 【高市解散】小野田担当大臣 記者だけでなく「司会者」にもキれ顔を見せていた X上ではバッシングの嵐に [169920436]
- お前ら「ラーメン二郎は汚い!食べない!」←これ
- ワイ雄、義理のおばあさんとセックスがしたい
- 【悲報】高市に逆らったカルビー、消費者の購入意向激減。湖池屋を下回る… [342017262]