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

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

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

他の言語と比較しながら、具体的にちゃんと説明してください!
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を使わないで
すべて「引数」と「戻り値」でやるっていう旧世代のやり方だから
0462デフォルトの名無しさん2014/02/10(月) 10:32:53.18
しっかしWordPressが進化しまくってPHPを1から書くことなんて無くなってね?
まだObjective-CやC♯真面目にやってたほうがまし
0463デフォルトの名無しさん2014/02/10(月) 11:05:44.94
Objective-CやC♯も
1から書くことなんて無いだろ?

お前は1から書きたいのか?
無駄な努力だよ。
0464デフォルトの名無しさん2014/02/10(月) 11:33:52.82
>>462,463
ゴミだろ

それって1の場所が変わっただけで
周りがみんなその場所から始めるならそこが1だよ
0465デフォルトの名無しさん2014/02/10(月) 11:35:54.32
>>464
何言ってるかいみわからんwww

それにしてもまあ、一から書かなくていいメリットを
ディスるバカが居るなんてなぁw

俺は一から書くしかない言語が優れてると思ってるんだ!
ですか?www
0466デフォルトの名無しさん2014/02/10(月) 12:46:19.16
ライブラリやフレームワークの意味が分かってない馬鹿が一人
0467デフォルトの名無しさん2014/02/10(月) 13:07:50.63
なんで、haskellでwebアプリって作られないんだろ
金になりそうなのに
0468デフォルトの名無しさん2014/02/10(月) 13:14:16.23
手間すぎるから
0469デフォルトの名無しさん2014/02/10(月) 13:33:26.46
もうウェブサイトを一から作るって案件は減ってるのは確か
ウェブじゃなくて、モバイルのネイティブアプリで展開するケースが増えてる
ウェブもよほど凝ったサイト以外はWordPressで作った方が早い
0470デフォルトの名無しさん2014/02/10(月) 14:21:55.33
>>469
なんかもう最近はCSS(というかCompass)書くのが一番だるい
HTMLもPHPも書かん
PHP書くのはCakeくらい
0471デフォルトの名無しさん2014/02/10(月) 15:46:02.07
webアプリの案件も減っているの?
0472デフォルトの名無しさん2014/02/10(月) 15:53:47.71
フリーでオープンを謳ってたヤツらの間で、ファイナンスが熱くなったらいいな
0473デフォルトの名無しさん2014/02/10(月) 16:40:03.86
>>471
最近ほっとんどJSだと思うけど
0474デフォルトの名無しさん2014/02/10(月) 20:05:39.43
>>470
え?まさかsass使ってないの?
0475デフォルトの名無しさん2014/02/10(月) 20:23:35.31
>>474
Compassって書いてあるよ
0476デフォルトの名無しさん2014/02/10(月) 20:43:26.97
Compassはライブラリであって
書くものじゃないんだが?
0477デフォルトの名無しさん2014/02/10(月) 21:48:31.49
>>476
いるよねーこういう屁理屈いう奴
0478デフォルトの名無しさん2014/02/10(月) 22:10:01.06
事実言ってるのに、屁理屈というやつなんなんだろ?
0479デフォルトの名無しさん2014/02/10(月) 22:41:14.52
>>622に期待
0480デフォルトの名無しさん2014/02/10(月) 22:59:21.71
>>622
期待と言っておきながら、>>479自身でレスするのかよw
0481デフォルトの名無しさん2014/02/11(火) 06:51:31.09
低能ちゃんは突っかかるからなぁ
0482デフォルトの名無しさん2014/02/11(火) 09:07:04.49
まともに働いてるやつはこんなスレ見にこないからなw
0483デフォルトの名無しさん2014/02/11(火) 10:51:45.31
貧乏暇無しってヤツだね!
0484デフォルトの名無しさん2014/02/11(火) 10:55:48.89
2ちゃんねるやってるから暇なし
0485デフォルトの名無しさん2014/02/11(火) 12:14:42.73
怒らないでマジレスしてほしいんだけど
なんでこんな時間に書き込みできるわけ?
普通の人なら学校や会社があるはずなんだけど
このこと知った親は悲しむぞ?
現実見ようぜ
0486デフォルトの名無しさん2014/02/11(火) 12:52:17.01
マジレスすると
http://netyougo.com/wara/10154.html

「怒らないでマジレスしてほしいんだけど」とは、2chにおける有名なコピペである。
以下の様な書き込み。

