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

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

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

他の言語と比較しながら、具体的にちゃんと説明してください!
0233デフォルトの名無しさん2014/01/16(木) 00:17:14.24
>>232
そんな基準でしか言語の判断できないわけ?
Webのスタートアップ企業ではPythonが一番人気だぞ

DrupalはPHPってだけでダメだわ
PHPの汚いコードなんて読む気がしない
0234デフォルトの名無しさん2014/01/16(木) 00:19:05.88
DrupalはPHPだから汚いんじゃなくてDrupalだから巨大なクソなんだよ
0235デフォルトの名無しさん2014/01/16(木) 00:21:36.57
>>234
Drupalってか、SymfonyとCakePHP
0236デフォルトの名無しさん2014/01/16(木) 00:23:34.58
>>233
地方性あるだろうけど、実際にPythonでWebの仕事してる人なんて見なかったよ
Rubyは技術的な話が活発で、カピバラの話をしていた。
Wordpressは、ぺちぱーの集まりだった。
0237デフォルトの名無しさん2014/01/16(木) 00:23:38.37
PHP的な汚さでいうとWordpressのほうが参考になるぞ
0238デフォルトの名無しさん2014/01/16(木) 00:29:29.51
仕事でPythonが使われてないってどれだけ狭い世界見てるんだか
0239デフォルトの名無しさん2014/01/16(木) 00:32:54.88
自分の見た現実と直感だよ。
堅実にやりたいだけなら、周りがやっている通りにJavaかc#を使うもの
0240デフォルトの名無しさん2014/01/16(木) 00:39:26.49
http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python
3年前か古いな

PythonってGoogleでもFacebookでも使っていい言語にされてるんだよな
0241デフォルトの名無しさん2014/01/16(木) 01:08:13.50
pythonを使えば、googleやfacebookがやるような仕事を出来るようになりますか?
0242デフォルトの名無しさん2014/01/16(木) 02:58:20.57
dropboxとかtorotisehgとかwindowsのguiアプリでもpython使ってるのは結構あるし
azureでもpythonやphp、nodeはサポートされてるが、rubyは非対応
0243デフォルトの名無しさん2014/01/16(木) 04:29:45.86
python使いがみんなこんなに必死なわけじゃないからな
0244デフォルトの名無しさん2014/01/16(木) 09:42:42.78
Rubyが嫌いな人が多いのがよくわかる

