オブジェクト指向は愚かな考え。この世は計算式 ★2at TECH
オブジェクト指向は愚かな考え。この世は計算式 ★2 - 暇つぶし2ch848:デフォルトの名無しさん
15/12/28 04:28:38.00 WNJ7FWNN.net
言語機能を個別に切り出して評価できると思ってる時点で
言語設計が何もわかってないってことだw

849:デフォルトの名無しさん
15/12/28 04:42:40.88 WNJ7FWNN.net
言語と環境とライブラリを統合することが間違いだという人達は
もちろんemacsなんて使ってないよね?
もちろんIDE(「統合」開発環境)なんて使わないよね?
記述対象の言語を想定したエディタ機能なんて使わないよね?
シンタックスハイライトも構文チェックもフォーマッタも使わないよね?
ソース上の識別子の型情報を見る機能なんて利用しないよね?
cabalやgemのような対象言語に特化したパッケージ管理ツールなんて使わないよね?
仮想マシンのディスクイメージを構成するために言語ごとのランタイム環境を指定して
自動的にデプロイしたりしないよね?
言語と環境とライブラリを統合することが間違いなら、上記はどれも当然のことだよね?

850:デフォルトの名無しさん
15/12/28 04:44:48.24 8sKUVUhj.net
>>833
> 静的型付言語どれにでもあてはまる静的型付言語の特徴は何なの?
システム全体のモジュールの結合性、インターフェースの不一致を
実行前に検出することができる。

851:デフォルトの名無しさん
15/12/28 04:45:33.44 WNJ7FWNN.net
>>836
Cで?

852:デフォルトの名無しさん
15/12/28 04:47:15.02 8sKUVUhj.net
> 言語と環境とライブラリを統合することが間違いだという人達は
> もちろんemacsなんて使ってないよね?
emacs使ってないし、それは関係ない。
emacsはC言語で作られているが、それはそれとして
emacsはOSとは統合されていない。IDEも一緒。
OSと言語は統合してはならない。
OSはSmalltalk以外の言語も動くものでなければならない。
そしてOSはいろんな言語で作られたアプリを相互に連携させて
動かす事ができないといけない

853:デフォルトの名無しさん
15/12/28 04:48:34.11 8sKUVUhj.net
>>837
できるよw
言っておくけど、あんたが出来ない例を示したとしても、
全体的にできるならば「できる」とみなす。
どんなものでも例外はある。

854:デフォルトの名無しさん
15/12/28 04:51:56.55 WNJ7FWNN.net
>>838
> OSと言語は統合してはならない。
まさか、Unixなんて使ってないよね?

855:デフォルトの名無しさん
15/12/28 04:54:39.35 8sKUVUhj.net
>>840
UnixはOSと言語は統合されていない。

856:デフォルトの名無しさん
15/12/28 05:00:26.10 8sKUVUhj.net
例えば、プログラミングをする時のエディタは
好みのエディタを使えなければいけない。
言語専用のエディタを用意するのは構わないが、
その他のエディタ、例えばメモ帳であっても
プログラミングできないといけない。
SmalltalkはSmalltalk専用の使い慣れていないエディタを
強要されてしまう。こういう密結合なシステムはよくない。
柔軟な変更に耐えられなくなる。
言語ではなくて、システム全体の柔軟性が欠けている言語

857:デフォルトの名無しさん
15/12/28 05:03:48.42 WNJ7FWNN.net
Smalltalk環境上でもSmalltalk以外の言語を使えるし、
エディタもSmalltalk専用のエディタなんて使う必要ないし、
君、本当にSmalltalk使ったことあるの?

858:デフォルトの名無しさん
15/12/28 05:07:09.65 8sKUVUhj.net
当たり前だがソフトウェアの開発とバージョン管理システムは切り離せない。
そしてソフトウェアの開発は複数の人でやるものである。
つまりはgitを使う。マージを行う。
(内部的に)ソースコードの差分を出してパッチを当てるような形で
複数の人が書いた複数のコードを統合していく。
いつからバグが入ったのかかを調べるために、特定のコードに巻き戻して再実行したり
複数のブランチで複数のバージョンを平行して開発したり
こういった当たり前の作業がSmalltalkでは非常にやりづらい。
言語ではなくて、システム全体の柔軟性が欠けている言語

859:デフォルトの名無しさん
15/12/28 05:09:49.64 WNJ7FWNN.net
Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、
Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。
例えば URLリンク(tinlizzie.org) とかあるし。
そういうこと知った上で
「Smalltalkは言語とOSが統合されてるからだめ」
「UnixはCと統合されていない」
とか言っちゃうのかなあ?

860:デフォルトの名無しさん
15/12/28 05:10:40.73 WNJ7FWNN.net
もしかして、Smalltalkではgitを使えないと思い込んでる人?

861:デフォルトの名無しさん
15/12/28 05:17:53.48 WNJ7FWNN.net
Smalltalkにも向かない応用というのは、確かにある。
例えば、Smalltalkはお客さん根性全開なプログラマーには向かない。
自分で解決する気はないが文句を言っておけば誰かが解決してくれると思っている人には向かない。

862:デフォルトの名無しさん
15/12/28 09:09:02.56 tjw+19nB.net
WindowsやLinuxで動く他言語のプログラムをわざわざSmalltalk仮想環境上で動かすメリットって存在するか?
>>845のリストにある言語もどれだけマトモに動くか分からんし
そんで例えば、他のいろんな言語と同じくソースはgitで管理します、CIツールにJenkins使います、アプリはDockerで動かします
ってなったら、このスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うよ

863:デフォルトの名無しさん
15/12/28 09:29:47.14 teguHjPL.net
あんまり言語仕様がいろいろ混じってると上手く行かない印象だけどね。
c や javascriptくらいスモールに作っておけばツールなんかは後から誰かが作ってくれる。

864:デフォルトの名無しさん
15/12/28 09:37:56.90 WNJ7FWNN.net
>>848
どうしてこのスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うのかな?
むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
Smalltalkのように問題発生時に自動的にスナップショットを保存して
実行状態を手元の開発機でほぼ完全に再現できる環境はとても便利なんだけど?

