X



さまざまな言語仕様について熱く語る闘技場
0098nobodyさん
垢版 |
2008/12/14(日) 12:54:56ID:???
量子コンピューターってプログラミング言語っていうレイヤーじゃないよな?

おれはPHPのかたわら、Haskellで遊んでみたけど、目から鱗。
PHPコードも洗練されてくるからおもしろい。
0099nobodyさん
垢版 |
2008/12/14(日) 13:19:12ID:???
マスターとか言ってる奴がまともな技術と知識を持ってたためしがない
0100nobodyさん
垢版 |
2008/12/14(日) 17:24:38ID:???
他人の自分語りほどウザイものはないよね〜
0101nobodyさん
垢版 |
2008/12/14(日) 22:02:13ID:???
俺が最初に覚えた言語はHTML。
その中でも、<body>に関しちゃ、ネイティブ?って言われることがある
0102nobodyさん
垢版 |
2008/12/14(日) 23:56:30ID:???
C>html>>>越えられない壁>>>php
0103nobodyさん
垢版 |
2008/12/15(月) 17:36:09ID:???
このまま糞スレ化→dat落ちさせるのは惜しいな。
PHPの言語仕様について話し合える場所は少ない。
0104nobodyさん
垢版 |
2008/12/15(月) 17:42:21ID:???
安心していいよ、このスレは残る
消えるのはお前だけだから
0105nobodyさん
垢版 |
2008/12/16(火) 22:48:52ID:???
HTMLは高級言語って話は聞いたことあるけどCSSって言語?
0106nobodyさん
垢版 |
2008/12/16(火) 22:52:43ID:9RkOzYwl
echoとprintは文字を出力することは同じなのに
なんで二つも同じことができるんですか?
0108nobodyさん
垢版 |
2008/12/16(火) 23:02:16ID:???
テンプレの回答は求めてないですよ
0109nobodyさん
垢版 |
2008/12/16(火) 23:10:00ID:???
じゃ何を求めてんの?
0111nobodyさん
垢版 |
2008/12/19(金) 21:04:10ID:???
CSSも、関数やらロジックを実装するようになってきたからなぁ。
叙事詩的定義もなにか新しいプログラミング言語のように感じる
0112nobodyさん
垢版 |
2008/12/19(金) 21:38:10ID:???
>>111
CSSの関数ってのはググったら見つかったけど、
例)CSS//関数
http://suika.fam.cx/~wakaba/wiki/sw/n/CSS++%E9%96%A2%E6%95%B0

> 叙事詩的定義
ってのはぜんぜん見つからない。"epic(al) definition" でも該当なし。
詳細プリーズ。
0113nobodyさん
垢版 |
2008/12/19(金) 22:09:17ID:???
形容しただけだろ
日本語能力だいじょうぶか?
0114nobodyさん
垢版 |
2008/12/19(金) 22:39:27ID:???
で、形容するとどういう意味になるんだい?
0115nobodyさん
垢版 |
2008/12/19(金) 22:45:24ID:???
短文煽りは不快なだけで何も生み出さないからやめようぜ。
そのうち Kusakabe (void) みたいになっちまうぞ。
0116nobodyさん
垢版 |
2008/12/19(金) 23:04:19ID:???
>>113-114はストレスたまっててここで発散したいんです!
0117nobodyさん
垢版 |
2008/12/19(金) 23:06:25ID:???
>>106 に遅レス。

なんで echo と print の二つがあるかというと、まあ以下の文書に解説がある
わけだけど、

FAQTs - Knowledge Base - View Entry - What is the difference between echo and print?
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

どうも読んでてまだるっこしい。

2番目とか、
「echo は文(statement)、printは式(expression)」
こう書いたら、ずっとスッキリすると思うんだが。

そういう専門用語を使いたくないのかもしれないが、statement やexpression
程度の簡単な概念すら避けて説明するのは間違っていると思う。

