トップページphp
133コメント44KB

スクリプト言語と開発効率について

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/04/26(木) 01:16:27ID:Z/Rpkmiv
最近PHPをはじめました。

スクリプト言語は基本的に、変数の型を指定できないものが多いわけです。
で、これは本来、これら開発効率を売りにした言語の特徴だったはず。

でもちょっと待って下さい。
この仕様が間違いなく開発効率を下げている。
意図しない挙動をフォローするための機能実装がとても非効率的です。

皆さん、特にC系統の言語に精通されている方にお聞きします。
スクリプト言語での開発効率に関して、
普段意識的に実装されているロジックとかありますでしょうか。
0002nobodyさん2007/04/26(木) 03:05:38ID:vplBaXEV
お前はPHPを選ぶべきではなかったな。終了。
0003nobodyさん2007/04/26(木) 03:40:57ID:???
スレタイと>>1の各段落との関連性が互いにすべて薄い件について
0004nobodyさん2007/04/26(木) 10:29:28ID:???
結局PHPで作る物は一回限りの書き捨てが多いので
メソッドの引数のタイプをいちいちチェックして、他の誰かが使ったり、
また再利用したりするときに備えるなんてことはそれほど重要じゃないことに気がついた。

メソッドどうしが互いにバンバン依存しあってても気にしない。
間違った呼び出しかたでメソッドを呼んでるコードがあったら、
メソッドの方を書き換える勢いで行けばいいよ、動けば良いのだから。

これはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
Railsだって一見きれいだけど、なかみはガチガチの密結合だしね。
0005nobodyさん2007/04/26(木) 18:48:41ID:???
perlならともかく、phpで作るものって
普通一回限りの書き捨てよりも
ウェブアプリの方が多くないか?

> れはPHPが悪いって訳じゃなく、動的型付けのスクリプト言語はそういう性格のものだってだけのこと。
いや、悪いのはPHPでも、動的型付けのスクリプト言語でもなく、
そういうコードを書くプログラマ。
0006nobodyさん2007/04/26(木) 19:37:20ID:???
物に寄るわな
ちょっとDB繋いで情報表示するだけの告知ページやら、メールフォーム系で微妙に違うものいくつも作るときとかではphpで書き捨てる
がつがつ使い回す状態想定する時にphp採用したいかっていうと・・それもケース次第だな

うちだとあんま規模大きいのだと、phpは選定対象から外れがちだなー
だからって人材配置考えると、JAVAがいいとかRubyで行くぜとか一概に言えるもんでもないし

あー、なによ一言で言うと結局「場合次第」かよ
ゴミカキコ氏ねよ俺
0007nobodyさん2007/04/26(木) 20:19:05ID:???
>>5
PHPでウェブアプリを作るとき、フレームワーク以外の自作ビジネスロジックを使い回す事ある?
汎用掲示板機能クラスとかみたいな感じで
0008nobodyさん2007/04/26(木) 23:47:30ID:???
他の言語が出来る(あるいは出来るPGを集めることが出来る)なら、PHPを選ぶ理由はない。
0009nobodyさん2007/04/27(金) 07:09:45ID:???
rubyはメモリを多く食います
0010nobodyさん2007/04/27(金) 07:52:00ID:???
Cみたいにコンパイルが-Wallで通ればそこそこ動くという事が無いので、
PHPでもRubyでも自動テストはちゃんと書く事にしてる。
自動テストが通る == -Wallで警告無しでビルド出来る
という認識。

あと、ヘッダファイルだけみりゃ何やっててどう呼ぶかが大体わかるということもないので
関数の中身を読まなきゃやってることを理解出来ないことが比較的多い。
これには面倒でもコメントをちゃんとつけるくらいの対応しかないね。
0011nobodyさん2007/04/27(金) 11:01:38ID:???
趣味でサービスサイト作ってるけど、テスト作れる人に憧れる
できたほうが絶対によいとはわかっていながらずるずる勉強先延ばしだ
0012nobodyさん2007/04/27(金) 12:23:17ID:???
CとかJavaとか使えるけど、使い捨てと割り切ってスクリプト言語使う香具師と、
精一杯がんばってphpとかのスクリプト言語がすべてって香具師では、スクリプトの品質が異なっていて当然。