865:デフォルトの名無しさん
15/12/28 09:42:56.78 WNJ7FWNN.net
このスレの静的厨の書き込みを読んでいると、
「生まれてこのかたウンコしか食ったことない人は
他人がどんなに旨い料理を出してきても
自分が気に入っている最高のウンコと見た目が違っているという理由で
こんなものが旨いわけがないと思ってしまうのだろうな」
と思わざるをえないw

866:デフォルトの名無しさん
15/12/28 09:43:55.33 WNJ7FWNN.net
好きなだけウンコを食べて生きていけばよろしいw

867:デフォルトの名無しさん
15/12/28 09:45:55.52 MpvL/SZu.net
反対の意見を言うというアルゴリズムで動いているだけ。

868:デフォルトの名無しさん
15/12/28 09:46:14.25 tjw+19nB.net
Dockerイメージだけから実行状態を再現できないってことは、アプリが稼働中に何か状態を持ってしまってるってこと?
それじゃハードウェアやネットワーク障害が起きた時に別のノードに切り替えられないじゃん
使い方間違ってるよ

869:デフォルトの名無しさん
15/12/28 09:55:09.76 MpvL/SZu.net
頭悪いんだから無理しなくていいよ

870:デフォルトの名無しさん
15/12/28 09:59:04.88 teguHjPL.net
自分が使ってないツールは馬鹿だから使ってるとでも思ってるんだろう。
そういう傲慢さが見える。

871:デフォルトの名無しさん
15/12/28 12:16:47.06 VijL79y/.net
>>850
> むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
だからDockerがあれば十分でしょw
つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
テストを再実行するだけでいい。
だいたいさ、デバッグっていうのはバグでおかしくなった "原因" を
取り除く行為であって、バグでおかしくなった "状態" を修復することじゃない。
バグが起きたあとの情報を保存しても意味ないんだよ。
具体例出す? バグで100を加える所に、200を加えてしまった。
数値がおかしい!と気づいた時には、もう手遅れでその状態を保存することに意味は無い。
異常な状態になる前を保存するならまだ意味はわかるけどさ。
異常状態になったら、その結果を破棄して、最初から同じことを繰り返す。
つまり自動テストな。これが必要なものであって、異常データの保存じゃないから。
Dockerもそう。Dockerは今の状態を保存するものではなくて、
Dockerfileという定義ファイルから、ゼロの状態から同じ実行環境を作り出すもの。

872:デフォルトの名無しさん
15/12/28 12:35:09.10 Tl4NM7En.net
つーか実際死んでるだしこれ以上死体叩きしても意味ないだろ
ネクロマンサーもネクロマンサーでみんながそれに興味ないのにムカつくのは分かるけど、いくらその死体が高貴だからと言って死んでるのを認めずに生者の世界に持ち込むもんじゃない

873:デフォルトの名無しさん
15/12/28 13:30:49.05 WNJ7FWNN.net
> つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
> テストを再実行するだけでいい。
ああ、やっぱり問題をまるで理解していないw
同じ状態をつくるのは本当に簡単なのかな?
簡単って言ってるうちはド初心者だよw

874:デフォルトの名無しさん
15/12/28 13:35:19.93 VijL79y/.net


875:ef="../test/read.cgi/tech/1450153388/859" target="_blank">>>859 理解してないのはお前だろ。 > 同じ状態をつくるのは本当に簡単なのかな? 同じ状態を作れないとテストにならん。 バグった状態のデータを持ってこられても意味ない。 同じ状態になる手順を再現できんとバグの修正なんぞできん。 それにそもそも異常な状態を保存した所で 意味は無いといったばかりだ。 > 簡単って言ってるうちはド初心者だよw またいつものやつだねw 「俺が正しい、なぜならば・・・その説明はしない!」



876:デフォルトの名無しさん
15/12/28 13:35:24.50 WNJ7FWNN.net
でも死体から派生してきたTraitsとか、スクリプトによる仮想イメージ構築とかは、
「わーい、最新技術だー」とか飛びつくんでしょ?
くすくす

877:デフォルトの名無しさん
15/12/28 13:37:51.01 VijL79y/.net
話をすり替え始めたかw
自分で、Dockerを持ってきて、Dockerの話に
俺がついてこれるもんだから、
自分が持ってきた最新技術(笑)を叩き始めたな。

878:uy ◆Qawu9.2l1E
15/12/28 13:44:54.53 FI1ndW8l.net
そこのアスペ2人はコテつけてくんない?

879:uy ◆Qawu9.2l1E
15/12/28 13:45:25.55 KRgYgwWB.net
アスペ2人がレスバトルしてるのはスレの最初のほうから分かってるけど流れがわかりにくい

880:デフォルトの名無しさん
15/12/28 13:56:26.18 Ieq5nvcS.net
>>861
そりゃそうだろ。それが本当に最新技術なのかはさておき偉大なる歴史上の死人から得るものは使うだろ
ただ、まるでその人がまだ現役であるかのように語るから話がこじれるわけで

881:デフォルトの名無しさん
15/12/28 14:01:17.54 gtimbSrX.net
>>845
>Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、
>Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。
ふーん。そーなんだー。

で、出てきた例がこれ
>例えば URLリンク(tinlizzie.org) とかあるし。

ショボすぎるw
Unixでどれだけの言語が動くと思ってんだ
絵に描いた餅で対抗しようとすんな

誰も使ってないSmalltalk環境でSmalltalkの為だけの仮想イメージを作れても意味ないんだよ
色んな言語の色んなアプリが動くLinuxで作れることに価値がある

882:デフォルトの名無しさん
15/12/28 14:22:51.43 WNJ7FWNN.net
>>860
> 同じ状態を作れないとテストにならん。
で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな?
どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw
それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、
君はプログラミングを習いはじめて3秒目ぐらいの初心者かい?
初心者としてもバカすぎてお話にならないw