怒らないでマジレスしてほしいんだけど
なんでこんな時間に書き込みできるわけ?
普通の人なら学校や会社があるはずなんだけど
このこと知った親は悲しむぞ?
現実見ようぜ
こんな時間に書き込んでいる人物について批判をしているが、この書き込みを行っているユーザーも同様ということに気がついていない、というもの。
0487デフォルトの名無しさん2014/02/11(火) 13:52:31.09
>>486
なんだこのゴミ氏ねゴミ
0488デフォルトの名無しさん2014/02/11(火) 15:09:49.18
>>486
気持ち悪
0489デフォルトの名無しさん2014/02/11(火) 15:18:42.23
>>486
ジャ・・ジャ・・ジャ・・ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアwwwwwwwwwwwwwwwwwww
0490デフォルトの名無しさん2014/02/11(火) 16:38:05.14
つーか今日祝日ってことも知らねーニートなの?
0491デフォルトの名無しさん2014/02/11(火) 16:39:13.14
ニートだから祝日を知らないか、社会人だから祝日を知らないか、それが問題だ
0492デフォルトの名無しさん2014/02/11(火) 16:40:32.40
>>478
死ねよコミュ障
0493デフォルトの名無しさん2014/02/11(火) 16:59:03.85
c++やPythonよりHaskellの方が書く効率良さそうだよね
c++でポリモーフィズムやテンプレート使うと継承や仮想関数について理解する必要できるけど、
組込開発やUnix方面では殆どcで書くしかないから、cの作法について熟知してる方がマシだし
Pythonだと毎度ながら変数への代入を間違えて、つまらないデバッグに時間を取られてしまう
PHPの場合、Haskellが型チェックすることで効率が良くなるようなコードなんて書きそうにない
仕事でcとPHPを軸にして趣味でHaskell製アプリを書くと、とても幸せになれそう
0494デフォルトの名無しさん2014/02/11(火) 17:17:16.02
>>493
うん、理屈ではそうなんだけど、
実際やってみると、開発時間的には大差ないよ。
0495デフォルトの名無しさん2014/02/11(火) 17:26:57.57
>>494
嘘つけ
0496デフォルトの名無しさん2014/02/11(火) 17:32:00.66
>>495
開発時間が半分になる言語があったら
開発費用も半分になるんだ。

開発時間も開発費用も半分でいいですから
○○言語でやらせてください!

といえるかい?
0497デフォルトの名無しさん2014/02/11(火) 17:35:19.03
>>496
その例えって、すごくバカで、開発者側からしか見てないよね?
競合がc++で書いて2倍の工数を掛けるなら、短納期で安い方に顧客が移るだろ
0498デフォルトの名無しさん2014/02/11(火) 17:36:24.97
Haskell開発者は、CやPHPの開発者と単価同じで仕事してくれるの?
0499デフォルトの名無しさん2014/02/11(火) 17:37:13.87
そもそも趣味だっつんだから論点ずれてねーか?
0500デフォルトの名無しさん2014/02/11(火) 17:37:57.27
○○言語で書くから2倍の工数と賃金を下さいって、すごく間抜けな発言
0501デフォルトの名無しさん2014/02/11(火) 17:38:24.15
>>497
> 短納期で安い方に顧客が移るだろ
それがPHPだったりするんですよね。
0502デフォルトの名無しさん2014/02/11(火) 17:38:57.38
>>498
裁量労働か無料で仕事するんじゃないか?
0503デフォルトの名無しさん2014/02/11(火) 17:40:42.91
競合がPHPで書いているとすると、それに対抗するなら
短い時間、安い金額で仕事をしないといけないわけで。
0504デフォルトの名無しさん2014/02/11(火) 17:46:56.61
タダのWebアプリ、Webサイト作りならね
パーサー書いたりコード解析などの将来性まで含めたら、
どちらが費用対効果高いか分かるでしょ
0505デフォルトの名無しさん2014/02/11(火) 17:47:26.27
一番重要なのは、ちょっとぐぐれば大抵のことはわかる言語かどうか

Yes な言語なら開発者はヘボでもいい
No な言語ならプロジェクト内で発生する課題一つ一つを自力で解決できるレベルの開発者が必要になる
この差はでかい
0506デフォルトの名無しさん2014/02/11(火) 17:50:04.03
>>504
将来のことは分からないから無駄な投機はしない
ってかぶっちゃけパーサとかコード解析とかならHaskellよりOcamlの方が使いやすい
その程度の用途にHaskellはぶっ飛びすぎ
0507デフォルトの名無しさん2014/02/11(火) 17:50:09.81
DelphiやVBより、Haskellの方が優れた選択肢になるじゃないか
0508デフォルトの名無しさん2014/02/11(火) 17:53:30.08
>>506
Ocamlって、パッと見たときに型が分からないんだけど
これって、Objectが状態遷移を表現してるの?
0509デフォルトの名無しさん2014/02/11(火) 18:16:17.51
はじめてのc、すごいH、パーフェクト3P
0510デフォルトの名無しさん2014/02/11(火) 18:49:00.74
PHPゴリゴリ書いていたらいいんだよ
0511デフォルトの名無しさん2014/02/11(火) 19:45:48.68
>>510
WEB のサーバー側しか書けないじゃん >PHP

# 組み込み門は無理
# バックエンドの計算主体系は無理
# 遅いし
# コンパイラ屑だし
0512デフォルトの名無しさん2014/02/11(火) 20:32:47.71
PHPだと後からいくらでも不具合出るから保守費用でどっさり追加できるもんね
0513デフォルトの名無しさん2014/02/11(火) 21:49:37.00
>>511
なんかもうc++でいーじゃん
0514デフォルトの名無しさん2014/02/11(火) 21:59:36.37
>>508
型推論で記述が省略されているか、.mliファイルに記述されている
0515デフォルトの名無しさん2014/02/11(火) 23:08:28.49
PHPが駄目なのはわかるけど何の言語と比較して駄目なのか
同じ駄目さが他の多くの言語にもあるし、PHPがずば抜けて糞とは言えない

PHPユーザーにプログラミング初心者が多すぎて糞コードが量産されているから悪いイメージがあるだけだと思う

OOP十分理解していれば他のLL(特にruby,js,perl)より相当読みやすいコード書けるよ
■ このスレッドは過去ログ倉庫に格納されています