他言語をdisることで拡散しようとした言語だから仕方ないのか
0245デフォルトの名無しさん2014/01/16(木) 14:24:50.56
信者が所構わず競合他者dis繰り返したから仕方ないね
製品名とか社名とか書きたくもないから個人名にするが根は某j(個人)の信者が暴れて嫌われてるのと同じ
0246デフォルトの名無しさん2014/01/16(木) 14:40:04.10
今更だがNamespace必要だったんかね
クラス族の衝突だけ避けられればいいのに、そんなにトップレベルに定数とか書きたいんだろうか
Rubyのモジュール方式でよかった気がする
Pythonの用途こそ一般的なNamespaceが有用と思うわ
0247デフォルトの名無しさん2014/01/16(木) 14:44:48.52
ん後wwwwwwwwwwwwwwwwwwwwwwww
0248デフォルトの名無しさん2014/01/16(木) 15:50:45.72
>>244
Rubyは、もっとアンダーグラウンドな存在であるべき
0249デフォルトの名無しさん2014/01/16(木) 16:16:12.42
Perlは先っぽ入れただけでPHPに移り
今はRubyにいるやつが大体一番使えない
0250デフォルトの名無しさん2014/01/16(木) 16:27:10.39
Rubyがなんだ実害はないぞ
0251デフォルトの名無しさん2014/01/16(木) 16:42:45.79
>>249
ロバみたいな奴だな
0252デフォルトの名無しさん2014/01/16(木) 17:12:22.98
Pythonと3ヶ月ほど付き合い、それからRubyに浮気した1週間後には、
捨てられいたPerlと一晩だけ過ごし、今はPHPと真面目に家庭を築こうと考えている
0253デフォルトの名無しさん2014/01/16(木) 17:17:30.22
若い頃に、いろんな言語と寝なかったヤツほど
年とってから悪い何かに騙されるんだと思うよ
0254デフォルトの名無しさん2014/01/16(木) 17:53:15.53
やっぱ年食っても若い子の方がよくみえるな
0255デフォルトの名無しさん2014/01/16(木) 18:09:03.36
あのとき浮気しなければ、こんなのと生涯を一緒にせずに済んだと思うと
悔やんでも悔やみきれないものがある。
けれど、他人の臭いがついた彼女の姿を見たいかっていえば...。
0256デフォルトの名無しさん2014/01/16(木) 21:04:16.78
コペンロバーナ「ンーwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwロバwwwwwwwwwwwww」
0257デフォルトの名無しさん2014/01/16(木) 22:02:37.38
>>246
namespaceないとクラス名長くなるやん。
そもそもphpのnamespaceって、クラス名をディレクトリ階層ぽくできるくらいの意味しかないし、必要最低限と言える。
0258デフォルトの名無しさん2014/01/17(金) 04:58:42.66
>>245
Ruby好きだけどRailsアンチな俺みたいなのも居るんだけど、
何かのアンチな時点でハタから見れば同類なのかなあやっぱ
まあ、教祖(もうそれでいいやw)からして論争焚き付けてる人なのも事実だしな
0259デフォルトの名無しさん2014/01/17(金) 07:17:23.29
クラス名長くてもそんなに困らないけどな
スタティックメソッド呼び出す時に見辛くなるくらいで
名前空間あるに越したことはないけど
0260デフォルトの名無しさん2014/01/17(金) 12:43:59.82
Rubyって、PHPっぽくベタ書きできるんだっけ?
0261デフォルトの名無しさん2014/01/17(金) 14:06:43.90
ゴミ
0262デフォルトの名無しさん2014/01/17(金) 14:14:51.88
ベンダープレフィクス程度でいいのに階層掘るのはやめて欲しい
0263デフォルトの名無しさん2014/01/17(金) 20:15:53.56
でもwebプログラマやデザイナーの方がイケメン率高い
0264デフォルトの名無しさん2014/01/18(土) 14:21:44.59
激しい劣等感を抱えたプログラマほど、闇の力に魅入られて深淵を覗きこむからな
Webのような底の浅い場所に、本物のプログラマたちは居ないんじゃないか
0265デフォルトの名無しさん2014/01/18(土) 14:38:55.01
>>264
言わんとすることは分からんでもないが、劣等感抱えて深淵覗き込むプログラマーばかりだと嫌だよw
0266デフォルトの名無しさん2014/01/18(土) 15:05:55.80
>>264
どこが底の深い場所なんだ?
0267デフォルトの名無しさん2014/01/18(土) 15:57:32.21
闇プログラマですか
0268デフォルトの名無しさん2014/01/18(土) 16:08:25.94
コロコロ変わる仕様についていける体力(徹夜的な意味で)とか
デザイナーとのコミュニケーション能力なんかが重要だもんな
PHPの言語仕様がダメなら、なんでこんなにダントツで普及してるのか
0269デフォルトの名無しさん2014/01/18(土) 17:22:37.29
PHPは嫌いじゃないけど、PHPの良い所も知らずに、他の言語をdisるPHPerが嫌い。
0270デフォルトの名無しさん2014/01/18(土) 20:54:16.36
多言語をdisれるペチパーなんて見たことない