883:デフォルトの名無しさん
15/12/28 14:27:53.96 WNJ7FWNN.net
>>866
君の言う通りだよ。Smalltalkはもう死んだということで結構だよ。
だから君は消費者としてMSやAppleの開発環境でモンスタークレーマーになっていなさい。
君はただ上を向いて口をポカーンと開けて、処理系開発者様がスプーンで食べ物を与えてくれるのを
ブーブーと文句を言いながら待ち続けていなさい。
間違ってもプログラマーなんて名乗らないように。

884:デフォルトの名無しさん
15/12/28 14:35:23.75 i875NmCw.net
Smalltalkの人がいくら遅延結合がどうとか生態系がどうとか言っても
世間で使われてないということは現実に合っていないということ、これが全て
Smalltalkの人は現実の生態系の話を持ちだしてアレコレ言うが、それはマヤカシで
そんなに現実に有っているならもっと使われているはずということ
つまりは生態系云々の話はプロセスとかサービスとかサーバーとか
そういう大きな粒度で扱う物事であってオブジェクトのような小さな粒度に持ち込んでも
現実に合っていない、人間社会の仕事の流れにマッチしていない、だから使われない
極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない
ということは、バカにでも分かる
何度も言うが現実に合っていないから使われていないのだ
これはまさに一般的なサラリーマンの家庭に4トントラックを売り込んで居るようなもので
生活スタイルにマッチしていないから売れないし、そんなことは当たり前でバカにでも分かる
マッチしていれば売れるし、マッチしていなければ売れない
大きさとか、粒度とか、そういう問題は何にでも存在していて、ラジコンを拡大しても乗用車にはならない
ラジコンにはラジコンのやり方、乗用車には乗用車のやり方がある
そんなバカにでも分かる簡単なんことが分からないのが、このスレで暴れているSmalltalker
こんな調子だから世間でSmalltalkは使われてないし
使われていないのは現実にマッチしていないから、ということすらわからない
現実世界の生態系を模範したつもりが、粒度やスケールを間違っていてアンマッチになった悲しい言語

885:デフォルトの名無しさん
15/12/28 15:00:43.88 kIejf3VS.net
>>868
便利を求める奴はプログラマーじゃないということ?

886:デフォルトの名無しさん
15/12/28 15:06:42.69 VijL79y/.net
>>867
> で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな?
> どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw
だから実行された後の状態を保存したって、何の意味もないだろ。
おかしくなったデータを再現したって、それでどうするんだよ。
ログって知ってるか?ログって。デバッグするためには、
実行結果じゃなくて、実行の仮定が記録されてないと意味ないんだよ。
だいたい、いつどうやってデータ保存するんだ?おかしくなったデータを
保存しているサーバーに入って、実行プロセスを停止してデバッグでも始めるのか?
俺なら普通にデータベースのデータ見るわw

887:デフォルトの名無しさん
15/12/28 15:10:28.69 VijL79y/.net
>>867
> それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、
同じ状態を作るのが簡単なんて言った覚え無いけど?w
お前はすぐに思い込む、俺が言ったことにするよな?

俺が言ってるのは、同じ状態を作っても、それでデバッグするのは難しいってこと。
状態をすべてのリアルタイム記録し続けてるわけじゃないだろ。
バグを実行して、おかしくなったデータの状態を取るのが精一杯だろ。
(ログは状態の一部とはいえ、記録し続けてるからデバッグの役に立つ)
それと同じ状態を作るのが難しかろうが、それをやってバグになる手順を再現できないとダメ
難しいから何? 難しいのをやるのがプロってもんだ。

888:デフォルトの名無しさん
15/12/28 15:17:13.08 pElGsOOM.net
>>805
>論よりコードで、とりあえずSmalltalkの>>680をObj-Cでやるとどんな感じ?
Objective-Cはsmalltalk式のクラス取り回しができるCだから
NSObjectのxを宣言してメソッドも値もない空のオブジェクト作って~から
>>666の「そのままデバッガで~」辺りまでは書き方違うだけでいっしょかなぁ。
動的にシステムデバッガ?でやらないで段階ごとにコンパイルしながらだけど。
むしろそのあたりまでは>>666のなにが他の言語だとできないのかがピンとこない。
例外が~あたりはメソッドだけ書いてreturn @"quuuex"とかしとけばいいのかしら…
「xをXに~」あたりはデバッガでクラス名を一括で変えてるってこと?
永続化はたぶんcoredataフレームワークあたりだろうけどiOSアプリ程度だと
システムのwillterminateメッセージに対応して最終情報をセーブぐらいで済んでるから
あんまり使ってる人見ないなぁ…
coredata自体はレジュームとかiOSの背後に回ったアプリのフリーズドライ
(休眠アプリを圧縮してテンポラリ退避してメモリ空ける)でOSには大規模に使われてるけど。

889:デフォルトの名無しさん
15/12/28 15:26:59.27 VijL79y/.net
Smalltalkはデータを保存できるというけれど、
それはSmalltalkプロセスのメモリ内だけの話。
データはデータベースに保存する。
RDBMSだったりNoSQLだったりAmazonのs3だったり。
Smalltalk内だけプロセスの状態を保存できても意味は殆ど無い。

890:デフォルトの名無しさん
15/12/28 15:32:46.87 MpvL/SZu.net
長くて中身スカスカのコード書いてるとこうなる。

891:デフォルトの名無しさん
15/12/28 15:40:15.68 2PxLG9dT.net
>>872
> 同じ状態を作るのが簡単なんて言った覚え無いけど?w
> お前はすぐに思い込む、俺が言ったことにするよな?
ウ ソ つ き m9( ̄ー ̄)
>>857
>>>850
>> むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
>
>だからDockerがあれば十分でしょw
>
>つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
>テストを再実行するだけでいい。

892:デフォルトの名無しさん
15/12/28 15:41:16.89 on1WoP30.net
> 極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない
> ということは、バカにでも分かる
バカだからこそ、そう「分かる」のだよ