プロジェクトで悩ましいのは、そういう混在したスキルの香具師のモチベーションを維持させ続けるレベルを設定できるか。
理想論だと実力のある香具師はモチベーション高まるけど、下の方は落ちこぼれる。
妥協論だと、下の方は付いて来れるけど、実力のある香具師はモチベーション維持できずに逃げ出す。
0013nobodyさん2007/04/27(金) 22:09:46ID:???
サブルーチンとかメソッドだけ巧いこと書いとけばぉk
0014nobodyさん2007/05/05(土) 01:30:39ID:YkQ5N4PI
>>1
> 意図しない挙動をフォローするための機能実装
が大変という時点で、少なくともWEBアプリ系のシステム規模では言語関係なく腐ってます。

データの入り口をきっちり処理することを前提にするなら、後は内部コードが腐ってるだけの
ことじゃないですか。PHPならassertもあるし、それ以上の何が必要か正直わからない。
0015nobodyさん2007/05/05(土) 05:02:19ID:???
とりあえず、PHPはセッションとPOST GETリクエストから変数取ってくる事ぐらい
分ってれば十分なので、さっさと他の言語に移る事をおすすめする
0016nobodyさん2007/05/05(土) 05:08:53ID:???
あっ、あとSQLを実行した結果を連想配列にいれられるところもだな
0017nobodyさん2007/05/05(土) 05:22:30ID:???
テストになれてくると、テストやらないと逆に後で面倒な
ことになるのが恐くなるな

http://www.phpunit.de/pocket_guide/2.3/ja/index.html
0018nobodyさん2007/05/05(土) 13:32:05ID:???
>>1
>この仕様が間違いなく開発効率を下げている。 
って例えば?
0019nobodyさん2007/05/05(土) 18:14:11ID:???
>>15
それプラス、困ったらprint_r()だ。これでPHPのマスター完了。
0020nobodyさん2007/05/05(土) 18:23:12ID:???
print_r()より、var_dump()のがいい。
0021nobodyさん2007/05/11(金) 14:57:43ID:???
>>18
すぐ下にあるように、変数がなんなのか知るためにいちいちprint_rが
必要な分、手間がかかるってことじゃないかな。

ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
バグの原因がわかるっていうことよくあるじゃん?
例えばCには類似の問題がトリッキーな書き方をしないかぎり無いでしょ?
全部の変数に型が決まってるわけだから。
0022nobodyさん2007/05/12(土) 14:56:57ID:???
> ほら、動きがおかしいプログラムの怪しい変数をprint_r()して、
> バグの原因がわかるっていうことよくあるじゃん?

Cでも怪しい変数をprintfしてバグの原因がわかることよくありますが?
0023nobodyさん2007/05/12(土) 18:48:24ID:???
PHPはスクリプト言語なのでコーディング時間が短くて済むというのはある意味
正しいが、デバッグの時間を考慮すると一概に効率がいいとはいえないな。
デバッグの事を考えるならMVCを分けて、テストを書いて、重複のあるコードを避けて
となるが、そういうプログラミングを行うならHTMLの中にプログラムが書けるPHPの
魅力半減だし、始めから簡素なPerlやRubyでフレームワーク使ったほうが良いんじゃ
ないかと思えてくる
0024nobodyさん2007/05/12(土) 21:34:51ID:???
適材適所と言う言葉を知らんと言うことで FA ?
0025nobodyさん2007/05/12(土) 23:02:17ID:???
PHPはソフトウェアの品質を高くするという目的には
適さない言語という事でFA?
0026nobodyさん2007/05/13(日) 07:18:20ID:???
>>25
規模と書き方に大きく依存すると思う。それは多分JavaでもRubyでも一緒。
Perlですら、十分に高品質なプログラムはあると思うが。

もっと言うならOSを落とす危険が常にあるようなC・C++みたいな言語は
最悪の「品質」のプログラムも「容易に」書けると思う。
0027nobodyさん2007/05/13(日) 08:49:43ID:???
>>24 を証明してくれてありがとう ⇒ >>25

>>26
> OSを落とす危険が常にある

