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

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

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

他の言語と比較しながら、具体的にちゃんと説明してください!
0698デフォルトの名無しさん2014/07/07(月) 08:05:00.00ID:bzyQG1wL
このスレ荒らしが住み着いてて機能してねーな
0699デフォルトの名無しさん2014/07/07(月) 08:50:56.08ID:n46FrZRh
ならWebProgでやるかい?
0700デフォルトの名無しさん2014/07/07(月) 09:16:04.79ID:XWsYxeAh
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  チラシの裏にでも書いてろ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0701デフォルトの名無しさん2014/07/08(火) 00:08:37.76ID:yingp3+3
>>697
解放されたメモリはすぐOSにはかえさず、また確保があったときにそこから割り当てる

>メモリブロック間の「スキマ」事だとしたら、そういう無駄をなくす事が GC の役割じゃないの?
ちがう。GCの役割は無駄をなくすことではなくメモリ管理の手間を減らすこと
むしろメモリに余裕があれば重たい解放処理はあまり行われない

>GC などない C++ だと 200KB で済むんだよ。
管理の手間を代償に速度と低メモリを選択した言語なんだから少ないのは当たり前

そもそも200KBというのはなんの数値だ?
タスクマネージャのどの数値のことを言っているのかわからないとなにも言えん
PrivateBytesはメモ帳ですら数MBいっているのにそれよりシンプルなソフトなのか
0702デフォルトの名無しさん2014/07/08(火) 02:15:19.99ID:CfgSejZA
class A {
public $i;
}

PHPでこれ一個newしたら400バイト以上使う
0703デフォルトの名無しさん2014/07/08(火) 03:52:52.21ID:M37XHoid
>>702
そういう検証しやすいネタはいいね。

こういうコードを書いて5秒後にpsコマンドでVSZとRSSがどれだけ増えるかやってみたよ。
<?php
class A {
public $i;
}

sleep(5);
for($i = 0; $i < $argv[1]; $i++) {
$o[$i] = new A();
}
sleep(5);

new 1個・・・ VSZ:+0KB  RSS:+0KB
new 10個・・・ VSZ:+0KB  RSS:+0KB
new 100個・・・ VSZ:+0KB  RSS:+0KB
new 200個・・・ VSZ:+260KB  RSS:+0KB
new 500個・・・ VSZ:+260KB  RSS:+0KB
new 700個・・・ VSZ:+260KB  RSS:+260KB
new 1000個・・・ VSZ:+260KB  RSS:+260KB
new 1020個・・・ VSZ:+260KB  RSS:+260KB
new 1023個・・・ VSZ:+260KB  RSS:+260KB
new 1024個・・・ VSZ:+520KB  RSS:+260KB
new 1050個・・・ VSZ:+520KB  RSS:+260KB
new 1500個・・・ VSZ:+520KB  RSS:+524KB

切りが良い数字で増えたね。このことから1個ごとにメモリが増えるわけじゃなく、
ある単位ごとで一気にメモリが増えている。

ここから計算するとオブジェクト1個あたり260バイトのようだ。
0704デフォルトの名無しさん2014/07/08(火) 03:58:15.34ID:M37XHoid
さてここで、疑問がある。

class A {
public $i;
public $j;
public $k;
public $l;
public $m;
public $n;
}

これだと、new 1023個した場合どうなるか?である。

$i一個のとき1023個で260KB、1024個だと520KBだから、
$i 〜 $n の6個だと、1023個newしたら260KBを超えるだろうと、
単純に考える。

だけど答えは260KBのままだった。

つまり、話はそんなに単純じゃないんだよね。
オブジェクト1個であっても、そこで使用しているバイト数の分確保しているのではなく、
ある程度のブロックで確保していると考えられる。
0705デフォルトの名無しさん2014/07/08(火) 04:14:03.91ID:M37XHoid
やってみたら、$i〜$pの8個の変数まで増やしても
260KBのままだった。

単純計算だが、
class A {
public $i;
}
だと1個あたり260バイトだが、実際にはパディング領域があるからで、
その内訳は多くても一つの変数あたり約32バイトだろう。
実際にはクラス定義にもう少しメモリをしようてい、
変数自体は1つ16バイトとかな?
0706デフォルトの名無しさん2014/07/08(火) 04:23:41.10ID:M37XHoid
念の為に言っておくが、メモリも断片化する。

たとえば1KBのメモリを100個確保して、
偶数個目のメモリを開放すると見事に
1KBごとに使用している・していないという形に断片化する。

OSからメモリを確保する時に、ある程度のブロック単位で
確保するのは、この断片化をなるべく起こらないようにするため。