893:デフォルトの名無しさん
15/12/28 15:48:25.44 VijL79y/.net
>>876
おや?w
「自動テストしてるから」って文字が見えない?
自動テストしてるから同じ状態を作るのが簡単って言ったんだよ?
あんた、自動テストしてるのに、同じ状態作れないの?
そして自動テストをしていなければ、同じ状態を作るのは大変だよ?
テストコードを書いてテストデータを用意しなければいけない。
でもそれは、プロなら当たり前にやることなんだよね。

894:デフォルトの名無しさん
15/12/28 16:07:25.43 5gREh2gG.net
>>873
いろいろ説明してもらっているのをむげにするようで申し訳ないのですが、どうも齟齬があるようなのと、
それを含め「論」より「コード」の方がはっきりするので、Objective-C の動作するコードを示してもらえますか?
もしおっしゃるとおり Objective-C が Smalltalk と同じようなことを単に書き方が違うだけで書けるのなら、
たかだか 2~30行程度だと思うので、ぜひ、お願いします。デバッガでの作業と永続化は無視して残りの
> なにが他の言語だとできないのかがピンとこない
という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび
プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを
新たに書き下ろしもらうのでもかまいません。よろしくお願いします。

895:デフォルトの名無しさん
15/12/28 16:09:29.00 ylUAFX7e.net
プロ降臨ですかwww
動的言語の話題になってからはずっと傍観してたが、もう業界全体が狂ってるな!

896:デフォルトの名無しさん
15/12/28 16:12:08.36 VijL79y/.net
>>878
> という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび
> プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを
> 新たに書き下ろしもらうのでもかまいません。よろしくお願いします。
もちろん、静的言語だからソースコードを
修正して対応するのも全然OKですよね!

897:デフォルトの名無しさん
15/12/28 16:16:22.55 VijL79y/.net
そういやPythonで特異メソッドできたっけと思って検索したら
URLリンク(doloopwhile.hatenablog.com)
> しかし「Pythonで特異メソッドはこう書く!」といった記事はそれなりに見かけますが、
>
> 「Pythonで特異メソッドを使えばこんなにハッピーですよ!」という記事は見たことがありません(僕は)。
>
> 新しいメソッドが必要なら、クラスを継承して新しいクラスを作ればいいだけなので、特異メソッドはさほど重要ではないのかもしれません。
ワロタw
全くもってそのとおりなんだよなw

898:デフォルトの名無しさん
15/12/28 16:29:19.49 MpvL/SZu.net
そんなつまらないことで笑えるなんて人生幸せだな。

899:デフォルトの名無しさん
15/12/28 16:33:18.43 5gREh2gG.net
>>878
横ですが、
自動テストで再現できる程度のバグなら、Smalltalkでもいちいちイメージを保存する必要はないと思います。
自動テストでは出てきにくい、めったに出会えないバグに出くわすことってありますよね。
あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。
そういうのを捕まえて潰すときに実効コンテキストがオブジェクトでその永続化もデフォになっていると助かるんです。

900:デフォルトの名無しさん
15/12/28 16:39:23.46 f/yDa8Ky.net
MOO(目を覆いたくなるような汚物)

901:デフォルトの名無しさん
15/12/28 16:40:26.91 5gREh2gG.net
>>881
いえ、この方は Objective-C のランタイムの柔軟性に言及しておられるので、
当方としては、それがどの程度のものかに大変興味があり、できれば main に過程を順次記述していただきたいところです。
C# にはこのような動作はいっさい必要ないことを表明していただけているので、お手を煩わせる必要はなさそうです。
ありがとうございます。

902:デフォルトの名無しさん
15/12/28 16:41:37.60 MpvL/SZu.net
話す相手がいなくて寂しいのかな。

903:デフォルトの名無しさん
15/12/28 16:46:15.15 pElGsOOM.net
>>879
「えっ?スマホからコードを!?」
だいたいそんな感じ。
昨日もテキストエディット開いたけどめんどくさくなって寝た。
URLリンク(developer.apple.com)

904:デフォルトの名無しさん
15/12/28 17:09:04.61 VijL79y/.net
>>884
> あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。
100時間待たないとテストできない事自体が良くないだろ?
待たずにできるような設計にするんだよ。

905:デフォルトの名無しさん
15/12/28 18:04:56.19 2PxLG9dT.net
>>889
待たずにできるような設計をしたらメモリリークは絶対に発生しないのか?
いいかげん自分のみっともなさに気付け

906:デフォルトの名無しさん
15/12/28 19:23:32.98 ekUA2Lsj.net
メモリリークならスナップショットよりgcログの方が100倍役立つよ
何時頃からヒープ使用量が増えてるのか、gc発生頻度はどのくらいか等の時系列データによって
どれだけの事が分かるか
逆に落ちた時のスナップショットだけあっても仕方無かろうが
それに、今時サーバ機なら256GBとかメモリ乗ってんだけど、
それがメモリリークで落ちた時の仮想イメージを
開発機で動かしてステップ実行すんの?
ステップ実行したいからサーバ機と同じメモリを開発機に下さい、って?w

907:デフォルトの名無しさん
15/12/28 21:42:04.14 VijL79y/.net
>>890
メモリリークの話なんて全くしてないんだけどw
一体どこから出てきたのやら。

908:デフォルトの名無しさん
15/12/29 06:19:00.32 SDUTcqS5.net
>>892の�


909:モ訳 「ぼくはウソつきな上に馬鹿です」



910:デフォルトの名無しさん
15/12/29 07:07:46.23 pIdKf0tH.net
その証拠にメモリリークがどこから来たのか説明してみせます!
説明できなかったら、逃げたと思ってください!

911:デフォルトの名無しさん
15/12/29 07:30:34.54 5QScXVkF.net
わからないのかw

912:デフォルトの名無しさん
15/12/29 07:52:05.41 S7hPg+te.net
基本ですよね。
「あーだこーだそーだ!」
つまりどういうこと?
「わからないのか?w」