それは、OSもしくはその設定に問題があるんじゃ...
0028nobodyさん2007/05/13(日) 10:24:36ID:???
PHPでデバッグが容易になるような書き方、
つまりオブジェクト指向を活用して、コードのあちこちに
ルーチンやデータが分散しないようにオブジェクトに
閉じ込めておく。そういう書き方をするとJAVAと同じような
冗長な書き方をしないといけないし、そこまでやるなら
JAVAと同じようにデータ型のチェックをコンパイル時に
してくれてもいいと思うのだが
0029nobodyさん2007/05/13(日) 10:32:23ID:???
PHPがレンタルサーバーなどでも簡単に運用できるJAVA目指すなら
かなり需要があると思うが、劣化Perlのような仕様をいつまでも引きずってる
せいで中途半端な言語に成り下がった。
0030nobodyさん2007/05/13(日) 10:40:27ID:???
>>28
そう思うなら Java 使ってれば?

>>29
> PHPがレンタルサーバーなどでも簡単に運用できるJAVA目指すなら

誰もそんなもん目指してませんが。
0031nobodyさん2007/05/13(日) 11:22:09ID:???
始めからPHP使うなという事で
このスレの結論でてしまいましたか
0032nobodyさん2007/05/13(日) 14:32:51ID:???
PerlをPHPなんかと一緒にするなよ。
PHPは変数の宣言が出来ず、スコープが関数単位。
だから、コードが汚くなって、ケアレスミスが増える。
いまどきPerlをuse strictなしで書く人はいないが、PHPはno strictで書くしかない。
その分、誰でもすぐになんとなく書けてしまえるけどな。
0033nobodyさん2007/05/13(日) 17:16:25ID:???
perlで済ませる様な一発処理ならphpとかのスクリプトでもメリット有るだろ。
でも業務システムとか大規模サイトとか堅牢さと処理能力を求められるのは、コンパイル言語じゃないと厳しい。

銀行の口座サイトが、ミクシのようにperlで設定ミスでスクリプト漏れたら痛いし。
0034nobodyさん2007/05/13(日) 18:26:30ID:???
>>32 は error_reporting() とかを知らんのだろうな...。
0035nobodyさん2007/05/13(日) 18:32:16ID:???
何、頓珍漢なこと言ってるんだか。
Javaはコンパイルが必要だからエンタープライジーなんじゃなくって、型チェックが出来るからエンタープライジーなんだよ。
PHPの場合、型の宣言どころか変数の宣言自体出来ないから話にならない。
$status_flg = false;
...
$status_flag = true;
...
if ($status_flg) {
...
}
↑最後のifが通らなくて、その理由がわからない。それがPHPクオリティ。
0036nobodyさん2007/05/13(日) 18:36:07ID:???
>>34はE_STRICTとuse strictが別物だと言う事を知らないんだろうな…。
0037nobodyさん2007/05/13(日) 21:52:13ID:???
>>35 は多分 error_reporting(E_ALL) を知らない。
いや、>>35は知ってるが、それを使わないのがPHPクオリティと言いたいのか。
それなら同意。

>>36 は俺にはよく分からないので詳しく。
・・・というか PHP の E_STRICT は多分ONではやってられない。
あまりに「非推奨」とか「廃止予定」とかが多すぎてPEARのライブラリすら使えない。
それもPHPクオリティ。
0038nobodyさん2007/05/13(日) 22:00:47ID:???
>>37
いや>>35はE_NOTICE がONでも通るだろ。よく読め。(PHPクオリティ?)

だからといって全ての変数に型宣言が必要とか言うのは掲示板スクリプト等程度
においては正直効率的とも可読性が高いとも思えない。
(明示的なキャストしまくりとか勘弁して)

やっぱり規模(と開発体制・人手の分散度合い)によるケースバイケース
でいいんじゃないか? ←ここでループ
0039nobodyさん2007/05/13(日) 22:43:36ID:???
型宣言というか、if ($obj->validData)みたいにオブジェクト指向を使えば、
実装のデータ型はカプセル化されるので問題ないと思うが、
しかしPHPのオブジェクト指向は書きづらいし、使いづらいよね。
0040nobodyさん2007/05/13(日) 22:45:00ID:???
if ($obj->validData())だった
0041nobodyさん2007/05/13(日) 23:18:39ID:???
if ($runtime->getStatus())
とかやって、もしクラスがgetStatusインタフェースを持って無かったとしても
使用してみないとエラーが出ないという恐さはあるか。
0042nobodyさん2007/05/13(日) 23:59:22ID:???
>>35
言いたいことはわかるし、間違ってるとは言わないけど、その手のタイプミス
にかかわるバグが処理系で摘出できないケースは頻度は少ないが Java にだっ
てある。

