私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 77
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
開発者人数が多い、という意味で大規模な開発の場合、静的型付け言語の方が圧倒的にやりやすい。
となると、実際問題Java一択になるわけだ。
PHPで開発してもJavaっぽい書き方になる事が多いので、PHPのメリットが活かせないし。
捌くリクエスト数が多い、という意味で大規模ならば、実行速度の面でやや不向き。
だけど、これははっきり言って誤差の範囲。DB方面とかUIの出来のほうがよほど影響が大きい。
ひたすらに画面数が多く、しかも互いに独立性が高い場合、phpはむしろ向いている。
となると、実際問題Java一択になるわけだ。
PHPで開発してもJavaっぽい書き方になる事が多いので、PHPのメリットが活かせないし。
捌くリクエスト数が多い、という意味で大規模ならば、実行速度の面でやや不向き。
だけど、これははっきり言って誤差の範囲。DB方面とかUIの出来のほうがよほど影響が大きい。
ひたすらに画面数が多く、しかも互いに独立性が高い場合、phpはむしろ向いている。
>>603
if(!---){
return エラー処理A();
]
if (!---) {
return エラー処理B();
}
if (!---) {
return エラー処理C();
}
if(---){
return 通常処理A();
}else{
return 通常処理B();
}
ファウラーの『リファクタリング』「ガード節の導入」を参照。
即returnしちゃまずいっていうなら、即returnできるような形に処理を関数として切り出しておく。
こういう処理を振り分ける部分には、実際の処理内容は一切書かず、こういう風に判定ロジックだけを残したほうが見通しがスッキリする。
意味が分からなくとも、「ifの論理判定を逆転すれば、エラー処理を先に、通常処理を後に書ける」ってのは便利。
可読性が若干落ちるが、エラー処理って大抵数行で終わるしな。
最初のifに対応するelseが1画面に収まる範囲内に無いと、可読性が急激に落ちる。
if(!---){
return エラー処理A();
]
if (!---) {
return エラー処理B();
}
if (!---) {
return エラー処理C();
}
if(---){
return 通常処理A();
}else{
return 通常処理B();
}
ファウラーの『リファクタリング』「ガード節の導入」を参照。
即returnしちゃまずいっていうなら、即returnできるような形に処理を関数として切り出しておく。
こういう処理を振り分ける部分には、実際の処理内容は一切書かず、こういう風に判定ロジックだけを残したほうが見通しがスッキリする。
意味が分からなくとも、「ifの論理判定を逆転すれば、エラー処理を先に、通常処理を後に書ける」ってのは便利。
可読性が若干落ちるが、エラー処理って大抵数行で終わるしな。
最初のifに対応するelseが1画面に収まる範囲内に無いと、可読性が急激に落ちる。
みんな話が混乱しているから、俺が整理するけど。
web開発の現場で使われることがphpとJavaが多いのは、
技術者の数を確保しやすいため。
マイナー言語だと、募集しても集まらないし保守の時も困る。
大規模案件でphpよりJavaが多いのは、一言で言えば安全だから。
大規模ということは、関与する技術者も多い。そして得てして混交玉石。
その中で一定の質を上げるには、型チェックが厳しくコンパイルレベルでエラーが検出できるなどの
メリットがあるJavaの言語仕様の方が向いている。
処理速度については、処理を速くする機構を使えば、Javaもphpも体して変わりない。
総括すると、大規模な案件は単価が高い。単価が高いからみんなやりたがるし、競争も激しい。
よって、「全体として」Javaの技術者の方がphpのそれよりも単価が高いし、技術力も高い。
あくまで、これは一般論。
web開発の現場で使われることがphpとJavaが多いのは、
技術者の数を確保しやすいため。
マイナー言語だと、募集しても集まらないし保守の時も困る。
大規模案件でphpよりJavaが多いのは、一言で言えば安全だから。
大規模ということは、関与する技術者も多い。そして得てして混交玉石。
その中で一定の質を上げるには、型チェックが厳しくコンパイルレベルでエラーが検出できるなどの
メリットがあるJavaの言語仕様の方が向いている。
処理速度については、処理を速くする機構を使えば、Javaもphpも体して変わりない。
総括すると、大規模な案件は単価が高い。単価が高いからみんなやりたがるし、競争も激しい。
よって、「全体として」Javaの技術者の方がphpのそれよりも単価が高いし、技術力も高い。
あくまで、これは一般論。
>>661
Javaの人はしっかりしてる人が多いもんな。
V2Cの作者とか。
それに比べてphpはバカが多い
XOOPS CUBEやってるやつとか。
女性にストーカーして警察に呼び出されて
注意された連中って、あいつらくらいだろ?
Javaの人はしっかりしてる人が多いもんな。
V2Cの作者とか。
それに比べてphpはバカが多い
XOOPS CUBEやってるやつとか。
女性にストーカーして警察に呼び出されて
注意された連中って、あいつらくらいだろ?
>>662
Javaの大規模案件を一回やってみれば分かるよ。
型チェックがあることが、どんなに有り難いことか分かるから。
オブジェクト思考がない奴が開発に入ると、どうしてその型が使っているか分からずに、
型でまず苦労するが。
Javaの大規模案件を一回やってみれば分かるよ。
型チェックがあることが、どんなに有り難いことか分かるから。
オブジェクト思考がない奴が開発に入ると、どうしてその型が使っているか分からずに、
型でまず苦労するが。
昔からやってる人なら、
型あり言語としてC、
型なし言語としてBASIC
をやってるから、説明しなくても通じるんだけどねー
型あり言語としてC、
型なし言語としてBASIC
をやってるから、説明しなくても通じるんだけどねー
ついでに聞くけど、ネットワーク版で、
web屋は馬鹿でもできるけど、ネットワークエンジニアは馬鹿じゃできない、
っていっていたけど、何?
web屋だって馬鹿じゃできないでしょ。ネットワークエンジニアがweb屋より優れている点って何?
web屋は馬鹿でもできるけど、ネットワークエンジニアは馬鹿じゃできない、
っていっていたけど、何?
web屋だって馬鹿じゃできないでしょ。ネットワークエンジニアがweb屋より優れている点って何?
あいつらがWEB屋って言ったら
「インターフェースの画面作るだけの人」
くらいの意味で言ってる
「インターフェースの画面作るだけの人」
くらいの意味で言ってる
>662
一言で言うと、静的型付け言語の方がルールが多く、ルールに沿った書き方しかできないようになっているから、
たとえばPHPのような動的型付け言語は、ルールを無視してstringを要求する関数にarrayを渡したりできるわけだが、
静的型付け言語で同じ事をしようとすると、普通はコンパイル時、最悪でも実行時にエラーになる。つまりそういうルール違反が出来ない。
「こういう変数を渡しましょうね」とコメントに書くより、特定の型のオブジェクトしか受け取れないようにした方が確実だろ?
そういう、言語レベルで他人に何かを強制する仕組みは、Javaのような静的型付け言語の方が圧倒的に強力。
まあ、その代償として、Hello, worldを出力するのにクラスが必要、みたいな大仰な事になるのだが。
動的型付け言語と静的型付け言語のプロジェクトの効率は、
「コーディング規約」「ファイル名などの命名規則」がないプロジェクトとあるプロジェクトくらい差がある。
小規模なプロジェクトなら無いほうが効率がいいが、関わる人数が増えてくるとこの差は致命的に効いてくる。
一言で言うと、静的型付け言語の方がルールが多く、ルールに沿った書き方しかできないようになっているから、
たとえばPHPのような動的型付け言語は、ルールを無視してstringを要求する関数にarrayを渡したりできるわけだが、
静的型付け言語で同じ事をしようとすると、普通はコンパイル時、最悪でも実行時にエラーになる。つまりそういうルール違反が出来ない。
「こういう変数を渡しましょうね」とコメントに書くより、特定の型のオブジェクトしか受け取れないようにした方が確実だろ?
そういう、言語レベルで他人に何かを強制する仕組みは、Javaのような静的型付け言語の方が圧倒的に強力。
まあ、その代償として、Hello, worldを出力するのにクラスが必要、みたいな大仰な事になるのだが。
動的型付け言語と静的型付け言語のプロジェクトの効率は、
「コーディング規約」「ファイル名などの命名規則」がないプロジェクトとあるプロジェクトくらい差がある。
小規模なプロジェクトなら無いほうが効率がいいが、関わる人数が増えてくるとこの差は致命的に効いてくる。
わるい。
php5からサイトのヘッダーあたりが一発で取れる関数があったはずだが
なんだっけ?
php5からサイトのヘッダーあたりが一発で取れる関数があったはずだが
なんだっけ?
頑張ってJava勉強したけど、PHPを新たにやらなきゃいけなくなった奴が
発狂してんのか?
発狂してんのか?
>>673
PHPにだってタイプヒンティングがあるのでは?
PHPにだってタイプヒンティングがあるのでは?
>676
ちなみに俺は>656=>673。>661は別の人。
タイプヒンティングは本質的に「静的型付け言語っぽい考え方」なんだよ。
だから、そういう方向に進んでも「静的型付け言語の劣化版」にしかならない。
そもそも、どんな型でも渡せる、型に縛られないというのが動的型付け言語の強み。
タイプヒンティングの考え方は、その強みを消してしまう。
たとえばPHP6では戻り値のタイプヒンティングが有効になるのだが、開発者はこれを「It's not PHP way」と断言している。
できないとは言っていない。>656でも書いたが、あくまで「(言語として)向いていない」っていうのが俺の主張。
Javaが依存性注入とかチマチマやってる中、動的型付け言語はダックタイピングで型に縛られない書き方が出来るし、動的にクラスを生成する事だって自由自在。
それはそれで強み。それで開発効率が上がる事だって多いし、自分ひとりならその方が快適。
だけど、その柔軟性が足かせになる事だってある、って話。
ま、開発言語が自由に選べるなんて幻想だけどな。俺も32bitOSじゃ扱えない額扱うPHPシステム開発やった事あるし。
ちなみに俺は>656=>673。>661は別の人。
タイプヒンティングは本質的に「静的型付け言語っぽい考え方」なんだよ。
だから、そういう方向に進んでも「静的型付け言語の劣化版」にしかならない。
そもそも、どんな型でも渡せる、型に縛られないというのが動的型付け言語の強み。
タイプヒンティングの考え方は、その強みを消してしまう。
たとえばPHP6では戻り値のタイプヒンティングが有効になるのだが、開発者はこれを「It's not PHP way」と断言している。
できないとは言っていない。>656でも書いたが、あくまで「(言語として)向いていない」っていうのが俺の主張。
Javaが依存性注入とかチマチマやってる中、動的型付け言語はダックタイピングで型に縛られない書き方が出来るし、動的にクラスを生成する事だって自由自在。
それはそれで強み。それで開発効率が上がる事だって多いし、自分ひとりならその方が快適。
だけど、その柔軟性が足かせになる事だってある、って話。
ま、開発言語が自由に選べるなんて幻想だけどな。俺も32bitOSじゃ扱えない額扱うPHPシステム開発やった事あるし。
なんでPHPでも静的型付け言語と同じことができるのにJAVAのほうが強力なの?
どちらもできるんなら用途に応じて使い分ければいいじゃん
どちらもできるんなら用途に応じて使い分ければいいじゃん
動的型付けて単なるスクリプトのことだろ?rubyはチーム作業できにくいのかよ。しんだほうがいいよ
>>680
君のような短絡思考の奴が一番チーム作業ができにくいw
君のような短絡思考の奴が一番チーム作業ができにくいw
>>682
ど偉そうに聞いていいスレへ
ど偉そうに聞いていいスレへ
>679
2行目には同意。
そもそも、静的型付けってのはできる事を制限する思想だから、「できる事が多い」は別にメリットではない。
という前提で。宗教論争になるから機能比較はしたくないんだが。
・引数の型によって同名の別関数を呼ぶ、という事ができない。
同様に、引数の数だけが違う同名の関数を定義できない。
・整数をタイプヒントに使用できない。
これは早晩解決されるだろうが。
・配列などの宣言時に、中に入る型を指定できない。
・そもそも実行時までタイプヒントに違反している事を検出できない(関数がどの型を返すか明示できないため)。
PHPしか触れてない奴にも容易に想像が付くものだとこの程度。
総じて「型があるからこそ使える便利な機能」は抜け落ちている傾向がある。
これは言語仕様として型を動的に扱う以上、埋めようがない差異。埋めたら別言語になってしまうし、性能がガタ落ちする。
恐らくこういうのが「It's not PHP way.」という発言の真意だろう。
型を使ってプログラマを制約するのは、PHPの得意分野ではないし、PHPの目指す方向でもない。
2行目には同意。
そもそも、静的型付けってのはできる事を制限する思想だから、「できる事が多い」は別にメリットではない。
という前提で。宗教論争になるから機能比較はしたくないんだが。
・引数の型によって同名の別関数を呼ぶ、という事ができない。
同様に、引数の数だけが違う同名の関数を定義できない。
・整数をタイプヒントに使用できない。
これは早晩解決されるだろうが。
・配列などの宣言時に、中に入る型を指定できない。
・そもそも実行時までタイプヒントに違反している事を検出できない(関数がどの型を返すか明示できないため)。
PHPしか触れてない奴にも容易に想像が付くものだとこの程度。
総じて「型があるからこそ使える便利な機能」は抜け落ちている傾向がある。
これは言語仕様として型を動的に扱う以上、埋めようがない差異。埋めたら別言語になってしまうし、性能がガタ落ちする。
恐らくこういうのが「It's not PHP way.」という発言の真意だろう。
型を使ってプログラマを制約するのは、PHPの得意分野ではないし、PHPの目指す方向でもない。
>>679
強力という言葉が果たして合うかはわからないが信頼性は高いよ
静的型付けはコンパイル時と実行時の2回チェックが行われる
対して動的型付けは実行しないと問題点がわからない
もう1つ静的型付けにすることによって最適化が図れる
型の定義というのはメモリの確保であるから
書き手が意識して書くことができる
強力という言葉が果たして合うかはわからないが信頼性は高いよ
静的型付けはコンパイル時と実行時の2回チェックが行われる
対して動的型付けは実行しないと問題点がわからない
もう1つ静的型付けにすることによって最適化が図れる
型の定義というのはメモリの確保であるから
書き手が意識して書くことができる
> 型を使ってプログラマを制約するのは、PHPの得意分野ではないし、PHPの目指す方向でもない。
目指す方向について詳しく。
目指す方向について詳しく。
> 型の制約から開放されたという点で明らかにPHPのほうが優れていると思うんだが
どういう観点から明らかなの?
どういう観点から明らかなの?
>>685
PHPも最適化されますが何か
PHPも最適化されますが何か
そろそろいいかな?
初心者がしつもんできなくなるだろうから
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
初心者がしつもんできなくなるだろうから
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
>>ヤフーの人
なるほどある程度の大規模システムでもphpでパフォーマンスを損なう事無く
構築する事は可能なんですね。
ヤフー関連のWEBシステムでそんなに思いと感じる事は無いですしね。
>>java と phpを比較して解説してくれた人
@ITのなんちゃって記事を書いている人より分かり易かったです。
それはそうと、自分は.NETマンセーな人間なので、個人的にはWEBシステムは
ASP.net一本にしてくれればなぁ、と思ってます。
まぁ、WEB系+クラサバも全て.NET一本にしてしまえば色々とメリットがあると思うんですけどね。
俺の好きな言語の順序
ASP.net >> php >> Java
なるほどある程度の大規模システムでもphpでパフォーマンスを損なう事無く
構築する事は可能なんですね。
ヤフー関連のWEBシステムでそんなに思いと感じる事は無いですしね。
>>java と phpを比較して解説してくれた人
@ITのなんちゃって記事を書いている人より分かり易かったです。
それはそうと、自分は.NETマンセーな人間なので、個人的にはWEBシステムは
ASP.net一本にしてくれればなぁ、と思ってます。
まぁ、WEB系+クラサバも全て.NET一本にしてしまえば色々とメリットがあると思うんですけどね。
俺の好きな言語の順序
ASP.net >> php >> Java
ASP.netのいいとこってどこら辺なん?
環境構築にもコード書くにもやたら面倒そうな印象だったんだが
環境構築にもコード書くにもやたら面倒そうな印象だったんだが
>>697
だから例えばどんな風に?
だから例えばどんな風に?
昨日からPHP5を始めた者です。くだらない質問をさせていただきま。
if($hen != "")ってあるんですけど、これって=の時?それとも=で無い時?どっち?
!って良く解らないです。ビックリしてるわけじゃないと思いますが。
if($hen != "")ってあるんですけど、これって=の時?それとも=で無い時?どっち?
!って良く解らないです。ビックリしてるわけじゃないと思いますが。
>>699
びっくりだよ
びっくりだよ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 97 (1001) - [98%] - 2010/9/18 2:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 74 (1001) - [98%] - 2008/10/16 6:05
- 【PHP】下らねぇ質問はID出して書き込みやがれ 87 (1001) - [98%] - 2009/9/15 18:32
- 【PHP】下らねぇ質問はID出して書き込みやがれ 75 (1001) - [98%] - 2008/11/13 21:31 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 76 (1001) - [98%] - 2008/12/6 22:36 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 78 (1001) - [98%] - 2009/1/13 21:32 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 79 (1001) - [98%] - 2009/2/1 0:33 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [96%] - 2023/1/30 18:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 117 (1001) - [96%] - 2012/4/23 19:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 107 (1001) - [96%] - 2011/7/2 2:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 127 (1001) - [96%] - 2013/5/26 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 93 (1001) - [96%] - 2010/3/16 4:25
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [96%] - 2009/4/6 19:33
- 【PHP】下らねぇ質問はID出して書き込みやがれ 83 (1001) - [96%] - 2009/4/27 3:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 80 (1001) - [96%] - 2009/2/18 6:30 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 94 (1001) - [96%] - 2010/4/20 19:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 84 (1001) - [96%] - 2009/6/15 21:04 ○
トップメニューへ / →のくす牧場書庫について