913:デフォルトの名無しさん
15/12/29 08:23:56.16 /0pFLROb.net
後で面倒なことになったら人のせいにできる素晴らしい戦略ですね

914:デフォルトの名無しさん
15/12/29 10:25:20.46 w25+nhsP.net
わからない人もいるっていう諦めみたいなものも重要

915:デフォルトの名無しさん
15/12/29 10:42:36.95 S7hPg+te.net
メモリリークで検索すれば、誰が話を始めたのかなんて
一目瞭然だろw
最初に話を始めたのは>>890だな。
892 自分:デフォルトの名無しさん[sage] 投稿日:2015/12/28(月) 21:42:04.14 ID:VijL79y/ [11/11]
>>890
メモリリークの話なんて全くしてないんだけどw
まったくもってその通りだなw

916:デフォルトの名無しさん
15/12/29 11:02:19.92 pO0KAO0+.net
>>891
メモリリークの原因を探すためにはスナップショットのほうが数段便利だ。
実行中のサーバを止めることなくスナップショットだけ取って手元で復元すれば
どのオブジェクトがメモリを占有していて、
そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。
ちなみに開発機ではメモリが足りないということは、
よほど貧弱な開発機でなければまず起こらない。

917:デフォルトの名無しさん
15/12/29 11:14:37.65 a4Pra08x.net
最初からメモリリークしない言語使えば?
Swiftとか

918:デフォルトの名無しさん
15/12/29 11:19:51.72 cKcX4pC+.net
ウチのサーバはメモリ2テラあるけど

919:デフォルトの名無しさん
15/12/29 12:09:09.23 Tk7GRC+0.net
普通1プロセスがそこまでメモリ食わないように何らかの処置はするだろ。
linux なら ulimit 使うなりしてさ。

920:デフォルトの名無しさん
15/12/29 12:47:18.60 QDDW5ibj.net
Smalltalkおじさんは仮想イメージをダンプする前にプロセス殺されてオロオロしてそうなイメージ

921:デフォルトの名無しさん
15/12/29 13:24:54.68 S7hPg+te.net
>>900
> そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。
どうやって?

別にスナップショット云々は、これ関係ないのよ。
だってスナップショットとらなくても、
該当マシンでやればいいだけなんだから。

922:デフォルトの名無しさん
15/12/29 13:29:28.22 S7hPg+te.net
ちなみにJavaだとこんな感じみたいやな
URLリンク(software.fujitsu.com)
C#だとこんな感じか?
URLリンク(troushoo.blog.fc2.com)

923:デフォルトの名無しさん
15/12/29 16:47:31.74 pO0KAO0+.net
どっちのツールもSmalltalkの機能限定劣化コピーだなw

924:デフォルトの名無しさん
15/12/29 17:35:11.54 uPOyITuG.net
どうせSmalltalkでfizzbuzzとかクイックソートとか素数判定とか竹内関数とかの
トイプログラムしか書いてないんだろうから
無理に業務っぽい話に付き合わなくて良いのに

925:デフォルトの名無しさん
15/12/29 18:04:16.69 S7hPg+te.net
>>907
またでたよw
何も言わないくせに、Smalltalkの方が優れてるっていうやつw
何が優れてるの?ッて聞いたら、
自分で調べろ(逆ギレ)なんでしょう?w

926:デフォルトの名無しさん
15/12/29 20:13:59.08 5QScXVkF.net
>>905
ProtoObject>>pointersTo でそのオブジェクトへの全ての参照が得られる。
もちろんエスケープしたクロージャにキャプチャされたスタックフレームからの参照も含めて。

927:デフォルトの名無しさん
15/12/29 20:16:44.20 5QScXVkF.net
>>909
あなたのようなキチガイがいつまでも相手にされると思わないほうがいいよ。

928:デフォルトの名無しさん
15/12/29 20:48:51.46 uPOyITuG.net
Facebookはコードを解析してバグを発見する静的コード解析ツール「Infer」をオープンソースで公開しました。
Inferが対応するコードはAndroidのJavaとiOSのObjective-C、およびC。現時点ではAndroidとJavaではNullPointerExceptionおよびリソースのリーク。iOSとCコードではメモリーリークを発見してくれます。

URLリンク(www.publickey1.jp)

929:デフォルトの名無しさん
15/12/29 20:55:27.15 a4Pra08x.net
Swiftでは理論的にnullバグやメモリリークが起きないので解析ツールも不要

930:デフォルトの名無しさん
15/12/29 21:04:09.67 QDDW5ibj.net
>>910
わざわざ馬鹿でかいメモリ確保したプロセス実行しないと調べられないなら
Javaのヒープダンプ以下じゃんバカじゃね

931:デフォルトの名無しさん
15/12/29 21:04:49.17 +ubDtqOv.net
>>913
あれ?SwiftのGCって素朴参照カウンタ方式なので循環参照を解放できないんじゃなかった?

932:デフォルトの名無しさん
15/12/29 21:16:32.89 a4Pra08x.net
>>915
循環参照はそうプログラマが実装したからであってメモリリークではない

933:デフォルトの名無しさん
15/12/29 21:24:11.66 3lUD69g2.net
>>915
そのおじさんは「マカー!w出てこい!!www」ってそれっぽいワードを連呼してシャドーしてるだけだから…

934:デフォルトの名無しさん
15/12/29 21:24:13.02 +ubDtqOv.net
>>916
循環参照の解消を失敗したらメモリ解放されないってことになるじゃん?
それってメモリリーク起きるってことだと思うの

935:デフォルトの名無しさん
15/12/29 21:26:18.34 +ubDtqOv.net
>>917
シャドーボクサーなのか、じゃあしょうがない。

936:デフォルトの名無しさん
15/12/29 21:53:55.37 TkQKXDX9.net
>>918
それはプログラマの意図通りの動作だから問題ない。
やはりMacは最強やで。

937:デフォルトの名無しさん
15/12/29 22:06:59.32 +ubDtqOv.net
>>920
さようか、ならば拙者の出番はござらんな
食パンをかじるとしようか