もちろん頻度が少ないと言うのは重要で、だから大規模なソフトウェアに PHP
より Java が適していると言いたいんだろうけど、ごちゃごちゃ書かなくても
>>24 で充分だろ?
0043nobodyさん2007/05/14(月) 05:18:28ID:???
変数は補完入力かコピペ入力をするから、
>>35 のようなミスが起きた記憶はほぼないな。

今となっては、変数宣言はあってもよかったなと思うけど。
設定で、変数宣言の必要なモードをつけてもいいと思う。
0044nobodyさん2007/05/14(月) 08:36:40ID:???
>>43
同意。
0045nobodyさん2007/05/14(月) 09:48:04ID:???
PHPの問題は、間違った引数の型でもメソッドを呼べるということだよなぁ。
で、デバッグに勘が必要になる。
自分だけが書いたのコードなら自分の思考パターンは大体わかるからいいけどさ。

まぁそのへんの融通が効くから書き飛ばすのには向いているとも言える。
上にあるように、間違った呼びかたをしてたら呼び出された先をさっさと直しちまえば良い。
アプリ全体の構造が頭の中で把握できる範囲ならこれで大抵はうまくいく。
0046nobodyさん2007/05/14(月) 12:09:34ID:???
ケースバイケースって言っても、Perlでuse strictしないで書くなんて、それこそ10行未満の使い捨てのスクリプトだけだよ。
PHPを使うケースって10行未満のスクリプト限定になっちゃうけど。
0047nobodyさん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使ってるから。
0048nobodyさん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()を見てません。アッザース。
0049nobodyさん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#からみれば
> アッザース
だな。目くそ、鼻くそを笑うとはまさにこのこと。
0050nobodyさん2007/05/14(月) 20:02:28ID:???
>>49
だな。>>47のも

use strict;
my $arg;

(以下略)