これは外部リンクだけど、PHPマニュアルは全体的にそんな印象。
0118nobodyさん
垢版 |
2008/12/19(金) 23:08:40ID:???
作った張本人たちもアバウトってことですね
0119nobodyさん
垢版 |
2008/12/19(金) 23:16:45ID:???
>>118
さすがに張本人は分かってなきゃ作れないだろ。
単にユーザへの説明の仕方の問題だと思う。
0120nobodyさん
垢版 |
2008/12/20(土) 10:04:15ID:???
本家のMLに参加して質問するのが近道ですね
0121nobodyさん
垢版 |
2008/12/20(土) 12:44:45ID:???
英語ができたらなあ。自然言語を書くのはは難しい...。
0122nobodyさん
垢版 |
2008/12/20(土) 12:46:50ID:???
プログラミングと英語はほとんど同じような気が・・・
0124nobodyさん
垢版 |
2008/12/20(土) 12:56:40ID:???
そうかあ?自然言語は理詰めで書けないじゃないか。
文法だけ覚えても engrish.com に載るような英文しか書けない。
0125nobodyさん
垢版 |
2008/12/20(土) 13:28:24ID:???
PG言語も文法だけ覚えてもサンプルに載ってるような英文しか書けない。
0126nobodyさん
垢版 |
2008/12/20(土) 13:33:18ID:???
if (i = no money) {you are ogottekureru me}else{you are keti}
0127nobodyさん
垢版 |
2008/12/20(土) 15:55:32ID:???
まさか英語ができないやつとかいるの?
0129nobodyさん
垢版 |
2008/12/20(土) 16:21:45ID:???
俺は英語ができると思ったことはないな。
一応、片言で会話したり、英語のドキュメントも
英文サイトは普通に読めるから不自由はしないけど、
英語で恋愛はできんw
0130nobodyさん
垢版 |
2008/12/20(土) 16:27:31ID:???
いや今話してるのは
メーリングリストに投稿するとか
その程度のレベルの話だから。
0131nobodyさん
垢版 |
2008/12/20(土) 16:28:39ID:???
お、そうか、>>120からの流れね。数レス前も読まずに書いて寸摩損
0132nobodyさん
垢版 |
2008/12/20(土) 16:45:53ID:???
どうやってMLに入会するのかもわからない
普通に申請するだけじゃだめみたいね
0133nobodyさん
垢版 |
2008/12/20(土) 16:58:17ID:???
入会の仕方書いてあるでしょ。
「英語」で(藁
0134nobodyさん
垢版 |
2008/12/20(土) 18:00:46ID:???
英語がわからないから入会方法がわからないって捉えられないとかゆとりですか?
0135nobodyさん
垢版 |
2008/12/21(日) 00:33:12ID:???
OK! well, let's talk in English here.
0136nobodyさん
垢版 |
2008/12/21(日) 00:34:49ID:???
このスレを見ている人はこんなスレも見ています。(ver 0.20)
pixiv自前イラスト向上スレ part7 [CG]
【ショタ】3次専ショタスレ 10【女装・美少年】 [Download]

... what are you interested in ? (^^;
0137nobodyさん
垢版 |
2008/12/21(日) 05:34:29ID:???
なんで学生時代に英語勉強しなかったの?
0139nobodyさん
垢版 |
2008/12/21(日) 05:58:34ID:???
英語のオンラインゲームできれば
「英語できる」と認定していいと思う
0140nobodyさん
垢版 |
2008/12/22(月) 01:06:32ID:???
I try to write the comment on program code from yesterday.
It's cooooool!!! ;-p
0141nobodyさん
垢版 |
2008/12/28(日) 21:22:18ID:???
「phpできます!」なんて自信たっぷりに言われた時の恥ずかしさ - ドグマを探しに
http://d.hatena.ne.jp/crenlif/20081114/1226660315

> PHPのあれが駄目とかじゃなく、もし神様(何の?)が、今までのは無かった
> ことにしてPHPをどこでも3ヶ所直していいよっていったらどうするかっての
> を聞いてみたいです。

具体的な内容はリンク先を参照。この辺ほんとに直らんものかなあ。
0142nobodyさん
垢版 |
2008/12/28(日) 21:25:58ID:???
結局関数名と記法の話?
0144nobodyさん
垢版 |
2008/12/28(日) 22:07:40ID:???
別の話。

PHPでの内部変数の扱われ方 - PHP5のオブジェクトコピーでありがちな勘違い - PHPプロ!ニュース
http://www.phppro.jp/news/304

コピーオンライト - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%94%E3%83%BC%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%88

arrayはオブジェクトじゃないのでコピーオンライトは行われないかと思ったが、
実行時間を見ると、どうやらちゃんとコピーオンライトしているらしい。

~ $ time php -r '$a=range(0, 100000);'
0.069 secs
~ $ time php -r '$a=range(0, 100000); $b=$a;'
0.068 secs
~ $ time php -r '$a=range(0, 100000); $b=$a; $b[100]=0;'
0.117 secs
0146nobodyさん
垢版 |
2008/12/28(日) 22:17:57ID:???
$bの値を書き換えた後、実行時間が2倍近くになってるだろ。
0148nobodyさん
垢版 |
2008/12/28(日) 22:44:54ID:???
違う?
じゃあどうして $b の一部を書き換えると、実行時間がこんなに延びんの?
0149nobodyさん
垢版 |
2008/12/28(日) 22:45:55ID:???
あ、環境書いてなかった。

~ $ php --version
PHP 5.2.6 (cli) (built: Sep 13 2008 11:13:29)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
0150nobodyさん
垢版 |
2008/12/28(日) 22:55:23ID:???
つうかググればすぐ言及するページは見つかる。やっぱりcopy on write だ。

Big arrays in PHP
http://brian.moonspot.net/2007/02/28/big-arrays-in-php/

> If the array is static then you don't really have to assign it by
> reference, since in PHP 5 all (non-object) variables are
> copy-on-write. So as long as you don't change the value then a copy
> isn't made.

php.netにはどこに書いてあるのか分からん。バグレポートばかり引っかかる。
0151nobodyさん
垢版 |
2008/12/28(日) 23:10:01ID:???
この辺の挙動はパフォーマンスに重大な影響を与えるのに、公式ドキュメント
には記述が見つからん。たぶん書いてないんだろう。

ライブラリの記述はそこそこだが言語仕様の記述は貧弱。こういうのがPHPの一
番直してほしいところだな。
0152nobodyさん
垢版 |
2008/12/29(月) 14:19:27ID:???
>>148
落ち着け。145は別の話だ。
そっちの話は143が説明できないようだが。
0153nobodyさん
垢版 |
2009/01/02(金) 03:08:35ID:???
Amazon.co.jp: はじめてのPHP言語プログラミング入門: 大垣 靖男: 本
http://www.amazon.co.jp/dp/4774122866

どうやらこの本がおすすめらしい。
PHPの言語仕様についてきちんと扱った本だという。
0154nobodyさん
垢版 |
2009/01/02(金) 03:27:16ID:???
何時の本だよ
言語仕様そんならマニュアルで十分
0155nobodyさん
垢版 |
2009/01/02(金) 04:21:47ID:???
大垣氏の名前は覚えておいて損はないよ。
0158nobodyさん
垢版 |
2009/01/02(金) 16:53:02ID:???

  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;   
  ヾ;;;ハ    ノ       .::!lリ;;r゙    在日の方々はかわいそうな強制連行の被害者
   `Z;i   〈.,_..,.      ノ;;;;;;;;>     
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f      そんなふうに考えていた時期が
   〜''戈ヽ   `二´    r'´:::. `!    俺にもありました
0159nobodyさん
垢版 |
2009/01/11(日) 18:25:25ID:???
最近、個人的に面白いと思った言語仕様があるのだが、ここに書いてる時間が
ないし、書いても長くてウザがられそうなので、クイズにしてみる。

「PHP言語仕様・力試しクイズ」

$ php -r '$a=array(); $a["a"]= $a; var_dump($a);'
$ php -r '$a=array(); $a["a"]=&$a; var_dump($a);'

$ php -r '$a=new stdClass; $a->a= $a; var_dump($a);'
$ php -r '$a=new stdClass; $a->a=&$a; var_dump($a);'

(以下は PHP5(以上)でしか動かない)
$ php -r '$a=new stdClass; $a->a= clone $a; var_dump($a);'
$ php -r '$a=new ArrayObject(array()); $a["a"]= $a; var_dump($a);'
$ php -r '$a=new ArrayObject(array()); $a["a"]=&$a; var_dump($a);'
$ php -r '$a=new ArrayObject(array()); $a["a"]= clone $a; var_dump($a);'

Q1
これらのコードが、PHP4とPHP5で、それぞれどのような表示をするか、試して
みよう。自信のある人は試す前に予想してみよう。

Q2
>>144のリンク先の記事 http://www.phppro.jp/news/304 が正しいかどうか、
問題があるとしたらどこか、考えてみよう。
0161nobodyさん
垢版 |
2009/01/14(水) 18:06:09ID:???
大垣センセがこんなとこくるわけないだろw
0162nobodyさん
垢版 |
2009/01/14(水) 18:38:30ID:???
>>161
おお、やっと大垣さんの名前を知っている人が来たか。

よかったら>>159の問題を見てってくれ。
誰にもやってもらえなくてさびしい。
0163nobodyさん
垢版 |
2009/01/14(水) 18:53:26ID:???
つうか、PHPのリファレンスって、要するにインスタンスに別名をつけることで、
仕組み自体はきわめて単純なものなんだよな。他言語で一般に言われるリファ
レンスと似ても似つかないだけで(俺だったら「エイリアス」とか命名したと
思う)。

わかりにくいのは、なんでPHPはこんな、他言語にはない奇妙な仕組みを必要と
するかだ。PHPのリファレンスはいつ、どのようなときに必要なのか。それを理
解するには、PHPの変数と各種インスタンスの挙動を理解する必要がある。

>>159のクイズは、まさにその辺の問題を扱っている。まあちょっと再帰を絡ま
せてしまったんで分かりにくくなってしまったが、再帰は枝葉で、本題にした
いのはそっちだ。
0164nobodyさん
垢版 |
2009/01/14(水) 18:59:55ID:???
>>162
その問題、最初に出現したときに解いて、全問正解だったよ。
でもそんなこと書いたって意味ないから書かなかっただけ。
いろんなところにコピペしなくていいよ。
0165nobodyさん
垢版 |
2009/01/14(水) 19:05:36ID:???
参照でおもしろいのは、引数を参照で受け取る関数で、
それがオブジェクトであることを期待してるのに、NULLだった場合とかに、
関数の中で何もしないのに、var_dumpすると再帰になるようなスクリプトで
別のメモリ領域にズレが生じるとか。
0166nobodyさん
垢版 |
2009/01/14(水) 19:09:11ID:???
>>164
ちょっと待て。これどこかにコピペされてんの?
俺はここと、くだ質スレ79にしか書き込んでないぞ。

まあそんなことはどうでもいいか。
全問正解とはすごいな。俺自身、Q1の最後から2番目は、自分でも動かしてみな
いと分からんかった。

どうやって勉強した?PHPマニュアルだけでは>>159は分からんと思うが。
参考にさせてほしい。

あとQ2の答えを、手短でいいから書いてみてくれないか?
0168nobodyさん
垢版 |
2009/01/14(水) 19:13:20ID:???
>>165
> 関数の中で何もしないのに、var_dumpすると再帰になるようなスクリプトで

すまんがここの意味が分からん。
なんかコードの実例で示してもらえんか?
0170nobodyさん
垢版 |
2009/01/14(水) 19:42:19ID:???
>>166
参照代入を行った場合のrefcountが違う
0171nobodyさん
垢版 |
2009/01/14(水) 22:04:23ID:???
見苦しい人がちょっといたほうが盛り上がるよ
0172nobodyさん
垢版 |
2009/01/14(水) 22:17:55ID:???
盛り下がっちゃったわけだが
0175nobodyさん
垢版 |
2009/02/09(月) 02:15:47ID:???
俺も大垣先生の本は分かりやすいと思った。
PHP6が出たら、改訂版の投入をお願いします!><
図書館で借りて読むけどw
0177nobodyさん
垢版 |
2009/02/09(月) 14:13:32ID:???
echo と print の厳密な違いを教えてください
0178nobodyさん
垢版 |
2009/02/09(月) 14:46:33ID:???
void zend_do_print(znode *result, znode *arg TSRMLS_DC)
{
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);

opline->result.op_type = IS_TMP_VAR;
opline->result.u.var = get_temporary_variable(CG(active_op_array));
opline->opcode = ZEND_PRINT;
opline->op1 = *arg;
SET_UNUSED(opline->op2);
*result = opline->result;
}


void zend_do_echo(znode *arg TSRMLS_DC)
{
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);

opline->opcode = ZEND_ECHO;
opline->op1 = *arg;
SET_UNUSED(opline->op2);
}
0179nobodyさん
垢版 |
2009/02/09(月) 20:41:25ID:???
>>177
echo は、(カンマ)で区切って、連続で引数をぶちこめる。
printはできない。
0180nobodyさん
垢版 |
2009/02/09(月) 20:49:46ID:???
そうなるとprintなんて必要ないよな
配布スクリプトなんか覗くとprint使ってるやつがいるので不思議でたまらない
0181nobodyさん
垢版 |
2009/02/09(月) 21:10:42ID:???
printは成功すると1を返す。
echoは何も返さない。
0182nobodyさん
垢版 |
2009/02/09(月) 23:30:44ID:???
$a=1;