938:デフォルトの名無しさん
15/12/30 00:22:58.02 wAoiK+Ar.net
>>911
キチガイ

939:デフォルトの名無しさん
15/12/30 00:42:06.75 vy2SBag0.net
どや?メモリリークは動的言語じゃないと検出できないやろが?

940:uy ◆Qawu9.2l1E
15/12/30 00:52:45.09 LyNr/J1x.net
年末までイライラしてる奴みると、やはりプログラマってカスだなって

941:デフォルトの名無しさん
15/12/30 03:13:52.72 gralCRA1.net
912-924 を読むと静的言語使う奴は頭悪いんだなってわかるから晒しageておこう

942:デフォルトの名無しさん
15/12/30 03:21:56.86 uNQALYUc.net
>>925
なんか悔しそうだなw
俺も晒し上げておこう

943:デフォルトの名無しさん
15/12/30 09:54:14.97 CpjDneg5.net
オブジェクト指向vs関数型でも
動的vs静的でもなくなって
アラン・ケイかぶれのSmalltalkerを弄るスレになってる

944:デフォルトの名無しさん
15/12/30 10:27:37.76 pdPeyHKo.net
ドヤー言いたいだけの糞スレ

945:デフォルトの名無しさん
15/12/30 11:34:54.78 CpjDneg5.net
RESTful APIこそが分散・動的遅延結合・関数型を全て満たす技術なんだよね
apiは好きな言語で書いたら良いよ

946:デフォルトの名無しさん
15/12/31 17:45:37.66 Sddj+QCE.net
さすがに裸でちんこブラブラさせながら
「これは釣りだ!これは釣りだ!!」って子
相手にするのみんな飽きたっぽい。

947:デフォルトの名無しさん
15/12/31 19:49:47.40 xdIQXsvm.net
プログラマの最大の問題点は技術貧乏性に陥ってしまうこと。
せっかく覚えた技術だからってなってしまう。

948:デフォルトの名無しさん
15/12/31 20:49:23.71 CMQb/rzM.net
作りたいものが無いと特にそうなりがちだね

949:デフォルトの名無しさん
16/01/01 11:18:10.89 5V2XLG/V.net
最大の問題は力量が見えないことだと思う
相手の力量も自分の力量も見えてはいない
ただし、自分が通ってきた道にまだ居るやつのことはなんとなくわかる

950:デフォルトの名無しさん
16/01/01 13:06:36.54 jvRJIema.net
せっかくだから板のオブジェクト指向スレ全部消費してくれんかね

951:uy ◆Qawu9.2l1E
16/01/01 19:58:04.75 xHNmPQBx.net
老害PGは新たに技術覚える事よりも
覚えてる知識を使って何か作る事に重点置き始めるから
もうついてこれてないよ
本人のほうは何故か「過去に自分が通った道にまだいるのか・・・」みたいな事思ってる

952:デフォルトの名無しさん
16/01/01 21:31:11.46 aa4Vn7fE.net
>>935
キミは周回遅れを自覚しよう

953:uy ◆Qawu9.2l1E
16/01/02 04:14:26.00 o7gA3Ogh.net
「時代によって高めるべきスキル」は違うのだから、もうそっちには誰もいかないよ
しかし、老害PGは「なんでこの初心者たちはいつまでも自分のレベルに追いついてこないんだ?」と、思ってる
まぁITに限らず老人でそういう病気発症してる奴って割と多いから
みんな分かって放置してると思う
良いです?
今の時代は他人の作ったツールのインストールと設定をするスキルが重要だから
オブジェクト指向の細かいところなんて余暇でやっとけば良い事なのに
それの細かい部分を覚えている事に価値を見出してるアホは多い
大学で一時期ブームになってたJAVA世代かな?って思う
自分が学生時代に教わった事が、もはや大部分無意味になりかけてるなんて、思いたくはないだろうけど真実
オブジェクト指向がゴミになったという事ではなく、
○○指向とか、一々意識しなくてもアプリが完成する時代
アルゴリズムの内部実装を見ないで最上位をコーディングするように
○○指向という部分を見ない、さらに最上位(設定ファイル記入とマウスポチポチ)で、完成してしまう

ゆえに「オブジェクト指向」よりも上位のレイヤー。設定ファイルマウスポチポチ指向が出来た今、
今まで最上位だったものがひとつ下になり、そこの知識の詳細を
いくら老害PGが重要だと叫ぼうと、それはかつてのアセンブラ/C言語のエキスパートの断末魔のような叫びでしかない

まとめると、
オブジェクト指向とかもうどうでも良い

954:デフォルトの名無しさん
16/01/02 05:15:23.75 6gE2bY5L.net
3周遅れかよw

955:デフォルトの名無しさん
16/01/02 09:14:36.51 Dnf2flaM.net
>>937
プロが仕事で扱う技術に興味ないし、2chで話題にすることじゃないから出ていってほしいな

956:デフォルトの名無しさん
16/01/02 10:13:19.29 By+Z3RvH.net
設定ファイルを書くだけで完成するラッパーが開発される
=> 設定ファイルで設定可能な項目がドンドン細かく詳細になる
=> 設定ファイルの記述言語がついにチューリング完全になる
=> 普通の開発と変わらなくなる

いままでの歴史はこれの繰り返し

957:デフォルトの名無しさん
16/01/02 11:16:24.48 yVCWJ6yH.net
>>940
> いままでの歴史はこれの繰り返し

例えば?

958:デフォルトの名無しさん
16/01/02 12:12:13.20 uD+WV8wT.net
シューティングゲームで設定ファイルを読み込むんじゃなくてスクリプトを読み込ますようにした話は聞いたことある。

959:デフォルトの名無しさん
16/01/02 12:14:26.09 bBqG9oIx.net
普通ゲームはスクリプトでレベルデザインするだろ

960:デフォルトの名無しさん
16/01/02 12:22:58.34 uD+WV8wT.net
>>943 例えば?

961:デフォルトの名無しさん
16/01/02 12:34:30.17 s06XmGKr.net
歴史から学んでる人達は最初から設定ファイルをスクリプトで書けるようにしてる
luaやpythonがよく使われる