韓国が欧米をdisるくらい無謀な行為
0271デフォルトの名無しさん2014/01/18(土) 21:05:02.81
PHPerたちの多くは、幾つもの言語をかじってはPHPへ帰ってきたんだ
そこが本当に居心地の良い場所だって知っているからね。
彼らが他言語をdisるなんて、北朝鮮が欧米をdisるくらい有触れた行為だよ
0272デフォルトの名無しさん2014/01/19(日) 04:24:43.26
多言語disるのってRubyistとPerlerの特権であり特性だろ
0273デフォルトの名無しさん2014/01/19(日) 06:42:10.93
↑これがdis
0274デフォルトの名無しさん2014/01/19(日) 08:00:53.24
>>272
Rubyistはともかく、PerlerはPHPerがケンカ吹っかけるから反論されてるだけじゃん
0275デフォルトの名無しさん2014/01/19(日) 08:48:03.21
>>274
10年も前の昔話でしょ
0276デフォルトの名無しさん2014/01/19(日) 10:17:13.47
>>275
そう、昔話…しかも専門外なのに使われてた時代の話
元々テキスト処理ツールであり、元鞘に戻っただけなのに
わざわざム板まで出てきて、Perl/CGIは終わった、PHP大勝利とばかりに煽るからバカにされてるのよ
0277デフォルトの名無しさん2014/01/19(日) 11:03:35.68
Rubyは作者からして他の言語を批判しまくってたもんな
そりゃ嫌われるわ
だいたいRubyってRailsに乗っかって人気出ただけなのに
0278デフォルトの名無しさん2014/01/19(日) 13:16:40.54
Rubyの作者はいいだろ。
あれは営業活動の一環なんだからw

でもただ使っているような奴が色々言うな。
だいたいそんな批判は的外れなものばかりだ。
0279デフォルトの名無しさん2014/01/19(日) 14:42:00.40
営業活動しなければいけない時点で乙ですな
0280デフォルトの名無しさん2014/01/19(日) 14:55:19.83
>>279
直接Matzに言ってこいよ。日本語通じるよ
?出来ないの?
0281デフォルトの名無しさん2014/01/19(日) 15:07:47.44
>>280
Matzなら俺の横で寝てるよ。日本語通じなかったよ・・・(´;ω;`)ウゥゥ
0282デフォルトの名無しさん2014/01/19(日) 15:24:26.04
Rubyスレじゃないから Matzが何者かわかってない奴までいる
0283デフォルトの名無しさん2014/01/19(日) 15:33:10.00
なんだMatz知らない奴いるのか。
Matzは国連のPKOでさえ撤退を余儀なくされたアフリカの激戦区シオラレオネにおける
苛烈極まる紛争を圧倒的な戦闘力によってわずか2日で集結に導いた伝説の戦闘部隊の部隊長。
一目見ただけで死線をいくどもかいくぐってきたとわかる精悍な風貌をもつ人物。ただし日本語は通じない・・・(´;ω;`)ウゥゥ・・・Matzひどいお・・・
0284デフォルトの名無しさん2014/01/19(日) 15:52:09.44
この板はどういう人が書いてるんだ?
タイトルからして想像できんのだ
0285デフォルトの名無しさん2014/01/19(日) 16:21:44.77
一時期PHPを使っていたが
今は別言語を使っている奴がほとんどでないのかな
0286デフォルトの名無しさん2014/01/19(日) 16:44:53.74
普段はor好きな言語は別にあるが、仕事の関係上PHPを使っているor使っていた人とか
0287デフォルトの名無しさん2014/01/19(日) 20:48:58.13
PHP使ってる人は欠点も知りたいだろうから一度はこのスレを開くかもね
二度目はなさげ
言語煽りスレ立ててる人は隔離スレにしたいんだろう
0288デフォルトの名無しさん2014/01/19(日) 22:52:55.36
古いPHPの話が多いから、古い人が多そう
0289デフォルトの名無しさん2014/01/20(月) 00:12:58.35
>>285
c/c++プログラマどころか、Javaプログラマにもc#プログラマすら成れなかったヤツだっている
Rubyの方がプログラム言語としてイケていても、Web開発にベストな選択肢だとは思えない
0290デフォルトの名無しさん2014/01/20(月) 03:26:19.69
PHPで長々とひどいソースコード書いて
おそらく多大な時間をかけたんだろう、Rubyとかなら5分もいかないようなものを「○○作れたー^^」とかいって
ブログ書いてる奴が多い
PHP自体でマシなアルゴリズムや記法を提供してやればマシになるのかなと思って
ちょっとPHPの言語仕様見直したけど、それも不可能だと悟った
彼らはなんなのアレ。マジアレ何。それで良いのかと問いかけたい。
ほんの一週間でいいからRubyやらPythonでまともな書き方を覚えたら
考えも変わってくれるとは思うんだけど

