トップページtech
981コメント306KB

PHPがいかに駄目言語であるかをちゃんと説明

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/11/15(金) 20:57:08.46
age推奨で

他の言語と比較しながら、具体的にちゃんと説明してください!
0362デフォルトの名無しさん2014/01/26(日) 09:51:53.61
>>361
end end end って、割と起きないと思うけどな
まあそもそも、それで耐えられん理由もよー分からんが
0363デフォルトの名無しさん2014/01/26(日) 09:58:30.21
>>362
いや、実際黙って耐えるけどさw
}}}で済むのに面倒だなーと
0364デフォルトの名無しさん2014/01/26(日) 10:04:16.86
>>363
環境によっては自動で補完されるよ、俺は自分で書く方が好きだけれども
まあ、LISP系のコーディング規約みたく、1行に閉じ括弧纏めたいって話なら流石に仕方ないが
0365デフォルトの名無しさん2014/01/26(日) 11:01:52.02
>>360
>言語仕様1日かけて読めば、ペチパーってバカにされる理由が分かる

こういうふうに抽象的に煽るだけで具体例を書かない人は何erであってもエンジニアとしてバカにされます
0366デフォルトの名無しさん2014/01/26(日) 14:14:40.30
>>353
慌ててネットで検索してクエリ式でLinq使ってるのみたんだろうけど、LinqとORMは関係ないから
0367デフォルトの名無しさん2014/01/26(日) 14:32:38.79
Linq楽だけど遅いぞ
スクリプト言語ならともかくWindowsアプリ開発しようっていうC#であれは許容されるのか?
あっちの文化はよく分からんけど、性能が必要ならVC++使えって住み分けなのかね?
0368デフォルトの名無しさん2014/01/26(日) 15:42:20.77
そもそもWindowsじゃアプリに性能とかあんま求められてないよ
何故かハードウェアのほうの性能あげればいい、ってのがまかり通っちゃう世界だし
0369デフォルトの名無しさん2014/01/26(日) 15:57:44.40
というかWindows関係なくね?

それって、同じコストをかけるのであれば、開発時間を長くするか
性能が高いハードウェアを買うかって話でしょ?
極端に言えば、アセンブラで書くか高級言語で書くかって話。