メモリを確保する時に使用していない領域があるのが嫌だと思うかもしれないが
それはパフォーマンスを上げるために必要なことで、それはC言語のmallocでも
やっていることなんだよ。

メモリプールとか断片化という単語でググればわかるよ。
0707デフォルトの名無しさん2014/07/08(火) 05:32:34.81ID:eSEnngJC
気軽にHackが使えたらいいんだけどな
0708デフォルトの名無しさん2014/07/08(火) 07:41:22.82ID:t74qz3XV
>>706
そんな当たり前のことを説明しなきゃならないほど、レベルが低いんだ。
ここの人たちは。
0709デフォルトの名無しさん2014/07/08(火) 09:39:09.87ID:isXEy+iv
>>708
多言語叩く人なんてそんなレベル

念の為ってついてるけどな
0710デフォルトの名無しさん2014/07/08(火) 09:49:19.72ID:t74qz3XV
>>709
いや、Javaの正しい問題点を正しく述べてべている人のことを、
中途半端なレベルの人が叩いている。
0711デフォルトの名無しさん2014/07/08(火) 10:39:35.41ID:isXEy+iv
>>710
どっちも中途半端だろ?
0712デフォルトの名無しさん2014/07/08(火) 14:31:33.26ID:t74qz3XV
>>711
そんなこと無い。
投稿の文書の美しさなどだけから、才能や能力を判断する無かれ。
0713デフォルトの名無しさん2014/07/08(火) 14:47:37.86ID:DAN/kaNn
いやスレ違いのことを延々と語ってる荒らしだろ
0714デフォルトの名無しさん2014/07/08(火) 19:14:59.57ID:F/+7QgrM
ネイティブ vs 仮想マシンGC付き言語一般のダメさ(PHP, Java, C#, etc...)になっとるな

サーブレットと比べて、PHPはCGI前提ゆえにアプリケーションスコープや
まともなstatic変数が存在しないからキャッシュを作れないところが糞だと思う
memcachedに出し入れして高速化ノウハウとか紹介されてるし
0715デフォルトの名無しさん2014/07/08(火) 19:35:36.20ID:isXEy+iv
>>714
いつの時代の人ですか?
0716デフォルトの名無しさん2014/07/08(火) 21:04:49.73ID:JciV060L
PHPは仮想マシンじゃなくてインタプリタだろ
C#はネイティブにもできるしな
0717デフォルトの名無しさん2014/07/08(火) 21:15:56.44ID:0HE/NAtT
>>716
ZendのPHPはな。あとインタプリタっても、実行の度にソースコード解析してるわけじゃないぞ。
あとあとFacebookのPHP実装(HHVM)は仮想マシンだぞ。
分かってるのかもしれないが、ここまで言わにゃあ勘違いされるぞ。
0718デフォルトの名無しさん2014/07/08(火) 22:33:53.86ID:F/+7QgrM
PHPは名前空間の\や$this->必須なのも糞いな。嫌がらせとしか思えんセンスだわ
0719デフォルトの名無しさん2014/07/08(火) 23:05:29.95ID:0HE/NAtT
>>718
macだからバックスラッシュはそんなに嫌ではない。
$thisは面倒ではある。アロー演算子なんで余計にな
0720デフォルトの名無しさん2014/07/08(火) 23:05:48.32ID:M37XHoid
>>718
> PHPは名前空間の\や$this->必須なのも糞いな。嫌がらせとしか思えんセンスだわ
C++を参考にしているからかな。
0721デフォルトの名無しさん2014/07/08(火) 23:14:17.59ID:MFU1oOcl
>>718
thisが必須でないJavaの方がキモいわ。
ローカル変数とメンバ変数の違いが判らんだろ
0722デフォルトの名無しさん2014/07/08(火) 23:29:13.47ID:vanWZNwy
>>721
つシンタックスハイライト
0723デフォルトの名無しさん2014/07/08(火) 23:45:49.75ID:MFU1oOcl
>>721
IDEの力に頼ってる時点で駄目
0724デフォルトの名無しさん2014/07/08(火) 23:46:45.47ID:MFU1oOcl
>>723>>722宛てな
0725デフォルトの名無しさん2014/07/08(火) 23:48:50.24ID:M37XHoid
そのうち>>723はテキストエディタの力に
頼ってる時点でダメとかいいそうだよな。

補完するな、全てを覚えろ。みたいなw
0726デフォルトの名無しさん2014/07/08(火) 23:49:41.55ID:vanWZNwy
>>724
シンタックスハイライトなんて、ヘボエディタでもviでもEmacsでもサポートしてんじゃん。
メモ帳でプログラミングするのかよ、ダサ
0727デフォルトの名無しさん2014/07/09(水) 00:10:20.28ID:q/0HKq/r
シンタックスがだめならプリフィクスでも付けたら?
何とでもなるよ
0728デフォルトの名無しさん2014/07/09(水) 00:16:01.45ID:Uj/pBvlL
プリフィクス一択
0729デフォルトの名無しさん2014/07/09(水) 09:51:07.32ID:9+17vlT8
this.xxx = xxx;

より、

m_xxx = xxx;

の方が便利。
0730デフォルトの名無しさん2014/07/09(水) 12:25:57.74ID:V4w6/u2b
プレフィックスはださい。特にC++は
0731デフォルトの名無しさん2014/07/09(水) 14:45:09.57ID:Z9U3ERYz
this. と m_ は、文字数が 5 対 2 で、後者のほうが記述効率が良い。
0732デフォルトの名無しさん2014/07/09(水) 15:01:18.02ID:g1gM0anc
m_xxx をgrep検索すると、メンバ変数定義の部分まで表示できるのに対し、
this.xxx だと表示できない。

逆に xxx を検索すると local 変数まで検索されてしまう。
0733デフォルトの名無しさん2014/07/09(水) 15:17:40.54ID:6LMuMalC
$this->client->info = "名前:".$this->name.", "."E-mail:".$this->mail;
0734デフォルトの名無しさん2014/07/09(水) 15:26:51.26ID:g1gM0anc
$this->client->info

こういう場合、$this->info を検索しても、メンバ変数は検索できない
んだね。

やはり、m_xxx の法が便利だ。
0735デフォルトの名無しさん2014/07/09(水) 15:33:49.13ID:1SU4YkH/
C#ならIDEで名前ではなく、ちゃんと構文解析して探してくれるので
0736デフォルトの名無しさん2014/07/09(水) 15:43:24.12ID:LA3y01hh
>>735
自分の好きなエディタが使えないし、コードを書きかけの時は、
うまく働かないときもあるのでは。
0737デフォルトの名無しさん2014/07/09(水) 15:50:12.13ID:LA3y01hh
あと、m_xxx で問題ないのに、敢えてMSのIDEにしかない機能を頼る事もない。
0738デフォルトの名無しさん2014/07/09(水) 15:57:23.21ID:1SU4YkH/
>>736
別のエディタつかいたいならm_も別にいいんじゃない?
そもそもC#を他のエディタで書こうとは思わんから、つけないけど
インテリセンスなしとかきついし

Roslynでブラウザ上でも参照検索とかできめるから、他のエディタでもm_とかいらない時代くるかも
0739デフォルトの名無しさん2014/07/09(水) 15:57:48.84ID:6LMuMalC
構文解析?

javaやc#は静的型付け言語だからIDEがメソッドや変数を探せるんだよ
Eclipse・VisualStudioといったIDEの種類による都合ではない
0740デフォルトの名無しさん2014/07/09(水) 16:03:05.20ID:LA3y01hh
>>738
WzEditor だと、m_xxx タイプなら瞬間的にすぐ上のものを検索したり
出来るんだよ。IDE だときついと思うが。
0741デフォルトの名無しさん2014/07/09(水) 16:05:00.95ID:1SU4YkH/
>>739
ためにはちゃんとIDEが構文解析してメソッド名とかを取得するでしょ?
0742デフォルトの名無しさん2014/07/09(水) 16:05:42.84ID:1SU4YkH/
>>740
上のものってどういう意味?
0743デフォルトの名無しさん2014/07/09(水) 16:10:17.99ID:LA3y01hh
>>740
F9 キーでカーソル以後の単語を読み込んで、SHIFT+上 キーで
それより前の行にある単語を検索できる。IDEだとそこまで快適には
出来ない気がする。
0744デフォルトの名無しさん2014/07/09(水) 16:21:28.55ID:6LMuMalC
階層深いオブジェクトを全部プレフィックスつけてあらかじめ解体しておくのか?
どちらにしろ、それを突き詰めると静的型付け言語が良いねって話になるぞ

function __constractor($client){
$info = $client->info;
$this->m_name = $info->name;
$this->m_email= $info->email;
$this->m_password = $info->password;
}
0745デフォルトの名無しさん2014/07/09(水) 16:21:41.79ID:YSvBHpPH
こいつらPDTやPhpStorm使ったこと無いんだろうな
0746デフォルトの名無しさん2014/07/09(水) 16:25:11.46ID:LA3y01hh
C++流にはだったら:

function __constractor($client){
 $info    = $client->m_info;
 m_name    = $info->m_name;
 m_email   = $info->m_email;
 m_password = $info->m_password;
}

と書くけど。
0747デフォルトの名無しさん2014/07/09(水) 16:25:27.12ID:YSvBHpPH
>>739
静的型付けは型が決まってるから補完しやすいだけで、動的言語でも頑張ればできる。
PhpStormやPDTはかなりの精度だぞ
0748デフォルトの名無しさん2014/07/09(水) 16:32:57.49ID:pubU33im
ID:t74qz3XV は最高のプログラマだろ。文体が慇懃無礼な感じですぐ分かる。自演バレバレで恥ずかしいな。
てか、「俺は能力がある。俺の言っていることは正しい。異論は認めない。が、俺の論理が正しいことの根拠は俺は忙しいので見せてやらない。」ということを言ったってだれも賛同してくれねーよ。
到底プログラマーとしてのろくな経験があると思えない素人さんだな。
0749デフォルトの名無しさん2014/07/09(水) 16:39:26.17ID:6LMuMalC
最高のプログラマってどっかのコテハンか何か?
0750デフォルトの名無しさん2014/07/09(水) 16:42:47.55ID:pubU33im
てか ID:LA3y01hh も同一人物だろうな。
>>746とかconstructorの綴り間違えてたり、$つけ忘れてたりthisつけ忘れてたり、偉そうな書き込みする割には手落ちが多すぎる。
その上IDEの強力な構文解析がその辺のエディタのパターンマッチング&マクロで代替できると思ってる。
しかもIDEを否定する理由が方法も考えたこと無いのに「快適にはできない気がする」だしな。

他人の意見は一切聞くことができない、ドヤ顔で自分の意見だけを語りたい、人付き合いの殆ど無い頭の硬い嫌なオッサンなんだろうな。

相手してもしょうがないでしょ。

>>747
PDTってそんなに精度いいかな?今は亡きPHPEclipseとくらべて、PHPEclipseの方が良い感じだなあという印象だった。
具体的には一つのindex.phpからrequireされるアクションクラスとユーティリティクラスがあって、アクションクラスの方からユーティリティクラスをnewした後に
そのクラスのメソッドを補完できるかできないかという違いがあった。
そこまで不満になるほど精度悪い、という訳ではないけれども。
0751デフォルトの名無しさん2014/07/09(水) 16:45:51.78ID:pubU33im
>>749
>>622あたりからJavaはC++に比べて同じオブジェクト作るのに10-100倍くらいメモリ消費するから糞だとかいうわけのわからん自説を展開してる人。
おかしなところに突っ込んでも理解してもらえずスルー
0752デフォルトの名無しさん2014/07/09(水) 16:54:57.89ID:6LMuMalC
>オイラは、実際に、最高レベルのプログラマだと評価が有る。
>めったなことでは間違わないよ。

こいつか。ワロタ。TRPGパラノイアかと思ったぜ
0753デフォルトの名無しさん2014/07/09(水) 16:55:23.29ID:1SU4YkH/
>>743
カーソルの下にある単語で検索をかけて、移動するってこと?
VisualStudioだと、単語としてならCtrl+Shift+F3
文脈読んでローカル変数とかフィールドとかを区別するときはCtrl+Shift+上でいける

しかも、他のクラスのメソッドとかと名前がかぶってもある程度区別してくれる

C#は文脈キーワードが多いからシンタックスハイライトもRoslynつかうかIDEじゃないと完全には無理だと思うよ
0754デフォルトの名無しさん2014/07/09(水) 17:15:54.89ID:LA3y01hh
やっぱ天才は凡人には理解してもらえないのさ。
0755デフォルトの名無しさん2014/07/09(水) 17:37:45.42ID:LA3y01hh
>>750
>他人の意見は一切聞くことができない

あはは。そりゃ、天才にとっては余りにも当たり前なことを凡人は証明
しないと納得できないからだよ。証明しろ、証明しろと言ってくる。
0756デフォルトの名無しさん2014/07/09(水) 17:49:40.92ID:YSvBHpPH
>>750
自分で言っててあれだけど、確かにPDTは言うほどではない。
俺はJava慣れてるから、EclipseのPDT使いやすいと思っただけかも。
0757デフォルトの名無しさん2014/07/09(水) 17:59:08.62ID:pubU33im
>>755
証明を要求する人たちとコミュニケーションをとりたくないなら2chに書き込まないほうがいいよ、ブログに書いて天才同士で交流したほうが効率的だよ
0758デフォルトの名無しさん2014/07/09(水) 20:45:18.35ID:amMo63ZQ
PHP はだいたい emacs で書いてる。たまに vi
0759デフォルトの名無しさん2014/07/11(金) 19:39:02.54ID:inU81yI5
eclipseは重いらしいが、Javaで書かれていることが主な原因だろう。
特にメモリ周りが重いかも。
0760デフォルトの名無しさん2014/07/11(金) 23:05:23.74ID:/84HdtBK
また最高のプログラマさんがなんか言ってるのかな
VisualStudioでC++書くときよりEclipseでC++書くときのほうが軽いわ。
0761デフォルトの名無しさん2014/07/11(金) 23:33:15.84ID:LapjKz7x
>>760
eclipseは重いという話をネットで見かけたが。
0762デフォルトの名無しさん2014/07/12(土) 01:20:44.41ID:qvFsgpuu
らしい云々じゃ誰も納得せんのだから、試してからモノ言ってはどうか
試すヒマもないとかあると思うけど、知らねえなら黙ってろって言われてお終いでしょ

普段Android開発やりとりで使ってるけど確かに重いなと感じる事はあるんだけど、そもそも組み込みエディタのカスタマイズ性に苦痛がある
重さだけ見たら多分無視できるレベルだと思うわ。Atomなネットブックでやってるのでなけりゃ気にならん

カスタマイズが弱すぎるのが辛いなぁ
vimカスタムでやってきた派としては、このIDEとしての恩恵が無視できるレベルだと思うのだけど皆さんどうなんだろ
独自エディタプラグイン作れと?
0763デフォルトの名無しさん2014/07/12(土) 01:32:11.14ID:UUivqCYR
>>762
そもそもバリバリにカスタマイズするのは、IDEのメインユーザに対して需要がない。
IDEってなんでも入ってるから、プログラムの大小に関わらず、インストールさえすればコーディング&実行できるってのが利点なんだわ。
vimやemacsは簡単なプログラムなら問題ないが、使いこなそうとすると覚えないといけないことが多すぎてめんどい。
0764デフォルトの名無しさん2014/07/12(土) 07:51:59.47ID:LaymN89h
>>760
そもそも、gcc は C++ のコンパイル速度が VC++ に比べてだいぶ遅い
んじゃない?

VC++でpch(pre compiled header)を使った場合は 30 倍程度、pch を使わない
場合でも、10倍弱程度の差が有ると思う。
0765デフォルトの名無しさん2014/07/12(土) 07:55:12.18ID:LaymN89h
>>763
>そもそもバリバリにカスタマイズするのは、IDEのメインユーザに対して需要がない。
>IDEってなんでも入ってるから、プログラムの大小に関わらず、インストールさえすればコーディング&実行できるってのが利点なんだわ。

でも VC++ のIDE は、好きなエディタと組み合わせて使えるし、カスタマイズ
も可能だし、バリバリのプログラマでも、IDE なしでは困るくらいの便利さは
持ってる。
0766デフォルトの名無しさん2014/07/12(土) 08:02:39.22ID:LaymN89h
>>762
>らしい云々じゃ誰も納得せんのだから、試してからモノ言ってはどうか
>試すヒマもないとかあると思うけど、知らねえなら黙ってろって言われてお終いでしょ

かなり試してから言っても同じ。
不都合な真実が書かれると、バッシングされて終わり。
0767デフォルトの名無しさん2014/07/12(土) 12:25:00.24ID:gJLYIyot
真実に目覚めよ(くわっ
0768デフォルトの名無しさん2014/07/12(土) 12:47:24.91ID:GEPvnRyB
起動が重いのかテキストエディタの反応が悪いのか
裏で走ってるコンパイラが重いのか
クソなプラグインが悪さしているのか
ム板民なら切り分けて当然
0769デフォルトの名無しさん2014/07/12(土) 14:30:07.42ID:/MFQssgb
>>764-766
コンパイル速度についてはどういうプログラムをコンパイルした上で言ってるの?
自分がよくコンパイルするプログラム程度では10倍の差があるなんて感じたことはないな。
あとそもそもEclipseだからってgccに縛られるわけじゃないし、Eclipseでcl.exeを使うことだってできる。
というかgccを選ぶかcl.exeを選ぶかはIDEの選択によって決めるようなものじゃないだろ。比較対象がおかしい。

そしてEclipseだって別のエディタを起動できるし。

本当にVCと同程度の時間使ってみて、不満を自分なりに解消する努力をしてから言ってるのかな?
Javaは100-1000倍メモリ食うとかいう謎な妄想にとりつかれて、Eclipseはダメだって思い込みが激しすぎてほとんど使ってなくて想像でものを言ってるんじゃないの?

不都合な真実もなにも、こっちはVisual StudioもEclipseもXcodeも使わざるを得ない状況でそれぞれでC++を書いたときに
それぞれどういうところが使いづらいかある程度わかった上でものを言っている。
どれか一つのシンパとかいうことはないので不都合な真実なんかないわけ。

まあ、「自分は最高のプログラマだと評価を受けている。だから自分の言っていることは間違ってないんだ。批判をしてくる連中は不都合があるから言論を封殺してるんだ」と
思い込んでるような奴になにを言っても無駄だとは思うけど。

バッシングっていうか反論されたくないなら、ブログに書いて賛同してくれる人のコメント以外消すとかにしたほうがいいよ。ここは2chなんだから疑り深い他人に納得してもらうためには
そのための証拠が必要だ。
0770デフォルトの名無しさん2014/07/12(土) 14:36:44.17ID:/MFQssgb
つーかこいつEclipse総合スレに行って質問してるw

979 名前:デフォルトの名無しさん[sage] 投稿日:2014/07/12(土) 08:29:44.87 ID:LaymN89h
以下のようなことをネットで見つけましたが、真実でしょうか?
真実だとしたらどの程度ですか?

・eclipse は重い
・eclipse は、よく「落ちる」。例えば一日に10回ほど落ちるか、
 ハングアップする?
・eclipseはメモリを大量に消費するので、JVMのメモリオプションを
 変更したり、起動中にGCを手動で行う必要が有る。

全然使ったこと無いで印象だけで批判してんのな。試したこともないでネット上で見つけた感想みたいなので持論を展開するのに「最高のプログラマ」って…
0771デフォルトの名無しさん2014/07/12(土) 15:32:59.84ID:LaymN89h
>>769
>コンパイル速度についてはどういうプログラムをコンパイルした上で言ってるの?

一つは、自分で書いた小さなプログラム。後は、OSSのプログラムをmakeした
時の経験。VC++6.0でも、昔のtccでも経験したことの無い程度の時間をgccは
コンパイルに必要とするように感じた。

>自分がよくコンパイルするプログラム程度では10倍の差があるなんて感じたことはないな。

自分はかなり古いCPU(Pen4, 3GHz)を使っているので差が目立つのかもしれ
ない。最近のCPUでは分からないだけかも。
0772デフォルトの名無しさん2014/07/12(土) 15:39:45.82ID:LaymN89h
>>769
>本当にVCと同程度の時間使ってみて、不満を自分なりに解消する努力をしてから言ってるのかな?
>Javaは100-1000倍メモリ食うとかいう謎な妄想にとりつかれて、Eclipseはダメだって思い込みが激しすぎてほとんど使ってなくて想像でものを言ってるんじゃないの?

eclipseは一度も使った事が無いが、Javaがメモリを馬鹿食いする実例
としてeclipseも該当するのではないか、と思えたので話しにあげてみた。

IDEというのはDOS時代からあって、その時代、メインに使えるのは
640KBだけだった。eclipseは、1GB (1500倍)も欲すると聞いた。
ユーザーのコード量は、その時代より1500倍 に増加した分けではない。
標準的なユーザー・コード量は余り変わって無いか、多くても10倍
程度までだ。そうすると、Javaは、DOS時代のIDEの150〜1500倍も
メモリを必要とすることになる。この結果は、自前のJavaコードの
実験結果と一致している。
0773デフォルトの名無しさん2014/07/12(土) 15:41:42.84ID:/MFQssgb
>>771
> OSSのプログラムをmakeした
これは、もちろん同じプログラムをVCのコンパイラ・リンカを使ってビルドして時間を比較したうえで、gccの方がVCより10倍遅いって言ってるんだよね?
0774デフォルトの名無しさん2014/07/12(土) 15:48:01.10ID:/MFQssgb
>>772
DOS時代のメチャクチャ貧弱なIDEと比較して何の意味があるわけ?
そしてEclipseを一回も使ったことがないのに他人からの伝聞だけでEclipseを評価するな。
ちなみに今VisualStudioでC++を書いてるが、メモリは400MBくらい使ってる。Eclipseの方は700MBくらいだ。
精々2倍。100-1000倍とかいうことはない。

とにかく、「プログラマ」を自称するつもりが今後もあるならば、伝聞、推測、妄想でものを言うなよ。少なくとも測定して具体的なデータが出てから言えよ。
測定方法に文句が出たときはその文句に対応しろよ。そうじゃなきゃ、なんにもわかってない初心者がワーワー喚いているのと同じ。いまのあんたの状態はそういう状態なんだよ。
いくらDOS時代からの趣味プログラミングの経験があろうともね。
つーかDOS時代だってEMSとかXMSとかあったし、本当に640kBのメインメモリだけでやりくりしてた時代ばかりじゃないだろ。
0775デフォルトの名無しさん2014/07/12(土) 15:57:50.33ID:LaymN89h
>>773
言ってない。
その意味では厳密性は欠く。

>>774
>DOS時代のメチャクチャ貧弱なIDEと比較し

デバッグ時にブレイクポイントも変数の表示は出来たはずで、
それほど貧弱でもない。

>ちなみに今VisualStudioでC++を書いてるが、メモリは400MBくらい使ってる。Eclipseの方は700MBくらいだ。

今見たところ、VC++ のIDE自体は、12MBしか使ってない。400MB や
700MBというのは、OSを含んだ恐らくシステム全体のメモリ量のこと
だと思うが、だとすると、eclipseは、VC++ よりも 300MB も多いこと
になり、312MB 食っている計算になる。ということは、312/12=26倍
もeclipseはVC++よりメモリを食っていることになる。

>とにかく、「プログラマ」を自称するつもりが今後もあるならば、
>伝聞、推測、妄想でものを言うなよ。少なくとも測定して具体的な
>データが出てから言えよ。

責任ある雑誌などで、最終結論を書くときはもちろんそうだが、
今は中間的な報告で、今は他の人の経験を聞いている段階。
あなたの意見も一つだが、それがすべてでは無いと思う。
0776デフォルトの名無しさん2014/07/12(土) 16:16:18.50ID:Ev8rKuO+
スレ違いだ馬鹿共
0777デフォルトの名無しさん2014/07/12(土) 16:50:30.28ID:/MFQssgb
>>775
12MB?バージョンいくつ使ってるわけ?
ちなみに自分がいまEclipseとVisualStudio両方起動してタスクマネージャのスクリーンショットをとったらこんな感じだ。
http://gyazo.com/31b758d145601b53388d1ccbef39ef6f
javaw.exeがEclispe、devenv.exeがVisual Studio。

26倍なんてことはない。
ちなみにEclipseは同一ワークスペースなら複数のプロジェクトを一つのexeで同時に開けるのに対して、
Visual Studioはソリューション毎になるから複数ソリューションをまたいだ場合はEclipseの方が省メモリなんてこともある。

古い設計のアプリケーションと最新のアプリケーションを比較してなんの意味があるんだ?VSもEclipseもどっちもバージョンが上がる毎にどんどんメモリを食う量は増えてる。
Javaの方が2倍とかその程度には不利だということはあると思うけど、10倍20倍の差は出ないのが普通。
0778デフォルトの名無しさん2014/07/12(土) 17:02:14.90ID:LaymN89h
>>777
自分は、VC++6.0 だが、比較的大きなプロジェクト(ワークスペース)を
ロードした状態で、CTRL+ALT+DELの「Windows タスクマネージャー」で、

イメージ名:msdev.exe
メモリ使用量:12,536K(起動直後), 2,620K(数十秒後)
仮想メモリサイズ:10,512K

と表示される。
0779デフォルトの名無しさん2014/07/12(土) 17:59:27.42ID:4TUef3KK
>>778
VC6とかいうサポートも終わったような10年以上前のIDEを基準にしてるオッサン乙
はいはい解散
一生VC6使ってろよw
0780デフォルトの名無しさん2014/07/12(土) 19:55:54.77ID:QxcUStnc
>>778
だからなんのメモリを見てるんだよ
ワーキングセット?プライベート?

それにVC6はインテリセンスも不完全だし、機能的に劣ってるんだからメモリ使用量少ないに決まってるじゃん
DOSよりライブラリの容量も増加して、インテリセンスでデータベースだけで何百MBもあったりするし
OSのAPIのメモリ使用量自体がちがう

そもそも、メモリに余裕がある現代はメモリにキャッシュして高速化をはかってんだぞ?
当時は極力ディスクに追い出したんじゃないだろうか
メモリ使用量だけみて無駄遣いとしか判断できないのは重症
0781デフォルトの名無しさん2014/07/12(土) 23:19:56.65ID:bYbbILg6
メモリ使用量 = プロセスの現在のワーキングセット
       = 現在メモリに常駐しているページの数

仮想メモリサイズ = プロセスにコミットされた仮想メモリの量。
         = アドレス空間の総量。
0782デフォルトの名無しさん2014/07/12(土) 23:22:14.06ID:bYbbILg6
>>780
>そもそも、メモリに余裕がある現代はメモリにキャッシュして高速化をはかってんだぞ?
>当時は極力ディスクに追い出したんじゃないだろうか
>メモリ使用量だけみて無駄遣いとしか判断できないのは重症

はあ、その結果、重くてコンパイル待ち時間にコーヒー入れてくつろげる
ようにしたのが eclipse ですか。

高速化とは、コーヒーの待ち時間を作ることだったんだ。メモφ(・_・)
0783デフォルトの名無しさん2014/07/12(土) 23:30:57.65ID:bYbbILg6
>>779
古いIDEを使っているから、間違ったことを言っていると決め付けるん
ですか。

最新のハード、最新のOS、最新のIDEを使っている人以外は正しい判断が
出来ないとでも?
0784デフォルトの名無しさん2014/07/12(土) 23:47:21.04ID:QxcUStnc
>>781
ワーキングセットは共有DLLと
0785デフォルトの名無しさん2014/07/12(土) 23:51:08.38ID:QxcUStnc
>>784
誤爆

>>781
ワーキングセットは共有DLLとプライベートワーキングセットが含まれると思うんだけど
0786Jolly Rogers ◆0tkoCr0voc 2014/07/12(土) 23:53:56.98ID:1ZmhyZTN
>782
VC6を、出た当時のマシンで使うと、コンパイルかけたらコーヒーブレイクどころか昼食いってもまだ終わらない、なんてこともあったが?

VC6の頃と今とじゃ、マシンのスペックは100倍じゃ効かないしなあ。
0787デフォルトの名無しさん2014/07/12(土) 23:59:13.36ID:QxcUStnc
>>782
コンパイルとIDEにどんな関係があるの?
コンパイルが遅いのはコンパイラの問題では?
0788Jolly Rogers ◆0tkoCr0voc 2014/07/13(日) 00:05:51.45ID:HA7ujDQg
>783
少なくとも現在サポートの受けられるOS向けのターゲットアプリを作るのに適してない、古い環境持ってきても意味はないな。
0789デフォルトの名無しさん2014/07/13(日) 00:16:34.42ID:oz53nHyg
>>782
そもそもEclipse使ったことがないのに妄想でコーヒーブレイクとか言ってんのか
差分だけとかじゃない限り、Cのコンパイルに時間がかかるのは昔からだろ
0790デフォルトの名無しさん2014/07/13(日) 00:37:21.09ID:U7MouUtR
分割コンパイルしないと未だに長いもんな
0791デフォルトの名無しさん2014/07/13(日) 01:32:46.96ID:oywTPTFh
>>783
少なくともVC6は最早主流ではないし、自分の経験や知識を一般化はできないほど少数派になってしまっているだろ。
そういう意味では、一般論を語るのには「正しい判断ができない」。

というか、「他の人の経験を聞いている段階」というのなら、VC6以外のことについては知らないのを自覚して勝手に想像して決め付けんなよ。
0792デフォルトの名無しさん2014/07/13(日) 11:52:38.39ID:pCB2HMHj
硬直というのはこういうことであるという見本
気をつけましょう
自分は柔軟であるという思い込みこそ怖い…
0793デフォルトの名無しさん2014/07/13(日) 14:27:04.11ID:K5eijfLH
>>786
VC++6を出た当時から使ってるけど、VC++6のIDEは最初から十分高速だった。
コンパイルかけても昼食行っている暇などなかった。

VC++6の頃のマシンと今のマシンを比べると、SSEなどの並列化命令を
除けば、3.5倍程度高速になっただけ。これは、Superパイ・ベンチマーク
による結果。100倍は行ってない。
0794デフォルトの名無しさん2014/07/13(日) 15:07:46.99ID:oz53nHyg
規模によって時間は変わるんだよ
あと、最適化とか当時よりだいぶ丁寧にやってるんじゃない?
0795デフォルトの名無しさん2014/07/13(日) 15:13:18.70ID:wXsIV8Q/
規模によって変わるので、別にバージョンは関係ない。
0796デフォルトの名無しさん2014/07/13(日) 15:28:41.31ID:InKoIVOW
ネタが多いな

本人気づいてないんだろうけど
0797デフォルトの名無しさん2014/07/13(日) 16:49:22.98ID:oywTPTFh
あまりにも突っ込みどころが多いので、突っ込みたくなるところをちゃんと研究した上で計算された釣りなのかとちょっと思ってしまう。
■ このスレッドは過去ログ倉庫に格納されています