$a ? echo 'aaa' : echo 'bbb'; //error
$a ? print 'aaa' : print 'bbb'; //ok
0183nobodyさん
垢版 |
2009/02/10(火) 05:47:16ID:???
三項演算子の場合普通式の先頭から書かないか?
0185nobodyさん
垢版 |
2009/03/18(水) 11:34:00ID:???
システムハンガリアンって評判悪いじゃん。
たしかにC++みたいに型が違う値を代入しようとしたら
速攻でエラー吐くコンパイラにかけるんなら意味ないかと思うけど、
PHPみたいに元の型が何であろうが無視して新しい型にしてくれちゃう言語は、
ひるがえって『単なる型名を変数名につける』ってのが有効じゃないかと思うんだ。
PHPにおいてはアプリケーションハンガリアンよりシステムハンガリアンのほうがいい気がしてる。
ハンガリアンに限らず、PHPの柔軟すぎる型変換に適した命名規約を考えてくれ。
0186nobodyさん
垢版 |
2009/03/18(水) 11:34:45ID:???
そもそも、ハンガリアンが嫌われているのは
変数に実際に入れる型がいろいろ変わるからなわけだが。

>>185はバグ回避のために違う型を入れないようにするためと
いっているのだと思うが、間違った型を入れるとか言う以前に
ソフトウェアの性質上、型は変わるものなんだよ。
(変数に最初に想定していた型以外のものを入れることになる)