前提を疑えよな
その$とか->とか意味のない記号で埋め尽くされてるソースを見て
何かを感じれば他の言語を試すだろ普通は
プログラミングのような「誰がやっても同じようなもの」に対して
時間をかけて丁寧に一字一句かいていくとか、固執とかはいらないんだよ、

もっとササッとかいて、見やすい、速い、動く、  これだけで良い
こだわりを持って時間かけて何かやりたいならそれは間違いなくプログラミングでやるような事じゃないから
効率の悪いソースコードはリファクタリングでソースファイルごと削除される
PHPで書いてるソース全部がそれだからね
0291デフォルトの名無しさん2014/01/20(月) 03:38:55.74
SessionやCookie、暗号化みたいなものが、どこにあるのか分からない言語や
サーバーの設定に分厚いミドルウェアが必要な言語はちょっと...
0292デフォルトの名無しさん2014/01/20(月) 03:45:24.10
for-loopとイテレータのどちらが速いかみたいなことで年中考えこむのがRuby
PHPで書くのがはやいし、よほどバカでも間違いようがない
0293デフォルトの名無しさん2014/01/20(月) 04:12:11.67
>>290
>> $, ->
これ、PHPというより、Perlをdisってるよね。
問題はそこじゃないと思うけど
0294デフォルトの名無しさん2014/01/20(月) 04:15:03.60
>>292
今のRubyは君が思ってよりも速いよ。イテレータ(今は総じてブロックということが多いけど)で問題無い
0295デフォルトの名無しさん2014/01/20(月) 04:45:57.25
>>293
Perl使ってるの?なんで?
0296デフォルトの名無しさん2014/01/20(月) 05:52:52.35
Perlてもう時代遅れなん?色々焦ってPHP関連買いあさってある程度書けるようになって今度はちょこちょこC♯とObjective-C関連買い漁って猛勉強中
疲れてきました・・・
0297デフォルトの名無しさん2014/01/20(月) 06:22:20.63
なんか言っても無駄だろうけど学習順序が違うんだよ?
上辺だけ覚えてもたいして意味がない

本気でPCやプログラミング理解したいならハードウェア、OS、デバイスドライバ、コンパイラとか
そっからまず、ソースコードがどんな風になってるか、OSがどのように起動して何を読み込んで、Windowsはどういう設計になっているか
一通りを学ぶと
C#だのObjective-Cだのその程度のものを覚えるのに1日もかからなくなるんだけど

初心者はそこら辺の深部の勉強めんどくさいやりたくないーって何かを甘えてて、
手っ取り早く上辺技術の学習だけで済ませようとするから
いつまでたっても学習コストが下がらないし、覚えたところで初級〜中級レベルの事しかできない

ちゃんと低レイヤーから一通り理解してれば、新しい技術や言語の学習なんて躓くような場所じゃないんだぜ、な。
0298デフォルトの名無しさん2014/01/20(月) 06:43:50.42
なるほど!まずは俺は自作パソコンの基盤から勉強する必要がありそうだなw
0299デフォルトの名無しさん2014/01/20(月) 07:48:51.93
>>297
C#、Objective-Cごとき1日で覚えられるという奴のことなど聞くに値しない
0300デフォルトの名無しさん2014/01/20(月) 08:20:54.67
>>290
典型的な駄目なRubyistとはお前のこと
0301デフォルトの名無しさん2014/01/20(月) 08:21:33.75
>>296
あれこれ齧るより、一つの言語で、プログラミングの技量を上げた方がいいよ。
言語の差より、プログラマの技量の差の方が大きいから。
0302デフォルトの名無しさん2014/01/20(月) 08:26:07.69
プログラミングの技量あげるなら、PHPはやめとけ。rubyもな。
0303デフォルトの名無しさん2014/01/20(月) 08:29:36.08
rubyは1.9、2.0ではやくなったね
メモリ管理はまだまだだし、web経由で計測をするとイマイチだけどな
0304デフォルトの名無しさん2014/01/20(月) 08:54:18.97
>>299
1時間って言っとけばいいの?