ハードウェアの性能を上げれば、アプリのすべての部分の性能が上がる。
でもアプリの性能をあげようと思っても、局所的にしか上がらないし
結果もすぐには見えてこないよね?
0370デフォルトの名無しさん2014/01/26(日) 16:00:39.22
死ねゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0371デフォルトの名無しさん2014/01/26(日) 17:06:40.06
>>360
「やっとく」って何?
何かつくれってこと?
0372デフォルトの名無しさん2014/01/26(日) 23:58:46.38
Linqは遅延実行されるから多くの場合パフォーマンス的に有利
0373デフォルトの名無しさん2014/01/27(月) 00:15:56.14
    ,   ― ノ)
  γ γ‾   \
  |  / 从从) )   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ | | l  l |〃 < さくら恥ずかしぃよぉ〜
  `从ハ ‾ ーノ)   \________
    |ヽ `  \
    | ペ ノ  ノ\
    | // /'   )
    ( ノ ヾ / y  /
    ‘  / / /
      / イ (
     /  / | )
    ( /  /  /
    ‘uノ (__/∴∵
      ∵∴∵∴∵
        ∵∴∵
        ー--- '‾ ー─--'‾
0374デフォルトの名無しさん2014/01/27(月) 03:33:10.29
>>368
おまえが性能を求められるソフトウェアを書くような機会の与えられない三流以下なんだろ
0375デフォルトの名無しさん2014/01/27(月) 03:35:23.36
>>360
なんでわざわざPHPを使ってるかぐらい考えろ。死ね屑。
0376デフォルトの名無しさん2014/01/27(月) 14:37:24.39
考えるまでもなくPHPしか使えないからだ。死ね屑。
0377デフォルトの名無しさん2014/01/27(月) 17:40:07.53
ペチパー発狂
0378デフォルトの名無しさん2014/01/27(月) 18:42:30.53
PHPが駄目なのではない
PHPerが駄目なのだ
0379デフォルトの名無しさん2014/01/27(月) 19:27:10.85
PHPを笑うものはPHPに泣く
0380デフォルトの名無しさん2014/01/27(月) 19:32:21.31
スケーラブルに開発できる言語って実はPHPとcじゃないのか
0381デフォルトの名無しさん2014/01/27(月) 21:20:02.34
PHPをHTMLテンプレート言語だと思ってるやつ、いまだに腐るほどいるしな
実際はすでにサーバーサイド言語入りしてる
0382デフォルトの名無しさん2014/01/28(火) 00:05:45.99
>>381
結局、Webには変わらんから板違いなんだけどね
0383デフォルトの名無しさん2014/01/28(火) 02:07:51.25
CLI操作できるんだしこっちだよ
0384デフォルトの名無しさん2014/01/29(水) 08:33:09.30
結構スレが延びてて驚いたぞ

意外にも欠点がほとんど出てないな

LLの欠点のほうが多く出てるな
0385デフォルトの名無しさん2014/01/29(水) 08:45:40.15
よくできたPHPerは他から叩かれる欠点を(それが偏見で欠点でなくても)よく理解した上で活用してるからな
Rubyに比べてよく訓練されてる
0386デフォルトの名無しさん2014/01/29(水) 08:45:44.22
正規表現コンパイラに渡す文字列にデリミタが必要という不思議仕様
0387デフォルトの名無しさん2014/01/29(水) 09:21:14.91
オプション付くし
0388デフォルトの名無しさん2014/01/29(水) 13:42:59.10
何処で聞いていいかわかんないので, 取り敢えず聞いてみる
PHP の AST ってどっかに転がってないの?
0389デフォルトの名無しさん2014/01/29(水) 17:06:05.95
どういう意味かよく分からんがコンパイラが吐く
0390デフォルトの名無しさん2014/01/30(木) 01:07:54.97
symfony2とCakePHPって、どっちが使いやすいの?
多種多様なツールやフレームが依存してるsymfony2の方が御利益ありそうだけど、
CakePHPの方が素人にも分かりやすいように見えるのん
0391デフォルトの名無しさん2014/01/30(木) 03:25:21.90
検索してバンバン情報出るのがCake
よく分かってないくせにバンバン情報載せる奴がいるのもCake
とりあえずphpフレームワーク触ってみたいだけならCake
03923912014/01/30(木) 03:32:11.32
でもマジレスしても、
stackoverflowの活発さとかCakePHP 3.0に向けた開発陣の熱意、英語ドキュメント群の整備の速さからしてもCakePHPになるような気がするな

SymfonyとCakePHPを比較したブログとかは大半情報古すぎなのであてにならん
0393デフォルトの名無しさん2014/01/30(木) 23:40:14.00
symfonyはメモリ喰いまくる
0394デフォルトの名無しさん2014/02/01(土) 01:52:39.97
drupal,laravel,behat,composerと大概はSymfony2に依存しているよね
PHP界隈って、何故にSymfonyが大好きなんだろう
0395デフォルトの名無しさん2014/02/01(土) 02:15:28.94
phpでドヤ顔できるからじゃない?
いろんなサーバーで小回り効くのは間違いなくCake
0396デフォルトの名無しさん2014/02/01(土) 11:00:22.30
設計思想の差でしょ
0397デフォルトの名無しさん2014/02/01(土) 14:10:44.45
Cakeってまだ激遅のままなの?
0398デフォルトの名無しさん2014/02/01(土) 14:21:23.29
普通に速いよ。ベンチマークしてみればわかると思うけど。
0399デフォルトの名無しさん2014/02/01(土) 14:23:14.63
>>397
symfonyに比べればかなりマシになったよ
他のフレームワークや、遅いことで有名なRailsよりはまだ遅い
0400デフォルトの名無しさん2014/02/01(土) 14:42:30.78
>>398
ぷぷぷw Cakeのどこが速いんだよw 遅すぎだっての
http://www.techempower.com/benchmarks/

だいたいPHPって時点でアウトだろ。
C++やJavaには到底かなわない。
0401デフォルトの名無しさん2014/02/01(土) 14:44:38.90
>>400
CakePHPはともかく、動的型付け言語のなかでは
PHPは上位に入っているような?
0402デフォルトの名無しさん2014/02/01(土) 14:46:45.21
Railsってどれも平均して遅いんだな・・・
0403デフォルトの名無しさん2014/02/01(土) 14:51:07.64
>>400
LLの中ではPHPは上位にくいんこんでるぞ

Cakeは問題外だけどな
0404デフォルトの名無しさん2014/02/01(土) 14:51:59.87
zend phpはそんなに速くないと思うが。
最近はRubyもかなり高速化されてきてる
0405デフォルトの名無しさん2014/02/01(土) 14:54:35.99
ruby自体は2.0で早くなったけど
railsはアプリケーションサーバの問題なのか
大して早くならなかったらしいね
0406デフォルトの名無しさん2014/02/01(土) 14:57:07.09
>>400
いまC++やJavaの話はしてない
0407デフォルトの名無しさん2014/02/01(土) 15:01:41.20
CakePHPはパフォーマンス切り捨てて他のものを取ってるからな
生産性とか統一性とか

Railsと一緒やな

オフショアや受託向きといわれる所以
0408デフォルトの名無しさん2014/02/01(土) 20:35:56.94
速さだけならflat phpやvanilla JS
0409デフォルトの名無しさん2014/02/04(火) 02:56:04.51
CodeIgniterやFuelPHPって名前が悪いよね。案件が燃えそう
0410デフォルトの名無しさん2014/02/04(火) 04:10:22.33
案件が増えそうって言ったげなよ
0411デフォルトの名無しさん2014/02/04(火) 06:46:12.80
PHPがダメなところって
Rubyがダメなところと一緒で
他の言語の後継を名乗りたいのかDisりたいのか
他の言語の良いところをパクって作って設計の統一感を失ってるところだな
0412デフォルトの名無しさん2014/02/04(火) 09:12:26.52
Rubyのほうが最初からフラフラしてるけどな
0413デフォルトの名無しさん2014/02/04(火) 13:41:39.20
>>378
その通りだと思う
C,Php,Python,JavaScriptをしてきた自分にとってPHPが悪い言語だと思ったことはない
今は訳あってPHPではなくPythonの方を使うけれど、最初はPythonは異質で嫌いだった
言語の未完成さとか苛つき方ではJavaScriptが一番だな
今や多くの有志たちによって何とかなってるが
PHPはvar_dump()していけば何のストレスも悩む事もなく非常に使いやすくて簡単な言語だと思うけどな
PHPerのレベルが低いかもしれないのはしっかり教育を受けた人間が少ないからだろ
0414デフォルトの名無しさん2014/02/04(火) 14:40:14.94
他の言語なら配列操作が簡潔に書けるとかぐらいで、ウェブページ作るのならどれも大差ない
0415デフォルトの名無しさん2014/02/04(火) 15:39:20.26
>>413
> 言語の未完成さとか苛つき方ではJavaScriptが一番だな
何が未完成?
コア部分は結構小奇麗だと思うけど…

PHPもそんなにひどい言語とは思わないけど,
C, C++, Common Lisp, scheme, Haskell, Python, …
を先にやってて, 無理やり仕事で使わされた時には,
「なんでこんなキモい仕様になってるの???」
と, 思う所が結構あった

なんか直交性に欠ける感じなんだよね
0416デフォルトの名無しさん2014/02/04(火) 18:39:05.26
俺はJavaだけは好きになれない
何だあの長ったらしい文は
Hello World書く前に勉強する気が失せる
0417デフォルトの名無しさん2014/02/04(火) 18:42:15.24
JavaはIDEが優秀だからな
0418デフォルトの名無しさん2014/02/04(火) 19:04:17.27
>>416
> 何だあの長ったらしい文は
少なくともコア言語としての直交性はあると思うよ
ここで言ってる直交性ってのは, 言語能力としての直交性
# 驚き再焼成の法則って言ってもいいかも知れない
0419デフォルトの名無しさん2014/02/04(火) 19:37:46.34
>>417
Java使いは基本的に無知(IDE依存症の弊害)
0420デフォルトの名無しさん2014/02/05(水) 01:19:42.14
IDEはVSがもっとも優秀
VSが優れてるからC#が優れてて、C#が優れてるからVSが優れてる
0421デフォルトの名無しさん2014/02/05(水) 04:51:22.94
PHPはWebサイトに特化すれば言語中ナンバーワンだ
コレだけは間違いない
後は何でもかんでも標準関数で入ってるから、出来ないことはない
ただし、Cみたいに自分で何でも作れるような実力は付きにくい
0422デフォルトの名無しさん2014/02/05(水) 09:21:36.97
Web特化言語が他の言語にWebで遅れ取ってたら価値がないからな
0423デフォルトの名無しさん2014/02/05(水) 12:10:39.49
>>421
たしかに、アルゴリズムを気にするってのはあまりないね
0424デフォルトの名無しさん2014/02/05(水) 13:30:22.70
PHPのIDEはLLの中で比較的優秀みたいだな
利用人口が多いのと、RubyやPerlみたいな黒魔術がほぼ使われないからか
0425デフォルトの名無しさん2014/02/05(水) 20:33:15.33
それはあるな。PhpStormの補完は結構優秀
04261382014/02/06(木) 08:01:24.05
$GLOBALSを使わせてくれ!
0427デフォルトの名無しさん2014/02/06(木) 08:05:59.83
cccccc
0428デフォルトの名無しさん2014/02/06(木) 12:08:32.40
PHPerたちの戦いの土俵は、あくまでもビジネスだ
0429デフォルトの名無しさん2014/02/06(木) 12:45:46.42
どんなものでも売れなければ意味がない。
0430デフォルトの名無しさん2014/02/06(木) 14:43:21.26
PHPは売れても意味がない
0431デフォルトの名無しさん2014/02/06(木) 14:51:45.70
安いシステムを中小零細企業が納入するから、
大手もIT周りを整備しないと競争に負けるよと煽っておけば、皆が幸せ
0432デフォルトの名無しさん2014/02/06(木) 16:26:10.57
サーバーサイドはScalaとかあるし、レンダリングはJSだろ
もうPHPメリットないって
0433デフォルトの名無しさん2014/02/06(木) 16:37:45.77
scala ww
0434デフォルトの名無しさん2014/02/06(木) 17:06:37.38
ネタしかなくなってきたな

Perl→PHP→Rubyって行った人たちはこれからどこいくのだろう
0435デフォルトの名無しさん2014/02/06(木) 18:30:46.21
JavaをRubyみたいにしたかったんだろうけど、JavaはJavaの良さを追求すべきだった
0436デフォルトの名無しさん2014/02/06(木) 18:47:51.21
>>434
> Perl→PHP→Ruby
って, 本当にいるの?
仕事で無理やりやらされるまでは PHP には爪の先ですら障りなくなかったんだけど
0437デフォルトの名無しさん2014/02/06(木) 18:58:25.59
>>436
> 仕事で無理やりやらされるまでは PHP には爪の先ですら障りなくなかったんだけど

こういう人ってよくいるよねw
変で価値の無いこだわり。
0438デフォルトの名無しさん2014/02/06(木) 19:06:06.43
>>433
あ?Twitterなめんな
0439デフォルトの名無しさん2014/02/06(木) 19:20:04.29
>>436
Rails使いの結構の人がその流れよ
PHPから入った人も多い

>>438
RubyとRailsからScalaとJavaにいったんだったな
0440デフォルトの名無しさん2014/02/06(木) 19:32:28.22
>>439
その裏でFacebookはせっせとPHP
0441デフォルトの名無しさん2014/02/06(木) 23:05:47.17
public static funciton foo() {
static::child_foo();
~~~~~~
}

意味は分かるけどどっちかっていうけどダイナミックだよね
0442デフォルトの名無しさん2014/02/06(木) 23:28:39.24
何がダイナミックなんだ?

たとえば、スタティック変数と
スタティック型付け は同じスタティックでも
意味が違うぞ。

ダイナミック○○の○○部分がないと意味がわからんだろ?
0443デフォルトの名無しさん2014/02/07(金) 00:45:20.27
staticメソッドをdynamicにバインドしているだけやろ。
この場当たり感がPHPだ!
0444デフォルトの名無しさん2014/02/07(金) 00:46:34.31
ただのグローバル
0445デフォルトの名無しさん2014/02/07(金) 02:28:08.81
遅延束縛超便利だけどな
traitとあわせてphpだと微妙にごちゃってたプラグインとかヘルパーがすっきりしつつある
ちなみにget_called_class()のほうならstatic以外も呼べるよ
staticに違和感が出るってことは、それだけ動的言語っぽくなってきたってこと
0446デフォルトの名無しさん2014/02/07(金) 11:01:09.78
直感的にはselfとstaticが逆
0447デフォルトの名無しさん2014/02/08(土) 01:18:58.46
言われてみればそうだな。
最初からselfが実行時クラスで__CLASS__が定義クラスだったらそんでよかったんだろうけど。
0448デフォルトの名無しさん2014/02/08(土) 04:41:32.47
> 静的遅延束縛は直近の "非転送コール" のクラス名

とかいいつつクロージャの中にあるstatic::は、それを定義してるクラスになる件
オブジェクトの時はクロージャの中でも非転送コールのクラス名になるからバグだろうな
0449デフォルトの名無しさん2014/02/08(土) 05:04:08.08
やってて気づいたけどインスタンスからアローでクラスメソッド呼べるじゃん
これは知らんかったわ

class A {
static function f() {}
}

$obj = new A;
$obj->f(); // A::f()と同じ
0450デフォルトの名無しさん2014/02/08(土) 08:46:05.22
>>449
deprecated
0451デフォルトの名無しさん2014/02/08(土) 08:54:10.67
>>448
5.5.3だとならんよ
0452デフォルトの名無しさん2014/02/08(土) 10:25:56.27
PHPは万事緩いんだよな
変なふうに書いてもとりあえず動く
それが良いケースもあるが
0453デフォルトの名無しさん2014/02/08(土) 13:04:07.53
何を勘違いしているのかしらんけど、
PHPのstaticメソッドというのは、
C++のstaticメソッドに似せて作られているものだから。
0454デフォルトの名無しさん2014/02/08(土) 13:07:06.84
>>449
Perlでも同じだよ。

クラス=パッケージだから
インスタンスからでもクラスメソッドが呼べる。

正確にはどちらでも呼べるが
アローを使った場合とそうでない場合で
メソッド側で(thisに相当する)$selfが違ってくる
0455デフォルトの名無しさん2014/02/08(土) 13:50:27.49
>>453
なんのことを言ってるのかね?
0456デフォルトの名無しさん2014/02/08(土) 14:08:02.39
Perlにはスタティックメソッドって言語機能がない
クラスメソッドとして使うことを想定されてるメソッドもあるというだけで
0457デフォルトの名無しさん2014/02/08(土) 14:11:30.56
そもそも、パッケージをクラス代わりに、
そのパッケージとblessしたリファレンスを
インスタンス代わりにしてるだけだしなあ
0458デフォルトの名無しさん2014/02/09(日) 18:11:14.41
>>622
PHPだとarray_mapのコールバックにnullを渡せばzipになるから簡単
0459デフォルトの名無しさん2014/02/10(月) 09:40:40.04
PHPのstrposが全然覚えられません・・。
俺はプログラマーになれません。
0460デフォルトの名無しさん2014/02/10(月) 09:59:43.78
毎回リファレンス見ればよろし
関数名覚えてても引数の順番いつも忘れる俺
0461デフォルトの名無しさん2014/02/10(月) 10:10:29.97
何かをやる時にselfやthisを使わないで
すべて「引数」と「戻り値」でやるっていう旧世代のやり方だから
■ このスレッドは過去ログ倉庫に格納されています