時代の流れとともに16bit変数は32bit変数に変わるし、
32bitポインタは64bitポインタに変わるし、
オブジェクト指向言語なら、型は継承され新しい型になる。

PHPのような柔軟な言語だからこそ、なおさらハンガリアンは必要ない。
それにハンガリアン(変数の頭に型を入れる)を使うまでもなく
変数名そのものが型をあらわしている。flagならtrue/falseだし、priceなら数値だろう。
0187nobodyさん
垢版 |
2009/03/18(水) 11:35:28ID:???
>>185

flagがビットフラグ(整数)だったり
priceが税計算機能つきのItemPriceクラスのオブジェクトだったらどうすんの?
0188nobodyさん
垢版 |
2009/03/18(水) 11:35:53ID:???
常識の範囲内ならどうでもいい。

つまりは、priceがlongからItemPriceに変わるというように
型が変わることがあるってこった。
それは避けられないからハンガリアンはよくない。
0189nobodyさん
垢版 |
2009/03/18(水) 11:36:32ID:???
クラスでゲッターやセッター使ってれば
タイプヒンティングも使えるし、型よりも値の範囲を絞って
例外を飛ばせるから全く問題ない。

一度処理に入ったら長い処理が行われるのではなくて
1回毎のシンプルな処理をセッションやクッキー使ってどうにか
継続させるのがWebアプリだから、ユーザー側のデータは
1回毎に改変が無いか毎回チェックする事になるし、型があってもなくても関係ない。
0191nobodyさん
垢版 |
2009/03/19(木) 09:49:02ID:???
>>190
議論はここでおk
無駄なスレは使わなくておk
0194nobodyさん
垢版 |
2011/05/13(金) 03:48:00.01ID:???
システムハンガリアン病だわ・・・

HTMLでさえも<span id="spanHoge">とか<input type="text" name="txtHoge">とか
しないと気が済まない_| ̄|○
0195nobodyさん
垢版 |
2011/05/13(金) 03:59:57.23ID:???
それハンガリアンの意義から逸脱してるよなw
0196nobodyさん
垢版 |
2011/05/13(金) 23:21:15.36ID:nIBGPhUJ
そう? 意義とは?
0197nobodyさん
垢版 |
2011/05/13(金) 23:30:39.71ID:???
俺が立てたクソスレがまだあるとは思わなかった
レスを投稿する


ニューススポーツなんでも実況