劇的に構文が進化して新しい概念詰め込んだ言語ならともかく
既存の概念の書き方ちょっと変えた程度の言語はリファレンスにさっと目を通して終わりだろ
その程度が出来るようにならないなら一流とは程遠い
0305デフォルトの名無しさん2014/01/20(月) 09:46:12.57
>>297
別におかしなことは言ってないが
聞いてためになる話でもない
すべってる
0306デフォルトの名無しさん2014/01/20(月) 10:55:01.07
ゴミ
0307デフォルトの名無しさん2014/01/20(月) 13:06:49.03
ンーwwwwwwwwwwwwww
0308デフォルトの名無しさん2014/01/20(月) 13:43:15.49
MS Windows についてある程度、深く理解するためには、
C++ などの言語の知識があったほうが良いよ。

C++ でなくても、C の関数呼び出しの際に、構造体へのポインタを渡すなどのやりかたを知っていないと、
公開されている API すら満足に理解できないだろう。

そういったことが理解できずに、MS Windows がどのような設計になっているかなどを把握しようとしても、
ごく上っ面をなでてみた程度の理解しかできない。

逆に言えば、高級言語についてのその程度の知識もなければ、
それらの OS について、満足な理解は得られないのだから、このあたりは鶏と卵の話に他ならないよ。

古典的な Unix 系の OS なら、C の知識だけで、かなりのところまでは理解できるようになるが、
それらの OS と、C の知識を習得しただけの人間なら、
そこからさらに C#, ObjectiveC などを理解するには、1日や、1時間はちょっと吹かしすぎだ。

まあすべては、理解というのを、どの程度の理解と定義するかで上記の話は違ってくるが。
0309デフォルトの名無しさん2014/01/20(月) 13:49:18.26
学習速度ってIQだからね
0310デフォルトの名無しさん2014/01/20(月) 14:10:17.87
一瞬見た図形をいくつ正確に記憶していられるかのIQテストがあるだろ
新しいプログラミング言語の言語仕様を覚えるなんてのは、
それの30分とか1時間のバージョンのIQテストのようなもの

一回その「短時間記憶領域」に記憶したら
その後でC#やObjective-Cを今後も使うっていうならそのまま頭の中で反復記憶して「長時間記憶していられる領域」にも記憶させる
逆にいえばC#なんかは既に昔にそれやってて、多分30分〜1時間くらいで覚えてた
世の中にはそういうのもいるからセンスない奴がこっちに来ると悲惨な目に合う
0311デフォルトの名無しさん2014/01/20(月) 14:19:07.06
Java 以降の、Virtual Machine 系の言語は、GUI などのユーザインターフェイス層や、
仮想的なネットワーク層などの、あらゆるものを取り込んで、
OS の上に、もう一つの OS を構築したようなものになっているし、
Windows などの OS のほうも、GUI などのユーザインターフェイス層まで OS が取り込んで面倒をみるようになっているから、

どちらかをすみからすみまで学べば、もう一方の概念を理解する助けにもなるが、
これは上層が下層に食い込み、下層も上層に食い込んで、
境界線が溶けちまったって話のように思える。

このあたりもまあ、下層と上層をどのように定義するかって話だが。
0312デフォルトの名無しさん2014/01/20(月) 16:38:51.26
やっぱタイプセーフな言語の方がいい
そうでない言語はどんぐりの背比べ
0313デフォルトの名無しさん2014/01/20(月) 17:11:58.58
そもそも才能のない人が平均的なプログラマになるキャリア戦略なんてものが、
LAMPスタックでのPHPerから、下のレイヤに向かっていくしか思い浮かばない
0314デフォルトの名無しさん2014/01/20(月) 17:24:56.29
デスクトップアプリケーションは途方もない工数をかけてc++で作るだろうし、
Javaは、Javaで出来た分厚いJava世界を作っているし、
世界の互換性なんて大体は神話のようなものだから、
技術的資料を可能な限り読まなくて済むPHPとcがベストな選択肢だって思っている
0315デフォルトの名無しさん2014/01/22(水) 05:58:06.71
仕事で初めて使ったんだけどオーバーロード使えないのかよ
代替手段あるんだろうけどオーバーに使えないって
0316デフォルトの名無しさん2014/01/22(水) 07:57:39.86
トレイト
0317デフォルトの名無しさん2014/01/22(水) 15:28:55.78
オーバーロードって、普通メソッドオーバーロードとか演算子オーバーロードって思うよな
PHPはその辺がトチ狂ってる
0318デフォルトの名無しさん2014/01/22(水) 15:34:52.51
10年くらいRejectされ続けてるね
説得性のあるリクエストを出せば実装されるかもよ?
0319デフォルトの名無しさん2014/01/22(水) 16:04:46.00
PHPにはInterfaceもタイプヒントもある。
しかし動的型の言語でオーバーロードはいらねーよバカといわれるのが普通。
PythonにもRubyにもない。
0320デフォルトの名無しさん2014/01/22(水) 16:36:08.15
演算子オーバーロードはRubyにはあるけども
あれのせいでRubyの学習曲線歪ませてるぐらい入れない方が良いもの