で通るし。だからケースバ(ry
0051nobodyさん2007/05/14(月) 21:47:50ID:???
>>46
> PHPを使うケースって10行未満のスクリプト限定になっちゃうけど。

君は、それでいいんじゃね。

俺はももう少したくさん書けるけどね。
0052nobodyさん2007/05/14(月) 22:04:49ID:???
PHPの最大の問題はブロックによるスコープの切り替えがないことなんだよな。
無名関数がないから他の言語だったらインラインでも書けることを、どうしても一時変数を使わないといけない。
で、その変数は関数全体で有効になるから、大事な変数と使い捨ての変数がごっちゃになってしまう。
↑と変数の宣言が出来ないこととあいまって、熟練者が書いてもあまり綺麗にならないし、初学者が書くと恐ろしく汚いコードになる。

0053nobodyさん2007/05/14(月) 22:08:15ID:???
PHPは要するにインスタントラーメンなんだよな。
システム開発産業としてみた場合のPHPのメリットは大きい。
メリットがあるからこそこれだけ流行してる。証明されてる。
確かにお湯かけるだけで作れて、少なくとも不味くて食えないってことはない。
しかし、インスタントラーメンばっかり作ってて、料理人とはいえないよね。
0054nobodyさん2007/05/14(月) 22:31:06ID:???
>>53
ってぇとPHP用フレームワークは有名店コラボのカップ麺?
0055nobodyさん2007/05/14(月) 22:33:27ID:???
実際の日常生活でも料理人が求められることってないだろ
普通は自炊なり家庭料理なりだ
インスタントラーメンで用が済むのに料理人が出張ってきたら困る
しかも料金高いし
0056nobodyさん2007/05/14(月) 23:06:41ID:???
インスタントラーメンだけ作ってても、客が来て儲かってれば
料理人だろ。

○○の言語じゃなきゃ駄目とか言ってる方が素人ぽくみえるぞ。
0057nobodyさん2007/05/14(月) 23:45:44ID:???
そうだな、言語が開発効率と無関係なら
アセンブラでウェブアプリ造れるよな
0058nobodyさん2007/05/15(火) 00:52:15ID:2gvjM0as
結論:Javaでメジャーなフレームワーク使うのが一番。
0059nobodyさん2007/05/16(水) 09:16:32ID:???
>>58
なんでそうなるんだw
0060nobodyさん2007/05/16(水) 11:53:34ID:???
徹底してルーチンやクラスを分けて
変数のスコープを数十行程度にする
そういう当たり前の事が簡単にできる
スクリプト言語がいいね。RubyとかPythonとか。
0061nobodyさん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に慣れた人間には耐えられないんじゃないかな。
0062612007/05/16(水) 22:09:01ID:???
ふつうのCやJavaだと
> ar.length()

ar.size()
なのかなと思う今日この頃。不勉強すんません。
0063nobodyさん2007/05/16(水) 23:22:32ID:???
Perlって実はかなり厳格なプログラミングを要求されるんだよね。スクリプト言語の中では。
Perl6ではよりその傾向が強まる。
0064nobodyさん2007/05/16(水) 23:59:40ID:???
以前のPerlがテキトー万歳だったんだよ
それだからこそ受け入れられてきたんだがそれゆえ5で崩壊した
use strictとかがある時点で変態
0065nobodyさん2007/05/17(木) 00:57:49ID:???
>>61
俺はまさにPHPでプログラム始めた人間だが、最近Cを使ってその辺は耐えられなかったことはないが、
「だからPHPとかPerlができたのか」とスゴく納得した。
0066nobodyさん2007/05/17(木) 02:00:22ID:???
Javaは冗長だけど注意深く使用すれば誰が読んでも内容が理解しやすい
コードを書きやすいので、一概に悪いとは思わないな。
0067nobodyさん2007/05/17(木) 09:24:14ID:???
そんなこと言ったらたいていの言語は読みやすいように書くことはできるよ
無限の時間とリソースが使えればな

それを極力圧縮するできるがどうかが「便利」の要だろ
0068nobodyさん2007/05/17(木) 09:46:16ID:???
Rubyも読みやすい書きやすいっていうけど、リフレクションを多用すると
恐ろしいことになるからなぁ。

リフレクションみたいに、静的な型なんてクソクラエみたいな書き方は、
なかなか強力で、使いどころを間違えなければたしかに書くときの効率はかなり上がるけど、
一方乱発するとメンテの効率をいちじるしく落とすね。
0069nobodyさん2007/05/17(木) 23:17:38ID:kV8X1K3f
型付けの弱い言語はバグの温床
0070nobodyさん2007/05/17(木) 23:33:56ID:???
>>69 型付けが弱い云々というよりは文化じゃないのかなと。

PHPならそれ3日でできますよ。フレームワークなんていりませんよ。て
べたべたべたべた書いて動いちゃう、それでいいやって仕事が多く、そんな
ソースを槍玉にあげてもなぁ、という気もする。そりゃ手を加えるほどに
バグも入るさ。安さ速さ最優先なんだから。

PHPの問題は言語仕様そのものというよりその使われ方だろう。
またそういう書き方でやってきた人間が、ある程度以上でかいもしくは
業務処理系のものまで上記の延長でPHPで作ろうとするから、言語の(糞)
仕様まで問題になるんだと思う。

perl, ruby, python なんかはまだツールとしての用途があるから違う文化が
あるのかもしれないが、PHPはもうwebしかないから、もともとやばい言語仕様
なのにそのままでフレームワークとかオブジェクト指向の整備とか大型化の
方向でどんどん泥沼にはまってるような気がする。
0071nobodyさん2007/05/17(木) 23:41:17ID:???
PHPにはちいたんがある
0072nobodyさん2007/05/17(木) 23:44:19ID:???
なんのためにプログラムがあるのか勘違いしてないか?おまえら
0073nobodyさん2007/05/18(金) 00:42:32ID:???
プログラミング言語はプログラム作成のために存在しておりますよ
思想体現の手段ではありませぬ
0074nobodyさん2007/05/18(金) 00:55:58ID:???
人間の思考つまり、思想に近いプログラム、
読みやすく書きやすいプログラムとも言えるな。
0075nobodyさん2007/05/18(金) 02:14:08ID:???
結果がよければあとは何でもいいじゃん。
自分の得意なもので結果だせればそれでいいでしょ。
批判ばっかりしてて神経質じゃねえのかプログラマーって
0076nobodyさん2007/05/18(金) 09:27:29ID:???
君の世界に客というものはいないのか
あるいは他の開発者でもいい
未来にそのプログラムを改修する自分でもいい
誰か他者は介在してないのか
0077nobodyさん2007/05/18(金) 22:31:30ID:???
ヒント:ニートの耳年増
0078nobodyさん2007/05/18(金) 23:23:18ID:???
>>69
php で色々組んでるけど、型関係でバグったことは使い初めの頃の
勘違いしかない。

処理系に型の間違いのチェックアウト能力がないのは確かだけど、
そもそもそんな間違いをぼろぼろやるプログラマは他のところでも
バグってる可能性が高い。
0079nobodyさん2007/05/18(金) 23:46:40ID:???
さー、自称天才PHPプログラマーが登場しましたよ
0080nobodyさん2007/05/18(金) 23:48:49ID:???
>>78
>バグってる可能性が高い。
まぁ、そうだな。69みたいな知ったかな書き方する奴はたいていどの言語でもバグ出す。
0081nobodyさん2007/05/19(土) 00:37:00ID:Scwv46iZ
そのさー、バグを出す/出さないをプログラマの能力依存にしないための方策の一つが、
強い型付けなんだが…。
0082nobodyさん2007/05/19(土) 00:50:11ID:???
ならバグを出さなけりゃ型の概念要らないって事だね
0083nobodyさん2007/05/19(土) 01:15:25ID:???
バリアント!バリアント!
0084nobodyさん2007/05/19(土) 02:34:19ID:???
コンパイラーが型チェックしてくれるので、単純なバグはそれだけでつぶせる。単純なミスをまったくしないプログラマーには不要な機能かもしれないが。
0085nobodyさん2007/05/19(土) 10:22:57ID:???
バグをださないように慎重に行うプログラミング、
バグが出てからバグを潰していくプログラミング、
どっちが効率がいいかってどこかで見たな
0086782007/05/19(土) 10:28:34ID:???
>>81, >>84
いや、型のチェックアウトができることによるバグ検出能力にケチつける気はないけど、
強い型付けによる不便さもあるわけだから、トレードオフでしょ?
0087nobodyさん2007/05/19(土) 10:30:06ID:???
>>85

それきいてFreeBSDとWindowが頭にうかんできた
0088nobodyさん2007/05/19(土) 13:24:42ID:???
コンパイラによる型チェックが不便とか言ってるのは素人だけだろ?
後はMCでない、ぬるい仕事しかした事のない歳だけ食った自称ベテラン。
0089nobodyさん2007/05/19(土) 14:17:53ID:???
>>88
ゆとりまっしぐらな俺でも「変数の宣言いらないよ!」「型が柔軟だよ!」な謳い文句に気持ち悪さしか感じない
使い捨ての変数をバカみたいに量産する糞スクリプトしか書けないのか?って思う
0090782007/05/19(土) 15:52:07ID:???
>>88-89
また、適材適所を知らないアフォが沸いてきたよ。(w
0091nobodyさん2007/05/19(土) 16:13:18ID:???
>>90
バカの一つ覚え乙
0092782007/05/19(土) 19:13:22ID:???
その一つすら覚えられないの? (w
0093nobodyさん2007/05/19(土) 23:03:22ID:???
>>91
いや、それが全てだろ。だから何回で(ry

まあそれぞれの適所を(実際に使わずに)理解するためには、こういうスレは
いいと思うがな。
0094nobodyさん2007/05/20(日) 01:13:32ID:???
適す範囲が著しく狭い物や、どこにも適さない物もあるでしょう
ホント思考が極端だな
0095782007/05/20(日) 09:01:59ID:???
そりゃあるだろうけど、このスレと何の関係があるんだ?

具体的に指摘できないなら、自分の日記帳にでも書いたほうがいいよ。
0096nobodyさん2007/05/20(日) 11:08:22ID:???
>>94
> どこにも適さない物もあるでしょう

つまり存在意義のかけらもない言語?これは言い切る自信はないなぁ。
(強いて言うならMSのJ#みたいな?)
0097nobodyさん2007/05/20(日) 14:53:05ID:???
動的な型と静的な型の長所短所はあるけど、(もっともRubyの松本なんかは動的な型で決まりって言ってるけど)、
動的な型付けでかつ変数の宣言ミスをコンパイラーがチェックしてくれるPerlはかなり理想的だな。
PHPの場合、型が動的なのに加えて、ブロックによるスコープのコントロールが利かないこと、
変数が1種類しかないこと(Perlでいうところの@arrや%hashがなく、$arr/$hash)、
名前空間がないこと(まあ、パッケージ変数の代わりにクラス変数を使うんだけど、パッケージがないので今度はクラスの管理が難しくなる)
これらが組み合わさって、汚いコードを書くことを強制されるというか。ゆえにバグを誘発する。
0098nobodyさん2007/05/20(日) 15:01:04ID:???
>>95
具体的に指摘できていないのは適材適所適材適所言ってる奴も同じだろ
0099nobodyさん2007/05/20(日) 15:18:11ID:???
>>97>>48と同一人物
Perlのオナニーは自分のブログでやれ
じゃないと>>48とおなじようにやり返されて恥かくだけ
0100nobodyさん2007/05/20(日) 16:45:48ID:???
PHPの有利なとこは、mod_phpが簡単にインストールできてそこそこ速いこと。
すぐに覚えられるので、人員の確保がしやすいこと。
これ以外の、言語仕様で優れてるところがあるなら教えて欲しいんだけど。
0101nobodyさん2007/05/20(日) 16:52:13ID:???
ちなみにRubyの松本はいろんな記事で型チェックの有用性は認めている。動的な型つけと型チェックは別問題だからね。
0102nobodyさん2007/05/20(日) 16:57:45ID:???
型は指定しなくてもいいが、指定すればチェックが働くようなのがいいんじゃない。
ActionScriptがそんな感じで、うまくやってるような気がするが。
0103782007/05/20(日) 18:04:35ID:???
>>98
例えば >>61 のようにいくつか書かれてた思うけど、理解できてないと言うことですか?

>>101-101
そうだね。

・変数の型が 静的 / 動的
・型のチェックが コンパイル (もしくは実行開始) 時 / 実行時
・変数宣言の 要 / 不要
・変数のチェックが コンパイル時 / 実行時

は別物。(もちろん、動的な型を持つ言語はコンパイル時に完全に型チェックができない
と言うような制限はある。)

VB なんかは、指定しないと型なし (Variant) になるし、指定すればそれなりにコンパ
イル時チェックができるので、結構うまくできてたと思う。
0104nobodyさん2007/05/21(月) 09:54:37ID:???
動的型付け言語のプログラムを読んでて肩が凝るのは、
関数の動きを理解するのにコンテクストの理解を要求するんだよなぁ。
出入口がしっかり定義されていないから、関数が独立せず外部の知識前提で書かれてることが多い。

で、言語やフレームワークごとの流儀とか、書いた人間のクセなどを読む勘みたいなものが
必要になってくる。
これは難しいものではまったく無いけど、C育ちなどではリハビリがいることもある。
Rubyで自前型チェックを"精神安定のために"って言いつつ全公開メソッドに追加してる奴を見たことがあるよ。

0105nobodyさん2007/05/21(月) 19:30:32ID:???
>>48>>97の素性が判明しました
http://blog.livedoor.jp/dankogai/archives/50835571.html
0106782007/05/21(月) 22:21:20ID:???
> 出入口がしっかり定義されていないから

動的型付けと何の関係もないと思うが...。
0107nobodyさん2007/05/22(火) 00:17:39ID:???
タイプヒンティングのことだろ。
0108nobodyさん2007/05/22(火) 22:45:41ID:???
ああそういうことか。

でも、だからと言って

> 関数が独立せず外部の知識前提で書かれてることが多い。

と言うのは、単なる偏見かと。
0109nobodyさん2007/05/27(日) 16:21:22ID:???
スプリプト言語自体も、スクリプト言語で大規模サイト作ってる香具師も馬鹿だとよくわかるスレ。
パールでサイトつくちゃったミクシとかゴミだよな。

本当に正しい動きするかより、エラー出ずに動けばおkレベルだろ?
0110nobodyさん2007/05/27(日) 17:58:49ID:???
これはまた、まずそうな釣り餌だな。
0111nobodyさん2007/06/03(日) 00:36:37ID:???
まあスクリプト言語じゃ大規模サイトは無理なのは事実。
0112nobodyさん2007/06/03(日) 02:40:10ID:???
ユニットテストをやればイインダヨー
0113nobodyさん2007/06/03(日) 23:52:47ID:???
>>111
Amazonやlivedoorは大規模とはいわんのかな。
校正するなら、
誤)まあスクリプト言語じゃ大規模サイトは無理なのは事実。
正)まあスクリプト言語「だけ」じゃ大規模サイトは無理なのは事実。
くらいか。だから適材適所と何回言えば(ry
0114nobodyさん2007/06/09(土) 09:01:49ID:???
>Amazonやlivedoorは大規模とはいわんのかな。

DocomoのCiRCUS位でないと大規模とは言わないな…。
0115nobodyさん2007/06/09(土) 12:10:05ID:???
Circusでググってもエロゲしかヒットしない件
0116nobodyさん2007/06/13(水) 00:19:39ID:???
DoCoMo CIRCUSでググれば一発だな。
0117nobodyさん2007/06/15(金) 02:53:21ID:???
ユニットテストだけでバグが無くなると思ったら大間違い。
とコードコンプリートに書いてあったのの受け売り。
0118nobodyさん2007/06/16(土) 18:53:00ID:???
糞PGが一人でもまぎれこんでいればバグがある。
早く国家資格持ってない香具師はプログラム組めないようにしてしまえと思う。
トラフグ調理免許とかジャンボジェット運転許可証とかみたいに。
0119nobodyさん2007/06/30(土) 01:36:19ID:???
>>114
ものすごい亀だが、それってインフラじゃないのか?
0120nobodyさん2007/07/06(金) 04:22:46ID:???
スクリプト言語に文句いってるレベルのやつはスクリプト言語でできないプロジェクトにはめぐりあえないだろうな、レベル低すぎて。
0121nobodyさん2007/07/11(水) 18:34:24ID:???
そらそうだ。単なる利用者だし。

低レベル層の開発関わってる人も上澄み扱うプロジェクトには関わりにくい訳で。
0122nobodyさん2007/08/20(月) 21:38:56ID:???
>>120
同感

動的型付けの「お気楽さ」が心地よいよ〜
0123r5452008/07/08(火) 00:08:51ID:ywt4R5D2
すいません。。質問させてください。

webアプリ作成において、スクリプト言語が使われる理由って何ですか?

詳しく教えてください。。機械誤変換がなく、比較的簡単に作成出来るって
ことまでしかしらないので。。よろしくお願いします。
0124nobodyさん2008/07/08(火) 00:52:28ID:???
・Web だと、通常あまり厳しい性能を求められない
・文字列処理が多い
・仕様変更が多い

ぐらいかな。
0125r5452008/07/08(火) 01:14:00ID:ywt4R5D2
nobodyさん>

Web だと、通常あまり厳しい性能を求められない っていうのは、たいしたアプリは
作れないってことですか??大規模な、システムはやはりJavaですか。

・文字列処理が多い
・仕様変更が多い
っていうのはつまり??初心者ですいません。。
0126nobodyさん2008/07/08(火) 07:00:28ID:???
お前にゃプログラミングは3年早いよ
0127nobodyさん2009/01/01(木) 16:45:51ID:???
・・・
0128nobodyさん2009/02/22(日) 22:43:48ID://7Dlz4Z
ソフトウェア開発には、しばしば交わっているがたいていは分かれている、
5つの世界がある。

その5つとは:

1.パッケージ
2.インターナル
3.組み込み
4.ゲーム
5.使い捨て

スクリプト言語の得意分野は、5.
0129nobodyさん2009/03/05(木) 18:54:55ID:???
しょっちゅうバグまみれでシステム落ちても文句言えない用途でしか使えないしなあ。
セキュリティ上もスクリプト言語は改変し易いので不利。
0130nobodyさん2009/05/25(月) 06:47:24ID:???
すげぇな。まだ動的言語にあれこれ文句言ってる奴居るのかwww
0131nobodyさん2009/05/26(火) 07:32:56ID:???
アセンブラが改変出来なくて最強。
0132nobodyさん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ンヽ/ムノじ
0133 忍法帖【Lv=40,xxxPT】(1+0:8) 【15.9m】 電脳プリオン ◆3YKmpu7JR7Ic 2012/11/23(金) 19:55:04.23ID:????PLT(12079)
スクリプト言語あまり使わない
■ このスレッドは過去ログ倉庫に格納されています