忍者ブログ
Admin / Write / Res
ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
カウンター
アクセスカウンター
最新コメント
[11/22 รูปพวงหรีดแสดงความเสียใจ]
[11/22 ดอกไม้ งานศพ]
[11/22 ช่อดอกไม้ตามสั่ง]
[11/22 ร้านดอกไม้บรรยากาศอบอุ่น]
[11/21 Robertret]
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
[705]  [704]  [703]  [702]  [701]  [700]  [699]  [698]  [697]  [696]  [695

「ウンコ 言語」と検索すると多くはPHPが上位独占状態…
はたしてPHPはウンコな言語なのでしょうか?

どこをウンコと感じるのでしょうか。
記事を読んでみると。。。
なんだか、クレーマーに近い感じ…

例えば、参照について。
http://ameblo.jp/nikko-inma/entry-11122429825.html
えーと、全くその仕様だったとして、困るような場面が思いつきません。。。
そんなにみなさんこんな使い方をするのでしょうか?

他にも関数が長すぎるとか。。。
子供なの?(苦笑)
オブジェクト指向ではないんですから、機能を関数だけで増やそうとした長くなってしまうのは仕方がないのでは?
無理に短縮して意味不明な記号になっても困りますし。。。

三項演算子についても苦言が多いですね。
なぜ、PHPという1言語として成り立っているのにほかの言語とわざわざ仕様を合わせないといけないのでしょうか?
「普通こういう結果が返ると思うだろ」とか言っている人はきっと上流工程とかできない人だと思う。

あと
・(new ClassName())->method()
・配列の作成がarray()
・finnaly
は最近のPHPでは実装されつつあるので、問題ないでしょう。
そもそもfinnalyってそんなに重要かしら?
Exceptionのない(いいすぎ?)言語なのに(笑)
最近はPDOとかオブジェクト指向なものも出てきているけどね。


って、ところを踏まえて私がウンコだなぁ、って感じた点
※ 結局私もそれなりに汚臭の言語だと思ってます(笑)

・php.iniがある
これのせいで、私の環境では動くけど、他では動かない、みたいなのを生む。
よく、「言語は動くようにかけ」っていうけど、、、
正直つらい(笑)
ini_set()で逃げられるものも多いけど、ini_set()に渡せるものを把握しておかなきゃならない。
でもそれをしていたら比較的敷居の低い言語ってイメージが崩れちゃう。
簡単にコーディングできる代物なのか、そうじゃないのか。
そういうあいまいさ加減が気持ち悪い=ウンコなんでしょうね。

・エラーハンドリングがしにくい
何でもかんでもfalseが返る点。
全部戻りを取って確認しなきゃいけない。
if()の嵐。
コードも増えるし、可読性もさがっちゃう。
しかもものによってはthrowだというのだから切ない。
し・か・も、なぜ失敗したのかがわからない。
falseの一言でですべて空気読んでって感じ。
そんなことされたらリアルで「ふぇ~」って言っちゃいますよ(笑)

・そして最大のウンコ
後輩が書いたスクリプトの抜粋です。
$id = $_GET["id"];
var_dump($id["id"]);
WEBアプリケーションのGETパラメータでidがわたってくるのだけど、一桁の時は正常に動作し、
10以降になると1固定になるという報告を受けました。
※後輩は一桁でしかテストをせずリリースしてから障害報告で発覚しましたTT

10分くらい考えてたどり着いた答えがこれ
GETパラメータはすべてstringでわたるので$idにはstring(numeric)が入る。
$id["id"]のキー"id"はタイポなので本来ここでwarningが出てほしいけど、PHPは出ない(int型なら出る)。
結果はすべて1になる。。。
と、いうことは2ケタの数字の左側しかとられていないかも?
現にGETパラメータに20とか渡すと仮説通りに。
と、いうことは文字列のスライスが発生している(PHPにスライスがあるとは知りませんでした…)。
左の値がとられるということはINDEXは0が指定されている。
文字列"id"は0なるののでしょうか?
var_dump((int)"id"); //0
0になった (;゚Д゚)エエー.

と、いうことでPHPは初心者に優しいようで、厳しいです。
エラーが出にくい(見えにくい)アプリケーション作成を少しでも早く開発するならうってつけだと思いますが。
ですが、その分バグは多めかもしれません(~_~;)

と、さいきんかんじましたとさ♪

拍手

PR
この記事にコメントする
Name
Title
Color
Mail
URL
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (管理人にのみ表示)
Copyright ©  アナログを愛するデジタル生活館 All Rights Reserved.
* material by Pearl Box   * Template by tsukika

忍者ブログ [PR]