メソッドオーバーロードはLLにいらねーな
0321デフォルトの名無しさん2014/01/22(水) 16:37:06.06
>>319
オーバーロードとは少し違うけど名前付きコンストラクタが自然に書けない
ファクトリでラップするのもダルいし
PHP以外のスクリプトでは割と「普通」に使えるんだけどな
0322デフォルトの名無しさん2014/01/22(水) 16:38:07.63
PHPにオーバーロードはある
あるが一般的に言うオーバーロードではない
0323デフォルトの名無しさん2014/01/22(水) 16:40:40.55
マジックメソッドはなんだかな
0324デフォルトの名無しさん2014/01/22(水) 16:42:10.98
>>319
タイプヒントはオブジェクトの振る舞いを定義するものじゃなくてデバグ用だな
いきなりNoMethodErrorがでて初心者が「ファッ!?」となることがなくなる
0325デフォルトの名無しさん2014/01/22(水) 17:02:38.15
>>321
名前付きコンストラクタというのを知らなかったんでググってみたんだけど、これじゃ駄目なの?

class Game
{
  public function __construct($game_type)
  {
    $this->game_type = $game_type;
  }

  static function createSinglePlayerGame()
  {
    return new Game(0);
  }

  static function createMultiPlayerGame()
  {
    return new Game(1);
  }
}
0326デフォルトの名無しさん2014/01/22(水) 18:27:51.60
static function createSinglePlayerGame() {
$c = get_called_class();
return new $c(1);
}
のほうがいいかな
けっきょくは__construct()を可変引数にしてごにょる
0327デフォルトの名無しさん2014/01/22(水) 18:34:24.82
あ、あとGameのコンストラクタはprotectedで
まあクライアントスクリプトのすっきり感の違いかな?
0328デフォルトの名無しさん2014/01/23(木) 01:51:40.84
マジックメソッドはコンパイル時に解決されてるから理解しやすいのが利点だな
黒魔術的なことをしなくてもいい
ただメタプログラミングが簡単じゃないとtraitがいまいち活きない気もする
0329デフォルトの名無しさん2014/01/23(木) 05:40:43.36
プリミティブ型でもタイプヒンティング出来るようになるって言うのはどうなったんだろう
大分前にそういう話を聞いたんだが
トレイトとかネームスペースとかジェネレーターとかはどうでも良いけど、本格的なタイプヒンティングは欲しい機能だ
0330デフォルトの名無しさん2014/01/25(土) 13:04:04.62
phpは些細なことでもネットで情報共有する文化があるから良い
フレームワークも色んな種類があるし進化も淘汰も速い
Javaは言語仕様はシンプルだけど最低限の機能以外本当に何もない言語
その上コミュニティが閉鎖的だから、オレオレutilとかオレオレfwが横行してる
やっぱ初心者はphpやった方がいいよ
0331デフォルトの名無しさん2014/01/25(土) 17:10:19.10
PHP初心者ですけど皆さんどんなエディタ使ってるんですか?
0332デフォルトの名無しさん2014/01/25(土) 18:10:13.70
>>330
Symfony2,laravelとCakePHP、Zendぐらいしか選択肢ないだろ
■ このスレッドは過去ログ倉庫に格納されています