962:デフォルトの名無しさん
16/01/02 12:39:42.04 wx4DxJpH.net
歴史から学ぶまでもなく、そんなのはちょっと考えれば分かることで、
Smalltalk環境の設定は70年代からSmalltalkで書かれてるけどな。

963:デフォルトの名無しさん
16/01/02 12:39:57.90 VM0jeeLd.net
Apacheの設定ファイルはなんであんなにクソなんだろう
久しぶりに触ったら超クソだった、ぐぐっても古い情報ばっかだし
やっぱりVagrantで貰ってくるのがええな

964:デフォルトの名無しさん
16/01/02 12:58:28.15 s06XmGKr.net
>>946
設定ファイルを書くスクリプトの選択に失敗すると
アプリ自体が使われなくなるって事を
Smalltalker以外は歴史から学んだよ

965:デフォルトの名無しさん
16/01/02 14:25:54.16 wq9oS32E.net
>>948
Pythonの創始者はSmalltalkから学んだらしいよ。
学んでいないのはあなたのほうだね。
URLリンク(python-history.blogspot.jp)
Smalltalk's bytecode was a bigger influence of Python's bytecode though.
I'd read about it in a book by Adele Goldberg and others, I believe
"Smalltalk-80: The Language and its Implementation"

966:デフォルトの名無しさん
16/01/02 14:42:01.72 s06XmGKr.net
bytecodeは参考にしても構文なんかは似せなかった
Smalltalkの構文が一般受けしないのは歴史的に明らかだったから

967:デフォルトの名無しさん
16/01/02 14:50:11.87 EIjeZ5je.net
キレッキレの>>948に対して>>949はあまりにもお粗末
毎回ソース貼るのは偉いけどなんか論点ズレてるんだよな

968:デフォルトの名無しさん
16/01/02 14:50:12.97 wq9oS32E.net
まさかObj-Cがあんなに使われることになるなんて思わなかったわけだ.
本当に何も学んでいないねw

969:デフォルトの名無しさん
16/01/02 14:59:24.77 rRDwNu+s.net
iOS開発で他の選択肢を選ばせなかったObj-Cを持ち出すとか無いわー
ただのAppleのゴリ押しやん

970:デフォルトの名無しさん
16/01/02 15:07:13.82 6gE2bY5L.net
Objective-CはAppleのゴリ押しだから除外とか言ってたら
Cが普及したのもUnixのゴリ押しだし
登場時にはCとの互換性を売りにしたC++も同罪だし
MLもMilnerの型理論によるゴリ押しだし
その派生言語であるOCamlも同罪だし
きりがないだろ。
正直、バッカじゃねーのとしか言いようがない。

正月から馬鹿晒しておめでとう。

971:デフォルトの名無しさん
16/01/02 15:14:52.72 JOPuE3fj.net
c みたいなメモリだけ意識したアセンブラ風言語は c が登場しなくても
出てきたんじゃないかと思わせる必然性がある。
まあシンタックスは変わってたかもしれんが。

972:デフォルトの名無しさん
16/01/02 15:25:30.97 TGliTIeD.net
言語がどうたらチャラチャラしてる奴が、数匹いるな。
仕様もない糞蠅どもだ

973:デフォルトの名無しさん
16/01/02 15:28:09.21 gWTZIavc.net
>>955
実際Bとかそうだろ

974:デフォルトの名無しさん
16/01/02 15:36:15.19 F8jCIFTt.net
>まあシンタックスは変わってたかもしれんが。

今はまさにそのシンタックスの話だな

975:デフォルトの名無しさん
16/01/02 15:37:27.22 F8jCIFTt.net
> まあシンタックスは変わってたかもしれんが。

今はまさにそのシンタックスの話だな

976:デフォルトの名無しさん
16/01/02 16:33:04.71 oYZFkiTO.net
Swiftが出たら速攻でランク下がりまくって
トップ10圏内から大幅に落ちた上にSwiftにも抜かれた
Objective-Cがどうしたの?

URLリンク(www.tiobe.com)

977:デフォルトの名無しさん
16/01/02 16:53:54.23 wq9oS32E.net
幼稚w

978:デフォルトの名無しさん
16/01/02 17:16:09.12 Dz9NJ2ny.net
動的遅延結合性厨としては
[ ] のなかでメッセージ式が書けるってだけで
Objective-C を Smalltalk と絡めて語ら(騙ら)ないで欲しい

979:デフォルトの名無しさん
16/01/03 00:07:21.72 qiKwbZ3e.net
>>960
アセンブラwww

980:デフォルトの名無しさん
16/01/03 02:31:26.65 mP6eBLwc.net
>>960
いちおーゆーとくとObjective-Cのランク低下は昨秋ランキングアルゴリズム変えて
オンラインリファレンスへのアクセスを計算から外したからなので。
ネットで話題の言語という意味では原点回帰ではあるけれど
オフィシャル系を計算から外したら
逆にそれはネットのどこで何を話題にしてる人々を計算してるんだろう?
という気もせんでもない。

981:デフォルトの名無しさん
16/01/03 02:49:42.24 zEXG4Enn.net
CORBAとか憎しみしか湧かないんでJavaオワコンになって欲しい

982:デフォルトの名無しさん
16/01/03 02:51:53.93 IPqSvD5Q.net
>>964
URLリンク(www.tiobe.com)

アルゴリズム変更で一気に減ったというより、
徐々に減ってるようにしか見えないけど

983:デフォルトの名無しさん
16/01/03 09:49:24.29 jofq69+t.net
いくら現実から目を背けても、Swiftの発表後にObj-Cのランクが急下降してるのは
グラフ見れば一目瞭然
しょせんAppleのゴリ押しで使われてた言語だから、ハシゴ外されたらそりゃ逃げ出すわな

Cは相変わらず人気だから、要するにSmalltalk由来のキモいメッセージ式に
皆がNoを突きつけてるんだね

984:デフォルトの名無しさん
16/01/03 10:16:30.86 43bxFPSU.net
オブジェクト指向のスレってどれも途中でsmalltalkの人が出てきて言語スレになっちゃうよね

985:デフォルトの名無しさん
16/01/03 10:36:43.03 lX/fUZIn.net
日本人は抽象的に物事を捉えるのが苦手ですぐに実例を持ち出したがるからな。

986:デフォルトの名無しさん
16/01/03 10:59:34.96 AcAiI181.net
Objective-CてObjectPascalジャン
CをPascalの焼きまはし

987:デフォルトの名無しさん
16/01/03 18:55:56.78 xRSYAQBp.net
>>969
逆に良い具体例を思いつく能力がなくて抽象論で済まそうとする奴のが多いと思うが。

988:デフォルトの名無しさん
16/01/03 19:35:49.76 SliObw4t.net
実例を敢えて隠したまま抽象論で煙にまくパターンもあるよね
大人ってずるいよね

989:デフォルトの名無しさん
16/01/03 20:54:23.23 RgnbI7tp.net
日本人は~
現実は~
Smalltalkerは~

990:デフォルトの名無しさん
16/01/03 21:53:42.64 72y0mus1.net
ミス
日本人は~
現実は~
smalltalkこそ~

991:デフォルトの名無しさん
16/01/03 22:20:33.26 RgnbI7tp.net


992:デフォルトの名無しさん
16/01/03 23:43:02.17 mP6eBLwc.net
なりすますよねw

993:デフォルトの名無しさん
16/01/04 17:16:32.24 3ZgV6wyG.net
結局1スレまるまる消費してSmalltalkのゴミっぷりを確認しただけか...

994:デフォルトの名無しさん
16/01/04 17:18:16.68 2J2/85DZ.net
Smalltalkのゴミっぷりなんて確認するまでもなく、今回我々が確認したことはSmalltalkに固執するよくわからない人種の生態である

995:デフォルトの名無しさん
16/01/04 17:26:48.98 5zLqhTS3.net
オブジェクト施工より関数施工の方が強度がいいん?

996:デフォルトの名無しさん
16/01/04 18:00:32.11 RY1Mzif4.net
そろそろ次スレのタイトル考えようか。

997:デフォルトの名無しさん
16/01/04 18:09:04.30 gy+jtI5Z.net
「1+1まで動的遅延結合にするのは愚かな考え。1+1は計算式」かな

998:uy ◆Qawu9.2l1E
16/01/04 18:15:40.14 zTvWipKl.net
Smalltalk・Haskell・Prologあたりは変な奴が多いから即NG推奨

999:デフォルトの名無しさん
16/01/04 18:49:11.00 eUmPlviF.net
1+1はコンパイラが最適化して定数2にするのでは?

1000:デフォルトの名無しさん
16/01/04 18:54:33.40 CWcw2pew.net
いいからocaml使ってみろよ

1001:デフォルトの名無しさん
16/01/04 19:17:55.99 WGHaUWWr.net
>>982
それにuyってコテハンも追加しておくと吉

1002:デフォルトの名無しさん
16/01/04 19:18:26.04 RY1Mzif4.net
なんか最近Cが気になりだしてきたvoid *型があれば何でもできる気がしてきた。

1003:デフォルトの名無しさん
16/01/04 19:32:16.26 WGHaUWWr.net
>>981
「1+1」よりは「3+4」だな。初期のSmalltalk-72で最初に評価された式らしいので。

1004:デフォルトの名無しさん
16/01/04 19:43:44.60 RY1Mzif4.net
ラムダ計算ではgotoを使ったプログラムは絶対に掛けないからな。 gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが掛ける、assemblerはつかいたくないけれどC使いたければ。

1005:デフォルトの名無しさん
16/01/04 19:46:16.51 u97FRQbx.net
>>986
そのとおりだ
抽象的/総称的に void * を使えるようになったらしめたもの
標準ライブラリにある qsort() を実装してみるといいだろう

1006:デフォルトの名無しさん
16/01/04 20:43:11.15 bvuJFWqO.net
>>988
>gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが

聞き捨てならんな。w たとえばどんな?

1007:デフォルトの名無しさん
16/01/04 21:00:40.38 RY1Mzif4.net
掛けない様なとはいってるけれど書けないとはいってないだろ。

1008:uy ◆Qawu9.2l1E
16/01/04 21:31:38.10 M6WjdqoS.net
即逃げワロタ

1009:デフォルトの名無しさん
16/01/05 02:11:54.24 hJUQcrkl.net
次スレ

オブジェクト指向は愚かな考え。この世は計算式 ★3
スレリンク(tech板)

1010:デフォルトの名無しさん
16/01/06 11:55:28.58 nQqbz+/u.net
>>993


1011:uy ◆Qawu9.2l1E
16/01/07 03:27:34.74 VBUUQOGk.net
ts

1012:デフォルトの名無しさん
16/01/07 12:06:35.18 6ZkPklY8.net
仮想関数テーブルが別管理で
クラスのインスタンス全体をmemset 0相当できる言語ってある?

1013:デフォルトの名無しさん
16/01/07 20:59:56.11 90bWN72u.net
それは俺も考えたことあるな
結局多態は、ポインタか参照使って呼び出す場合しか意味ないんだから
オブジェクトがvtalbeを持つのではなくて
ポインタや参照に入っているオブジェクトの該当vtableを一緒に保持させれば良いんじゃないかってね
そうすればCの構造体のように本来vtableを持たないものにメソッドを追加したり多態させたりもできる

1014:デフォルトの名無しさん
16/01/07 21:00:47.85 90bWN72u.net
イメージとしてはこんな感じ
struct ptr_t
{

1015:デフォルトの名無しさん
16/01/07 21:02:38.75 90bWN72u.net
イメージとしてはこんな感じ
struct ptr_t
{
void *object;
void *v_table;
};

1016:デフォルトの名無しさん
16/01/08 13:12:26.75 QFsBcVlK.net
一千。

1017:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1018:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch