オブジェクト指向は愚かな考え。この世は計算式 ★2at TECH
オブジェクト指向は愚かな考え。この世は計算式 ★2 - 暇つぶし2ch436:デフォルトの名無しさん
15/12/21 21:07:55.23 7dJZ8TPE.net
>>427
で、「動的型ではアプリのバグを見つけることができない」という珍説はどこから湧いて出てきたのかね?
静的型付言語と同じ方法で見つけるわけではないというだけの話を、
どうして「見つけることができない」なんて捏造をするんだね?

437:デフォルトの名無しさん
15/12/21 21:08:48.82 7dJZ8TPE.net
>>429
静的型付と違って、インターフェースが必ず適合するから問題ないんだよ。ぷ

438:デフォルトの名無しさん
15/12/21 21:09:52.92 mofV3EhK.net
> そうやって動的型ならそもそも問題が存在すらしていないものを
意味不明。
インターフェース不整合があってエラーで例外を吐いてシステムが
正常に動かなくても型安全だから問題がない。
そう言ってるわけだよね?
そう、ユーザーにさんに言ってるわけだよね?
Q. ある機能を実行すると、エラーで例外を吐いて落ちます。機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。

うははははw

439:デフォルトの名無しさん
15/12/21 21:12:34.78 GVmX1WAG.net
列車とトラックの比較にしか思えない

440:デフォルトの名無しさん
15/12/21 21:12:49.27 7dJZ8TPE.net
>>432
だーかーらー、
動的型付言語の世界ではインターフェイスに不整合が発生しないの。
引数がいくつあっても、引数の中身がなんであっても、機能名が何であっても、
必ず同じ形式でメッセージとしてパッケージングされるの。
静的型システムについては多少知っているようだけど、
動的型付言語の仕組みはまるでわかっていないようだね。

441:デフォルトの名無しさん
15/12/21 21:13:39.02 7dJZ8TPE.net
例のおバカさんよりは若干マシだと思っていたが、買いかぶりすぎていたようだ。

442:デフォルトの名無しさん
15/12/21 21:15:10.99 mofV3EhK.net
>434
> 引数がいくつあっても、引数の中身がなんであっても、機能名が何であっても、
> 必ず同じ形式でメッセージとしてパッケージングされるの。
その後は? 重要なのはパッケージングされた後でしょう?
例外吐いて落ちるんでしたねw
うははははw

443:デフォルトの名無しさん
15/12/21 21:15:36.10 7dJZ8TPE.net
静的型付言語を使っていると、動的型付言語を静的型付言語のメカニズムでしか理解できなくなってしまうらしい。
まさにバカ製造機だな。

444:デフォルトの名無しさん
15/12/21 21:16:30.67 mofV3EhK.net
Q. ある機能を実行すると、エラーで例外を吐いて落ちます。機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。

これを否定しないのは、否定出来ないからだろうなw

445:デフォルトの名無しさん
15/12/21 21:16:44.57 B3EXamn3.net
まずどの動的型付け言語について喋っているのか言及しなよ。
実行時で型に関するエラーが起きないってのは、起きないよう注意を払ってプログラムを書くことができる、じゃなくて、
原理的に起こせない、っていう意味で言ったんだけど、分かる?
やたらと例外とエラーを別物にしたいみたいだけど、そんなはっきり区別して扱っている界隈ってあるの?
全然メジャーな使い分けじゃないからちょっと説明してよ。
「例外を投げる動作は言語仕様通りだから、wikipediaでいうところの型安全」っていうは、
関数型言語に言及している中での型安全より遥かに低いレベルの安全性であることは分かってる?
全体的に卑怯者だよ。「ボク間違った言葉遣いしてないもん!」以外全部間違っているよ。

446:デフォルトの名無しさん
15/12/21 21:17:03.21 7dJZ8TPE.net
>>436
落ちないけど?
どうして例外が投げられると落ちると思い込んだの?
たとえ例外ハンドラが設定されていなくてもアプリケーションが異常終了しない言語/環境は普通に存在するよ?
自分の無知を動的型付のせいにしないでくれる?

447:デフォルトの名無しさん
15/12/21 21:17:58.88 7dJZ8TPE.net
>>438
ぜーんぶ君の無知からくる妄想。正直言って、出てくる感想は「バカ」。

448:デフォルトの名無しさん
15/12/21 21:18:59.25 mofV3EhK.net
>>440
なるほど!
じゃあ訂正するよ
Q. ある機能を実行すると、エラーで例外を吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。

うあははははwww

449:デフォルトの名無しさん
15/12/21 21:20:42.70 mofV3EhK.net
な? インターフェースに不整合があってエラーで動かなくても
落ちなければ、不具合ではないっていう考え方なわけさ。
動的のアプリの質が悪い理由がわかるだろう。
こんな感じでいっつもいきあたりばったり
無計画に修正してるんだよ。

450:デフォルトの名無しさん
15/12/21 21:21:32.67 7dJZ8TPE.net
>>439
>実行時で型に関するエラーが起きないってのは、起きないよう注意を払ってプログラムを書くことができる、じゃなくて、
>原理的に起こせない、っていう意味で言ったんだけど、分かる?
実行時型エラーという概念が存在しない言語(動的型付言語)では、原理的に実行時型エラーなんて起こせませんが、何か?

451:デフォルトの名無しさん
15/12/21 21:23:57.49 7dJZ8TPE.net
>>442
>Q. ある機能を実行すると、エラーで例外を吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。
>A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。
はい、これも間違い。
メソッドが見つからなくても例外を抑制することもできるし、デフォルト動作を変更することもできる。
当然、「画面にエラーを出す」必要もない。
実行を継続して、機能を利用することができます。
残念でしたw

452:デフォルトの名無しさん
15/12/21 21:24:24.57 7dJZ8TPE.net
>>443
というわけで、やっぱり君は自分の無知を動的型付言語のせいにしているだけでした。

453:デフォルトの名無しさん
15/12/21 21:25:33.03 7dJZ8TPE.net
>>443
というわけで、静的型付言語の世界観で勝手に動的型付言語を誤解して、
間違いだらけの妄想を振りまいているのは君でした。
お・ば・か・さ・ん

454:デフォルトの名無しさん
15/12/21 21:27:09.59 mofV3EhK.net
>>445
じゃあこういうことか
Q. ある機能を実行すると、エラーで�


455:瘧Oを吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。 A. バージョンアップして修正しました。 画面にエラーを出さないようにエラーを握りつぶしました。 該当の機能は正しく動きませんが、 他の機能が動いているんだからいいじゃないか? うははははwwww



456:デフォルトの名無しさん
15/12/21 21:27:32.36 7dJZ8TPE.net
静的型付と動的型付はそれぞれ別のアプローチを取っているだけなのに、
静的型付しか知らないばっかりに動的型付を否定しなければ静的型付のメリットを説明できない。
これって静的型付言語ユーザとしても恥ずかしいことだと思うよ。

457:デフォルトの名無しさん
15/12/21 21:28:05.77 7dJZ8TPE.net
>>448
もちろん、それも大間違い。自分の無知をさらすのって、そんなに楽しいの?

458:デフォルトの名無しさん
15/12/21 21:28:51.88 mofV3EhK.net
静的型付と動的型付はそれぞれ別のアプローチを取っているだけなのに、
動的型付しか知らないばっかりに静的型付を否定しなければ動的型付のメリットを説明できない。
これって動的型付言語ユーザとしても恥ずかしいことだと思うよ。

たしかに! 動的型付けのメリットは出てない!

459:デフォルトの名無しさん
15/12/21 21:29:13.17 wZBXbgJl.net
静的の人、論点ずらしまくりすぎ。
しかも関係ないところぶったたいて回収される、の繰り返しじゃん。
こんなこといくらやっても余計に惨めになるだけだと思うが。

460:デフォルトの名無しさん
15/12/21 21:29:18.17 mofV3EhK.net
>>450
おや?手詰まりですかw
今度は何もいいませんでしたねwww

461:デフォルトの名無しさん
15/12/21 21:30:09.24 +DYxsHCL.net
Rubyなどのスクリプト言語はトランスレーターでインタープリターが理解できる言語に変換するだけだから実行自体するという概念自体存在しないよな。

462:デフォルトの名無しさん
15/12/21 21:32:14.81 mofV3EhK.net
>>452
なんもずらしてないよ?
より確実に堅牢なシステムを作るには静的がいいと言ってる。
静的型は、単体テスト+型チェックの二重のチェックの
仕組みによりより堅牢なシステムが作れる。
動的型は 単体テストしか 出来ない。
型チェックは機械的で矛盾がないチェックシステムだから
低いコストで大きなメリットを得られる。
動的だと、インターフェースに不整合でも、例外が出て
それを捉えて画面に表示したりしなかったりするから
システムが動かなくてもいいじゃないかって言ってるだろう?w

463:デフォルトの名無しさん
15/12/21 21:41:33.25 w/TLv4VO.net
>>433
>列車とトラックの比較にしか思えない
まぁ、そうだね。
トラックが自由に移動できるのを利点として使われてるとこを
「トラックは事故を起こす!レールを走ってないからだ!」
「えー?なにそれ。つか、列車は自由に配送できないじゃん」
「列車も駅から配送するシステムがあるからできる!」
「え…それちがくね?」みたいなやりとりをずっとw

464:デフォルトの名無しさん
15/12/21 21:44:22.27 mofV3EhK.net
>>456
あぁ、でも静的で作れないものはなにもないよ。
目的はシステムを作ることであって
動的にクラスを変えたりすることじゃないんだ。

465:デフォルトの名無しさん
15/12/21 21:48:12.37 2gy+Cq/9.net
すまん、動的静的両方やったことない雑魚おる?

466:デフォルトの名無しさん
15/12/21 21:48:24.54 wZBXbgJl.net
それほど明らかでないことを断定しているだけで議論になってないと思いますが、、、
まあいいでしょう。
で、それがオブジェクト指向か関数型かという議論にどう関係あるんですか?

467:デフォルトの名無しさん
15/12/21 21:54:01.30 VzjtfJRf.net
>>443
>動的のアプリの質が悪い理由がわかるだろう。
どうやらこの人はemacsよりも拡張性が高く安定したエディタを
静的言語でいとも簡単に実装してしまうスーパーハカーらしい ()

468:デフォルトの名無しさん
15/12/21 21:54:11.30 +DYxsHCL.net
型とは何かから始めないといけないようだな。ここで提案なのだが、これからの議論は定義から命題を評価する証明形式の厳格な議論にしようではないか。

469:デフォルトの名無しさん
15/12/21 22:18:22.42 mofV3EhK.net
>>460
> どうやらこの人はemacsよりも拡張性が高く安定したエディタを
emacsはC言語だったね。
URLリンク(git.savannah.gnu.org)

470:デフォルトの名無しさん
15/12/21 22:19:39.20 XjOZdx5G.net
結局、動的だろうと静的だろうとインターフェースが一致してれば簡単に処理を変えられるし、インターフェースが想定外に変わるならそれに合わせて書き換えが必要というだけでしょ?

471:デフォルトの名無しさん
15/12/21 22:23:11.82 mofV3EhK.net
>>463
そうそう。できることは変わらない。
それをするためのコストが違う。
静的であれば、単体テスト+静的解析があるから
少ないコストで品質の高いアプリが作れる

472:デフォルトの名無しさん
15/12/21 22:37:06.08 K9YQZ40/.net
c++ をめちゃくちゃ否定する linus の気持ちがよくわかる例になってるな。

473:デフォルトの名無しさん
15/12/21 23:20:00.93 pll+pxvz.net
だから、型が重要なら、型チェックをすればいいだけだろ
動的型付けな言語は大抵の場合、インタープリタ型の言語なんだから、テストしたい部分だけ、テスト出来るんだしなんの問題もないよ

474:デフォルトの名無しさん
15/12/21 23:38:13.37 mofV3EhK.net
> だから、型が重要なら、型チェックをすればいいだけだろ
だからコストの問題。
静的解析にコストはほとんどかからないから
静的言語の単体テスト+静的解析はコストが同じで
単体テストだけの動的言語よりも高い品質になる。

475:デフォルトの名無しさん
15/12/21 23:55:15.47 w/TLv4VO.net
なにがなんでも貨物列車がいちばんコストが安いんだってさー

476:デフォルトの名無しさん
15/12/21 23:56:05.45 GVmX1WAG.net
コストコストうるせーよ

477:デフォルトの名無しさん
15/12/22 00:33:15.91 EKiu80aU.net
>>467
どんなにテストしても、バグが存在しない証明にはならない
単体テストと静的解析を行っているから、バグが少ない気がしているだけ

478:デフォルトの名無しさん
15/12/22 00:38:03.90 3ywPhKdj.net
証明できないならテストしなくてよくね?

479:デフォルトの名無しさん
15/12/22 01:28:00.98 cWRmjQVf.net
Javaドカタが開発に1月かかる機能が
Smalltalkでは単体テストの作成込みで数時間で終わる
それくらい生産性に差がある事を忘れちゃいけないよ
Javaドカタが時間に追われてマトモにテストしてないコードと
Smalltalkerが悠々とテストしたコードでは
後者の方が品質高いよ

480:デフォルトの名無しさん
15/12/22 01:30:05.05 +ulsEic8.net
「列車はレールが決まってるからダイヤ解析で事故はなくなる
トラックは道を気ままに走るから知らないとこ走って事故る」的な
鉄ちゃんみたいなキチ主張だろう。
鉄道以外じゃルート計算できないと思い込んでる。

481:デフォルトの名無しさん
15/12/22 01:30:46.89 nHx61Hkp.net
Javaドカタが開発に1月かかる機能が
Smalltalkでは単体テストの作成込みで数時間で終わる
証拠はなないが、これはただしい。
だからSmalltalkの勝ち!

482:デフォルトの名無しさん
15/12/22 01:31:47.61 +ulsEic8.net
>>472
なりすましてムリすんな。
おまえは昨日20回も顔真っ赤レスしたばっかなんだからw

483:デフォルトの名無しさん
15/12/22 01:32:46.10 nHx61Hkp.net
>>473
鉄オタかよw ほんと鉄道に例えるのが好きだな。

鉄道使えば、より安全に高速に目的を達成できるって話だろう。
目的は、目的地につくことであって、
いろんな道を通ることじゃねーよw

484:デフォルトの名無しさん
15/12/22 01:35:42.53 bkvH7oDt.net
遠くまで運ぶなら鉄道使って最後だけトラックとかが一番いいと思うけど

485:デフォルトの名無しさん
15/12/22 01:35:42.57 nHx61Hkp.net
静的解析を使えば、レールに乗ったようにスムーズに開発ができる。
これを静的解析onRailsという。

486:デフォルトの名無しさん
15/12/22 05:30:44.16 Cv+dIUET.net
ニイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイップwwwwwwwwwwwwwwwwwwwwwwwwwwwww

487:デフォルトの名無しさん
15/12/22 08:50:57.91 h3Yx9vGx.net
静的解析に夢見過ぎ。
そこまでバグ発見に役立つケースなんてめったにない。
しかもいうほど動的言語での静的解析も手間ってほどではない。
少なくともコンパイル言語での開発に比べればよっぽど低コストだな。
コスト意識が致命的におかしい奴が居るな。

488:デフォルトの名無しさん
15/12/22 09:04:13.39 fvYXJdnq.net
>>480 が結論でOK

489:デフォルトの名無しさん
15/12/22 09:04:28.25 t0KrzUg4.net
>>476
そんなだからドカタは新しいものやサービスが作れないんだよ
既に多くの人が通ってレールまで敷かれた場所しか行けないんだから

490:デフォルトの名無しさん
15/12/22 09:05:44.03 fvYXJdnq.net
このままじゃ462が可哀想だよ...

491:デフォルトの名無しさん
15/12/22 09:06:00.38 71TpXAZk.net
コストコストってうるせーな

492:デフォルトの名無しさん
15/12/22 10:23:52.98 nHx61Hkp.net
>>480
> そこまでバグ発見に役立つケースなんてめったにない。
それはバグとして換算してないからだろ。
どうせエラーで落ちて修正したのをバグと認識してないんだろ?
静的解析は普段の開発でしっかり役に立ってる。
どう考えても


493:落ちるコードが、いちいち実行しなくてもわかるからな。 実行しなくても修正できる。この時点で修正のコストが下がってる。 もちろんそれだけでないのは言うまでもない。 インターフェースに不整合をすぐに修正できるし、 特定の関数に依存している部分をすぐに調べることもできる。 動的言語だとgrepで調べるしかないからな。同じ名前だと 全く違うものでもヒット、冗長な名前にしないといけない。 こういう普段の開発でもコストが下がる。 コードが成長するにつれて、最初の設計では無理が出てきても、 それを自然な形に直すことができる。 動的だと変化が怖くて、大胆な修正ができない。 どんどんコードは古くなっていき、すぐに手がつけられないようになる。



494:デフォルトの名無しさん
15/12/22 10:28:44.26 Hf0cXCbq.net
作文は得意だけれど算数は苦手みたいですね。

495:デフォルトの名無しさん
15/12/22 10:31:06.94 lJMFjOKo.net
そういう具体性のない煽りが、信用を無くすんですよw

496:デフォルトの名無しさん
15/12/22 12:30:06.51 fvYXJdnq.net
>>485
>動的だと変化が怖くて、大胆な修正ができない。
ここが笑うポイントですか?
すごいですね、あなたプロのコメディアンになったらきっと売れますよ。

497:デフォルトの名無しさん
15/12/22 12:43:42.29 bkvH7oDt.net
小さい規模でパフォーマンスをそこまで気にしないなら動的型のスクリプト言語
規模が大きくなったり速度重視なら静的型のコンパイル言語
動的型のフットワークの軽さとかもいいし、静的型の実行速度と優れた補完やエラー表示も便利
結局適材適所

498:デフォルトの名無しさん
15/12/22 12:58:50.30 lJMFjOKo.net
>>488
何も間違ってないよ?
動的は、実行時に変化することは得意でも
ソースコードを修正することは不得意。
少しの修正があちこちに影響して、それがわかりづらいから
修正が怖くなる。

499:デフォルトの名無しさん
15/12/22 13:26:08.65 fVb6IQsc.net
その程度の規模のコードすら書いたことないから
わからないんだろ

500:デフォルトの名無しさん
15/12/22 13:56:00.22 /QaJe51w.net
規模ねぇw
使いモンになるOSを書いたことがあるような人いるのかな?
5000万行~8000万行規模らしいが
これはお前らにとって大きいの?それとも小さいの?w

501:デフォルトの名無しさん
15/12/22 14:30:13.32 lJMFjOKo.net
>>492
少しは計算しろよ
5000万行、仮に1日に1万行(1000行/時の10時間労働)
書いたとして5000日(約13.7年)だ

502:デフォルトの名無しさん
15/12/22 14:38:13.03 cB2HLJLU.net
Objective-Cで作ってるMacOSX(->iOS)と
C++で作ってるWindowsみりゃどっちが
開発苦戦してるかすぐわかりそーなもんだが

503:デフォルトの名無しさん
15/12/22 14:41:56.77 lJMFjOKo.net
そういう間違った比較するやつは
あたまが悪いと言わざるをえないね。

504:デフォルトの名無しさん
15/12/22 15:04:38.37 npw19McH.net
規模とか言っちゃってるのは
何行書いたことある奴が何行書いたことあるやつに言ってるんだろうかw
1000が100に言ってるんだろうか?
10000が1000に言ってるんだろうか?
十万行ほど書いた奴はもう「規模」とかって言う言い方しない気がする
わざわざ規模で話をしようとしない気がする

505:デフォルトの名無しさん
15/12/22 15:09:30.07 cB2HLJLU.net
いや?
基本的にこっちもMac/iOS/Objective-C触って7~8年てとこだけど
下のドキュメントの最初の10ページみたいな
90年にこんな実装なんか提唱したら空論だと笑われたようなことを
25年前から仕込んでたNeXTが最終的に勝ってんだなぁと感心したし。
Objective-Cプログラミングの概念(日本語ドキュメント)
URLリンク(developer.apple.com)
あきらかにきみが棲んでる付け焼き刃の帝国の方が
効率が悪くてトータルコストがかかってる。
プログラマーに賽の河原で石を積む仕事を与え続けてるって点では
その効率の悪さで雇用の創出にはなってるとは思うけどね。

506:デフォルトの名無しさん
15/12/22 15:14:07.59 71TpXAZk.net
しょうもない業界だなあ。

507:デフォルトの名無しさん
15/12/22 16:41:01.82 VCjn0gZS.net
ここに限らんよ
サボる奴がいるから成り立つ生態系もある

508:デフォルトの名無しさん
15/12/22 16:47:52.67 bkvH7oDt.net
Macって、UNIXだし大部分はCとかC++なんじゃね?
開発言語よりも近代になってから互換性を完全放棄してもともと安定感の高いUNIXに強制移行したアドバンテージの方が大きいと思う
あと、動的型付けは遅いからOSの中核には向かないと思うけど

509:デフォルトの名無しさん
15/12/22 18:31:48.05 cB2HLJLU.net
>>500
OSXそのものがMachとかマイクロカーネル
(サービスを適宜呼び出してロードすることでOSの巨大化を防ぐ)UNIXの流れだから
コア部はCで各サービス呼び出しはObjective-Cのメッセージじゃないかな。
URLリンク(ja.m.wikipedia.org)マイクロカーネル
URLリンク(ja.m.wikipedia.org)

510:uy ◆Qawu9.2l1E
15/12/22 18:48:58.47 T3Xhdrtc.net
このスレアスペが会話混じってるよね
何言ってるか分からん奴が常にいてダメだわこのスレ

511:デフォルトの名無しさん
15/12/22 18:54:47.38 fvYXJdnq.net
C++で実装されたgnomeやWindowsと
Objective-Cで実装されたCocoaのUIの質を比較すれば
静的型付言語でUI環境を構築することは愚策中の愚策だな。
素人目には静的型付のほうが大規模なソースを変更しやすく見えるのだろうが
実際には動的型付のほうが大規模で質の高いソースを維持できるという実例。

512:デフォルトの名無しさん
15/12/22 21:49:46.57 lJMFjOKo.net
というか、世の中大規模なものは殆ど静的なんですが?

513:デフォルトの名無しさん
15/12/22 21:51:48.35 h2+OmYvg.net
インターネットが?

514:デフォルトの名無しさん
15/12/22 22:28:45.56 PMk1cnKT.net
このスレはなんのスレですか?

515:デフォルトの名無しさん
15/12/22 22:43:09.44 lJMFjOKo.net
>>505
インターネットを実現している技術はほとんど静的ですね。
OSはもとより、基本のTCP/IPスタック。Apacheやnginxなどのウェブサーバー
sendmail、postfixなどのメールサーバー、クラウドに使われる仮想マシン技術
動画・音楽配信を支えるエンコード技術、きりがないぐらいですね。

516:デフォルトの名無しさん
15/12/22 23:03:34.39 7zsabTQH.net
>>506
お気に入りの言語を擁護しつつC#をdisるスレ

517:デフォルトの名無しさん
15/12/22 23:16:12.47 c/oP9Kt2.net
2chもPerlか何かで書かれていたけどサーバーの負荷が問題になって
C言語で書きなおされたんだったっけか?

518:デフォルトの名無しさん
15/12/22 23:32:12.42 cWRmjQVf.net
>>507
C言語が神すぎるからね
仕方ないね

519:デフォルトの名無しさん
15/12/22 23:33:08.49 h3Yx9vGx.net
まあ速度出すなら型情報があった方がいいだろうね。
数値計算なんかで配列にまっすぐアクセスする場合は明らかに型があった方が有利。
そりゃ開発効率考えたら動的のがいいだろうけれど。

520:デフォルトの名無しさん
15/12/22 23:44:58.21 lJMFjOKo.net
動的が開発効率いい理由は何だ?
普通は、動的にクラスを作ったり、しないだろう?

521:uy ◆Qawu9.2l1E
15/12/22 23:46:55.76 DEhMkplY.net
>>506
アスペの日記帖

522:デフォルトの名無しさん
15/12/22 23:59:05.73 h2+OmYvg.net
>>512
まだ、自分の身内以外が外の世界で新しいクラスを作って送ってくることがある
現実世界が理解できないんだな。

523:デフォルトの名無しさん
15/12/23 00:12:46.47 B7iIvlVa.net
> まだ、自分の身内以外が外の世界で新しいクラスを作って送ってくることがある
それをライブラリっていうんですよ?
分割コンパイルも、サードパーティライブラリも
ずっと前からの常識です。
なんでこんなことを指摘してドヤ顔してるんだろうか?

524:デフォルトの名無しさん
15/12/23 00:15:50.43 IHjjwtj5.net
プラグイン


525:みたいなのもあるけど 大体はDLLとかだから結局静的なんだよな



526:デフォルトの名無しさん
15/12/23 00:55:02.76 +daiOjD/.net
自分の身内以外がクラスを作るって、それプラグインの話だよなぁ
なんで静的じゃ作れないと思ってるんだろうか?
圧倒的に無知。

527:デフォルトの名無しさん
15/12/23 01:02:39.62 oeWwCbV9.net
また、駅から配送するシステムがあるから大丈夫!ですか…
列車が時代遅れでいらないっていいかげんわかりましょうよ?w

528:デフォルトの名無しさん
15/12/23 01:09:24.49 +daiOjD/.net
これが時代の流れなんだよなぁ。
時代遅れにならないようにしようよね。
URLリンク(gihyo.jp)
> Ruby 3のアイデア
>
> まつもとさんは,Ruby 3へ向けて実装したいアイデアとして,次の3つを挙げました。
>
> Concurrency
> JIT
> 静的型付け
>
> このうち今回の講演で取り上げたのは静的型付けについてでした。

529:デフォルトの名無しさん
15/12/23 01:11:06.80 +daiOjD/.net
URLリンク(gihyo.jp)
> 静的型付けのメリット
>
> 静的型付けはRuby以外の言語でも注目されています。では,静的型付けを
> 導入することでどのようなメリットがあるのでしょうか。
> よく言われている静的型付けのメリットについて,
> まつもとさんは「パフォーマンス」「コンパイル時のチェック」
> 「ドキュメンテーション」の3つを挙げました。
まつもとさんわかってるw

530:デフォルトの名無しさん
15/12/23 01:32:02.82 4bnLgUt/.net
それは誰でもわかってるだろ…

531:デフォルトの名無しさん
15/12/23 04:51:55.89 9nXG813n.net
>>507
どれも静的型厨が大嫌いな「弱い型付け」の言語なんだけど。
色々な言語が「強い静的型付けのシステム記述言語」として作られたが
ろくに使われずに消えていったわけだが。
試しに、強い静的型付きの言語で実装されたOSや
ネットワーク関連の重要なアプリケーションの例を出してみな?

532:デフォルトの名無しさん
15/12/23 05:30:34.30 o1Ym9CfH.net
大事なことは言語ではなく、タオにつながることなのじゃ。ふぉっふぉっふぉ。

533:デフォルトの名無しさん
15/12/23 05:33:17.13 +daiOjD/.net
> 試しに、強い静的型付きの言語で実装されたOSや
> ネットワーク関連の重要なアプリケーションの例を出してみな?
LinuxやUnix

534:デフォルトの名無しさん
15/12/23 05:55:19.92 +daiOjD/.net
>>522
> どれも静的型厨が大嫌いな「弱い型付け」の言語なんだけど。
ん?なんか盛大な勘違いをしているねw
弱い型付けは静的型付けのことを意味していて、
動的型付けのことじゃないよ。
弱くても型付けなんだから。
はい、一覧
URLリンク(ja.wikipedia.org)

535:デフォルトの名無しさん
15/12/23 05:57:16.98 +daiOjD/.net
>>525のリストに、書いてある
「C言語の安全でない弱い静的型付け」が静的型厨が大嫌いな(略って
いうのなら、ぷぷぷぷぅって言うしかないけどw

536:デフォルトの名無しさん
15/12/23 07:29:58.35 0ZC/YhCb.net
>>524
もしかして、Cは「強い静的型付け」の言語だと思ってるの?
これはまた…2ちゃんにしてもあまりにも無知すぎないか?

537:デフォルトの名無しさん
15/12/23 07:32:15.10 0ZC/YhCb.net
>>526
>「C言語の安全でない弱い静的型付け」が静的型厨が大嫌いな(略って
> いうのなら、ぷぷぷぷぅって言うしかないけどw
Hindley-Milner型推論の言語を推してる人達は
「C言語の安全でない弱い静的型付け」が大嫌いだよw
君はバカすぎるからひっこんでなさいw

538:デフォルトの名無しさん
15/12/23 07:37:31.86 +NQ/xqJl.net
>519,520
都合の悪いところは無視ですかw
>今のRubyが静的な型を持っていない理由
>
>ここまで,まつもとさんは静的な型を持つメリットを取り上げました。では,なぜ今のRubyは静的な型を持っていないのでしょうか。
>
>まつもとさんはRubyが静的な型を持っていない理由について,次の3つを挙げました。
>
>ダックタイピングとの相性の悪さ
>使うかどうかを選択可能(Optional)にしなければいけない
>DRYの哲学に反する

539:デフォルトの名無しさん
15/12/23 07:54:14.96 +daiOjD/.net
>>528
> Hindley-Milner型推論の言語を推してる人達は
だれそれ?w
そんな人はお前以外に居ません。

540:デフォルトの名無しさん
15/12/23 07:56:06.50 +daiOjD/.net
そもそも、型推論うんぬんじゃなくて、
「静的型付け」大好きですからねw

541:デフォルトの名無しさん
15/12/23 07:58:08.92 +NQ/xqJl.net
c が型に対して弱いなんて有名なことだろう。
ストラウストラップが c++ でやりたかった事の一つが c の型をもっときっちりすることだったわけだが、
c の互換性に引っ張られて無理でしたっていう。

542:デフォルトの名無しさん
15/12/23 07:59:30.67 +daiOjD/.net
型に対して弱い=それでも静的型付け
なので、動的型付けは静的型付けに劣っているって
主張に一切影響を与えないがなw
どうも頭がおかしい奴がいる。

543:デフォルトの名無しさん
15/12/23 08:09:45.69 4flMvpuQ.net
ってか、オブジェクト指向の話に戻そうぜ
動的云々はもう泣いてんだからほっといたれ

544:デフォルトの名無しさん
15/12/23 08:23:44.09 0ZC/YhCb.net
>>533
へー、じゃあ静的厨さんが言ってた
・実行時に型に関するエラーが発生しないことを保証できる
・型さえ合わせればモジュールを安全に結合できる
・型により間違いを検出できるから変更時にデグレしにくい
という静的型付けの利点は全て引っ込めるってことだね。
というか、今まで静的厨が言ってた「動的型の欠点」は
全て百倍になってCに跳ね返ってくるわけだがw
ほんとバカってバカだなあw

545:デフォルトの名無しさん
15/12/23 08:28:48.27 +daiOjD/.net
× 実行時に型に関するエラーが発生しないことを保証できる
○ 静的時に型に関する不整合があった時にエラーがわかるからバグを早く修正できる。
(例えば弱か型付けでのC言語などに当てはまる)
× 型さえ合わせればモジュールを安全に結合できる
○ 問題に関する問題が解決するから、より安全に結合できる。(問題の全てが解決するなんて言っていない)
(例えば弱か型付けでのC言語などに当てはまる) 
× 型により間違いを検出できるから変更時にデグレしにくい
○ その通り。だが問題の全てが解決するなんて言っていない
(例えば弱か型付けでのC言語などに当てはまる)  
静的型付けだと、単体テスト+型解析によって、
単体テストのみの動的型付けよりも、より安全になる
(完璧など無いから、より安全であることが重要)

何度もいいましたよね?
なんで勝手に解釈を変更するんですか?

546:デフォルトの名無しさん
15/12/23 08:31:44.33 0ZC/YhCb.net
>>536
つまり前言撤回するわけねw
あんた、バカというよりキチガイの領域だよ?

547:デフォルトの名無しさん
15/12/23 08:32:10.02 eRscblyy.net
Cの上位互換のObjective-Cも静的型付けって事になったんだから、もうケンカする必要なくなって良かったじゃ無いか

548:デフォルトの名無しさん
15/12/23 08:32:39.88 +daiOjD/.net
こいつのやり口はいつも同じなんだよな。
こっちは「比べてより安全。よりコストが低い。より信頼性が高い」って
話をしているのに、変ないちゃもんをつけてくるんだよな。
動的厨「静的言語は完璧っていいましたよね?(←言ってない) こういう場合完璧じゃないじゃないですか!」
動的厨「静的言語はバグ無いいましたよね?(←言ってない) こういう場合バグあるじゃないじゃないですか!」
動的厨「動的言語ではできないって言いました?(←言ってない) 動的言語でもできるんですが!」
勝手に他人が言ってないことを、言ったと思い込んで、
その自分の思い込みを叩いてる。

549:デフォルトの名無しさん
15/12/23 08:33:14.42 +daiOjD/.net
>>537
> つまり前言撤回するわけねw
前言も何も、最初から言っていること。
「前言」ってどれだよ?言ってみなw

550:デフォルトの名無しさん
15/12/23 08:44:39.41 0ZC/YhCb.net
思いっきり書いてあるねえ
>>439
> 実行時で型に関するエラーが起きないってのは、
> 起きないよう注意を払ってプログラムを書くことができる、じゃなくて、
> 原理的に起こせない、っていう意味で言ったんだけど、分かる?

551:デフォルトの名無しさん
15/12/23 08:46:51.27 +daiOjD/.net
>>541
そいつ明らかに動的厨じゃないかw

552:デフォルトの名無しさん
15/12/23 08:47:42.61 0ZC/YhCb.net
で、Cのような、コンパイルで型のウォーニングすら出なくても
型安全を破ることができてしまう言語が安全性において優れていると?
あんた、完全に頭おかしいよw
>>427
> 静的型は型エラーであるもの、つまりアプリのバグ。
> そのアプリのバグを静的型は実行すること無く検出できる。

553:デフォルトの名無しさん
15/12/23 08:47:45.08 +daiOjD/.net
というか、本人かな?
マッチポンプってやつだろうなw

554:デフォルトの名無しさん
15/12/23 08:48:34.89 +daiOjD/.net
>>543
だから、完璧な�


555:ト言ってないって(笑) より安全。より。何度も言うよ? より安全。



556:デフォルトの名無しさん
15/12/23 08:50:35.73 0ZC/YhCb.net
>>542
バーカ、ちゃんと読めよw
同じIDが>>419を書いているぞwww

557:デフォルトの名無しさん
15/12/23 08:53:32.33 0ZC/YhCb.net
>>545
君は自分が何を言っているのか理解できない類の人らしいね。
君の主張は、
「型安全を確保できない弱い静的型付言語は
型安全を確保できている強い動的型付言語よりも
安全である」だよ?
バファオーバランを起こしても
「型に関するエラー」じゃないもん!
とか言い出すの?
ほんとバカというよりキチガイの極みだなw

558:デフォルトの名無しさん
15/12/23 09:17:33.38 MZJ58G0+.net
ほんとにもうこの話題は終わりにしてオブジェクト指向の話に戻してくれ

559:デフォルトの名無しさん
15/12/23 10:32:20.23 zDlwL3aM.net
Cが安全でコストが安くて信頼性が高い
ちょっと何言ってるのか分からないですね

560:デフォルトの名無しさん
15/12/23 13:02:34.89 GTqqbOlK.net
自分は最初っから、>>419でも>>439でも実行時に型情報がいらない言語OCamlについて話をしていたんだけどな。
JavaもC#も不正なキャストを許す型システムを採用していて、型が保証する安全性は小さいが、
こいつらに当てはまる問題点が静的型付け全部にあるわけじゃない。
それを分かっているくせに今度はCの問題点を静的型付け全般に言及しようとする?卑怯な言い分は変わらないのな。
逆に、静的型付けとひとくくりにして優位性を主張し、動的型付けを無理矢理に貶めようとする卑怯者もいるから面倒。
静的解析の優位性とか型システムが提供する安全性なんて、言語によって大きく違うのにな。
IdrisやCoqやAgdaはテストすら要らないくらいの安全性を持ってるけど、それを静的型付け全部の性質にしちゃ駄目だよな。
だから自分はOCamlやれって言ってる。
静的型付けで型システムが強力で実行時に型エラーが起きない&オブジェクト指向をサポートしている言語だから。
やればオブジェクト指向と関数型は決して対立軸にはならないことが分かるから。

561:uy ◆Qawu9.2l1E
15/12/23 13:14:24.78 uhnrlQdn.net
飛行機なんて落ちたっていいじゃん

562:デフォルトの名無しさん
15/12/23 13:19:23.85 DDf47SHC.net
順番が逆。
2パラグラフ目にあるような、オール・オア・ナッシングで動的型付き言語を
罵倒するだけの不毛な状況の反論で、ちょっと行き過ぎてファールラインを
超える奴がでただけの話。
あと、オブジェクト指向と関数型どころか、静的型/動的型だって対立概念じゃない。
多くの言語や処理系は静的型付けと動的型情報の両方を扱う。

563:デフォルトの名無しさん
15/12/23 13:19:25.16 +daiOjD/.net
>>547
> バファオーバランを起こしても
今度は話をバッファーオーバーランにすり替えたか。
本当にこいつは卑怯w

564:デフォルトの名無しさん
15/12/23 13:22:01.38 +daiOjD/.net
>>550
お前の「安全」の定義が違ってるんだよ。
お前は、アプリが不正なエラーで落ちるかどうかの話をしてるだろ。
こっちは最初からそんな話をしていない。
俺が言ってる安全っていうのは、アプリをバグなく
修正できるって話をしてる。
だから、例外で落ちるのも、俺にとっては安全ではない。
アプリが正常に動かないからだ。

565:デフォルトの名無しさん
15/12/23 13:23:30.17 2bKYe5U2.net
>>551
みつをみたいw

566:デフォルトの名無しさん
15/12/23 13:28:32.11 +daiOjD/.net
あー、また揚げ足取られそうだから修正しておくわ
× 例外で落ちるのも
○ 例外でアプリが正常に動作しないのも
こいつは、例外がでてトラップして画面にエラーですって表示したり
エラーを握りつぶしてログを出さずに動かなくても
仕様通りです。ってユーザーに言うようなやつだからなw

567:uy ◆Qawu9.2l1E
15/12/23 13:36:09.42 xOYwyJJS.net
プログラマが入れたバグのせいで飛行機が落ちました
では逆に、プログラマが飛行機を落とす事を考えてはどうだろう?

それによって現実世界にある飛行機という乗り物がいかに不備のあるものかが露呈する
飛行機という存在を根底から作り直す必要がある
つまりエンジンが止まっても、誤動作しても、人命が助かる作りへと変わっていく
どんどん墜落させれば世界は変わる

568:デフォルトの名無しさん
15/12/23 13:50:11.47 WSDJ3sSn.net
文法的に日本語では曖昧な議論しか出来ない。今から英語で議論しよう。

569:デフォルトの名無しさん
15/12/23 13:52:00.44 IsVfil8S.net
どうして ID:+daiOjD/ は自ら晒されにくるの?

570:デフォルトの名無しさん
15/12/23 13:57:58.13 +daiOjD/.net
>>559
うっぜーからID変えるね(笑)

571:デフォルトの名無しさん
15/12/23 14:38:21.71 cD3wXPE+.net
静的に型検査できる余地が多いから
C#が動的型より安全と言ったんだから、
C#よりも静的に型安全なOcaml使いにC#を批判されたら
それを認めないとダメだな。矛盾してる。

572:デフォルトの名無しさん
15/12/23 14:46:21.55 +NQ/xqJl.net
こういう輩にいくら矛盾を突きつけてもどうにもならんけどね。

573:デフォルトの名無しさん
15/12/23 14:51:05.22 +NQ/xqJl.net
そんなに静的言語のが圧倒的に良いなら
動的言語がこんなに使われる訳ないだろっていう
現実をまず見ようよ。

574:デフォルトの名無しさん
15/12/23 15:00:05.77 v4yXy6ML.net
ウェブ以外の世界では静的型が圧倒的に多いけどな。

575:デフォルトの名無しさん
15/12/23 15:01:46.32 v4yXy6ML.net
>>561
C#の話をしている人って誰だ?
自分でC#を持ってきて自分でC#を批判してるのか?

576:デフォルトの名無しさん
15/12/23 15:12:37.90 oeWwCbV9.net
>>565
いや、きみが自分でIDEが簡単に補完してくれるから静的言語はスゴイ!
とか謎の珍説を長々開陳してたから
「なんだそれ?w」「当てはまるのって"VC#をVSでWindows"ぐらいだからそれだなw」
って全員判断しただけじゃw

577:デフォルトの名無しさん
15/12/23 15:16:08.81 v4yXy6ML.net
>>566が思いついたのがC#だけで、
知識ないのが露呈しているだけだなw

578:uy ◆Qawu9.2l1E
15/12/23 15:20:54.46 y3L2qmhF.net
死ねアスペ

579:デフォルトの名無しさん
15/12/23 15:43:40.82 oeWwCbV9.net
>>567
では、そのすごい知識で自分が推してる環境をくわしくw
IDを変えてはふんわりざっくり
「どこの静的とぼくのかんがえた動的の話だよw」って
ツッコミ入りまくりの話しか君しないでしょw

580:デフォルトの名無しさん
15/12/23 15:46:57.79 v4yXy6ML.net
「C#と全員判断した」とか言うけれど、自分以外の人の判断が
何かわかるはずもない。ただ言えるのは>>566がそう判断したという事実なだけ。
そこから、>>566が無知であることが見事に証明されたんだよ。
静的言語でIDEで補完できない言語の方が少ないぐらいなのにな。

581:デフォルトの名無しさん
15/12/23 16:14:59.12 hnWS8bx3.net
C#の話をしてたかどうかじゃなく、
C#がOcamlより劣ったゴミ言語と認めるかどうかの
話なんだけどな
必死に話を逸らしてる人がいるね

582:デフォルトの名無しさん
15/12/23 16:18:49.87 v4yXy6ML.net
つまりこういうことけ?
Ocaml > C# > 動的言語

583:デフォルトの名無しさん
15/12/23 16:20:24.44 v4yXy6ML.net
訂正
OCaml(強い静的型付け) > C#(強い静的型付け) >>>>>>> 動的型付け

584:デフォルトの名無しさん
15/12/23 16:31:04.85 hnWS8bx3.net
てわけで、静的型付け派もOcamlがC#, Javaより優れてると認めたんだから
これからはOcaml vs Smalltalkでやりなさい
間違ってもC#を攻撃して静的型全体を貶めることの無いようにね

585:デフォルトの名無しさん
15/12/23 16:35:08.21 v4yXy6ML.net
だから誰もC#の話なんてしてねーってのw

586:デフォルトの名無しさん
15/12/23 16:50:59.04 uhnrlQdn.net
1人か2人が周りがどんなレスをしても自分の言いたい事散らばしながら、さらに周囲のレスから用語をピックアップして
無関係の用語同士を繋げて、レス安価したりしてるからごっちゃごちゃ
今までに見た事ないタイプのガイジだな

587:uy ◆Qawu9.2l1E
15/12/23 16:52:15.12 PjxVSF2U.net
死ねアスペ

588:デフォルトの名無しさん
15/12/23 17:02:19.48 iZy07rlJ.net
OCaml vs Smalltalk 、いいね。
同じ厨の意見なら C#厨なんかよりはるかに勉強になる。

589:デフォルトの名無しさん
15/12/23 17:05:26.00 v4yXy6ML.net
ほらな。誰もC#の話をしていないって
言ってるのに、さもC#の話をしていたかのような
誤解を与える文章を書くわけさ
>>576
ほんとひどいよねw

590:デフォルトの名無しさん
15/12/23 17:22:26.94 SBD3pGKR.net
そんな誰も使ってない言語同士の対決とか草生える

591:デフォルトの名無しさん
15/12/23 17:47:45.23 iZy07rlJ.net
使ってるし、お前が著しくアンテナ低いか、単に理解不能な低能なだけだろ。
C#だなんて、MS自体が危うい言語の独りよがりな自慢話のほうが痛いよ

592:デフォルトの名無しさん
15/12/23 17:54:11.80 2bKYe5U2.net
>>581
C#に黒歴史でもあるのか?いい言語じゃないか。使っておやり。

593:デフォルトの名無しさん
15/12/23 18:35:00.90 DDf47SHC.net
>>578
どっちもオブジェクト指向じゃねーか

594:デフォルトの名無しさん
15/12/23 18:46:04.87 iZy07rlJ.net
「オブジェクト指向」っても出自の異なる2つの系統があってだな
両者は「クラス」とか「オブジェクト」とかの言語機能は共通しているけど
やろうとしていることは静的と動的で真逆なの

595:uy ◆Qawu9.2l1E
15/12/23 18:49:30.03 PjxVSF2U.net
神オブジェクト指向だろ

596:uy ◆Qawu9.2l1E
15/12/23 18:53:46.61 PjxVSF2U.net
静的で出来るものは、
本来すべて静的でやるべきなんだよ
ただしそれは、アルゴリズムを走らせる事よりも、
難解な初期化作業になる場合あるから
そういう部分においてある程度の妥協をして、動的生成をする事で現実的な作業量になる
動的言語とはいわば、世界の妥協の集合知なのです

597:デフォルトの名無しさん
15/12/23 19:16:24.47 WSDJ3sSn.net
4 返信:uy ◆Qawu9.2l1E [sage] 投稿日:2015/12/23(水) 19:11:18.55 ID:PjxVSF2U [2/3]
>>3
荒 らしは徹底スルー。厳守 でお願いします。 www wwwwwwwwwww wwwwwwww 
荒ら しは徹底スルー。厳 守 でお願いします。 w w wwwwwwwww w wwwwwwwww w
荒らし は徹底スルー。 厳守で お願いします。  www wwwwwww www wwwwwww www
荒らしは 徹底スルー 。厳守でお 願いします 。 wwww wwwww wwwww wwwww wwww w
荒らしは徹 底スル ー。厳守でお願 いしま す。 wwwww www wwwwwww www wwwww w w
荒らしは徹底 ス ルー。厳守でお願い し ます。 wwwwww w wwwwwwwww w wwwwww w w w
荒らしは徹底ス ルー。厳守でお願いしま す。 wwwwwwwww wwwwwwwwwww www w w w w
5 名前:uy ◆Qawu9.2l1E [sage] 投稿日:2015/12/23(水) 19:12:50.88 ID:PjxVSF2U [3/3]
     _
     ト,\         /
    _j;;;;;〉>'"⌒¨⌒>ー|
     >'"            /|  い  死
.  /   ミ/、   __  〈;;j  い  ね
  〈     /!ヾ   "⌒ヾ <  の  ば
  ヽ. { / ト、     ∧   }|  に
  / \Nレベ\   /_ { /ハ  ね
  |  /Yxxx  \{⌒ヾ/〉 ハ
  l/∨\   ___ xxx/ 人l\___/
      xく||>ゝ ノ--イ/  \
    / Ⅶ  ∧}_ /  x=≠ヘ
    {  Vハ {{\V   〃   ∧

598:デフォルトの名無しさん
15/12/23 19:20:48.25 XPrkRHFD.net
>>584
もともと、「パーツの使い回し」と「分散処理」なんで趣向がだいぶ違うんだよな。
そして、動的は分散処理が最初から念頭にあるから
実行までに環境が変わることがあるのを最初から考慮に入れて
さまざまな設計がなされてるってのに、静的側を這ってた奴らは
それをいまごろになって副作用だの実行時解決だの言い出してのたうってるという…
そして、その尻尾に至っては「静的にやってれば不具合は存在しない!」とか
ここに至って言い張るという池沼ぶり…

599:デフォルトの名無しさん
15/12/23 21:36:24.75 SBD3pGKR.net
誰もC#推してないのに一人でC#叩いてるシャドーボクサーおる

600:デフォルトの名無しさん
15/12/23 21:37:18.89 L95mHKNc.net
>>586
URLリンク(hissi.org)

601:デフォルトの名無しさん
15/12/23 22:20:44.03 i2+b/jX1.net
C#er、粘り強く静的型付け代表として戦ってきたが、C#しか知らないとネタが割れたらあっさり白旗か
C#erさえも使っている言語の名前を恥ずかしすぎて出せない。C#って不憫だな…

602:デフォルトの名無しさん
15/12/23 22:43:34.79 k0HavgjY.net
動的型を使っていると性格がおかしくなるみたいですね
静的型の人は静的型のメリットを上げているだけなのにね
最近の動的型言語はどんどん静的型の機能を取り入れていっているというのに
その現実を見ないふり

603:デフォルトの名無しさん
15/12/23 22:45:49.10 oeWwCbV9.net
相手にして欲しがりすぎだおまえ。

604:デフォルトの名無しさん
15/12/23 22:50:14.84 pxGAUGCw.net
特定の言語の欠点をあげて全体が悪いっていうのは変だろ
動的言語の中にも比較時に勝手に型変換するとか、必要な語が予約語になってないとか、理不尽な動作をする言語はいくらでもあるわけで

605:デフォルトの名無しさん
15/12/23 22:58:52.97 k0HavgjY.net
型安全を保ちつつ柔軟性も保つという相反するような命題にチャレンジするのは
プログラミング言語の最先端の花の話題だ
静的に機械的にどれだけたくさんのバグを検出できるかというね
当然動的型言語界隈の人からも、こういうものはよく見えるし
面白そうな題材だから取り込もうとするわ
時代遅れな動的型一辺倒だけじゃ古臭いから
最先端な静的型システムを取り入れようとするわな
C言語しか見当たらなかった時代には動的型は最先端に見えたんだろうけど
今じゃ全く逆だからな
今のトレンドなのに時代に取り残された一部の動的信者は頭が固くて可哀想だね

606:デフォルトの名無しさん
15/12/23 23:03:07.90 pxGAUGCw.net
>>566
知名度の高い中でC#がわりとよくできてるからそれが例に上がるだけだろ
新しかったりしっかり設計されて、しっかり開発されてる静的言語なら程度の違いはあれ対応している

607:デフォルトの名無しさん
15/12/23 23:07:47.18 i2+b/jX1.net
で、ID:k0HavgjY と ID:pxGAUGCw は何言語つかってんの?
言えないってことはC#なんだろうな…

608:デフォルトの名無しさん
15/12/23 23:16:12.53 M5GRmAfS.net
ようよう! キャピュレットの!

609:デフォルトの名無しさん
15/12/23 23:22:43.24 v4yXy6ML.net
> C#しか知らないとネタが割れた
むしろC#しらないんだが?

610:デフォルトの名無しさん
15/12/23 23:24:31.14 i2+b/jX1.net
へ? じゃ何を知って静的型付けかたってんの?

611:デフォルトの名無しさん
15/12/23 23:26:52.96 i2+b/jX1.net
つーか、ID みたら、おめーには聞いてねーんだが? しゃしゃり出てくんなバカ

612:デフォルトの名無しさん
15/12/23 23:51:18.06 hnWS8bx3.net
実はJavaドカタだったら笑える

613:デフォルトの名無しさん
15/12/23 23:59:12.75 XPrkRHFD.net
コンピュータサイエンス方向に詳しくないC++ドカタ上がりだとは思う

614:デフォルトの名無しさん
15/12/24 00:04:57.64 ZIvzfH3j.net
>>597
メインはC#とかだけど、C/C++、Java、VB.NET、F#、TypeScript、ActionScriptとかでも型がきちんと指定されてれば補完とかリファクタリングのサポートとかは使えてる
Rubyとかも、補完割と優秀だけど仕組み的に静的型ほどの質にはならないなーとか思いながら使ってる

615:デフォルトの名無しさん
15/12/24 00:13:04.51 ndtshwiC.net
OCamlより優れた言語が一つもなくて笑った
そりゃ恥ずかしくて言い出し難いわな

616:デフォルトの名無しさん
15/12/24 00:25:51.89 TrbcLjcW.net
>595
逆とかじゃなくて動的静的でウゴウゴ言ってる奴自体が時代遅れだっつの。

617:デフォルトの名無しさん
15/12/24 00:29:15.71 vhy24jAm.net
>>605
> OCamlより優れた言語が一つもなくて笑った
OCamlが優れているっていうのなら、
その優れているところを言っていいんだよ。
君が本当にOCamlを知っているのならね。

618:デフォルトの名無しさん
15/12/24 00:31:03.47 ZIvzfH3j.net
>>605
OCamlより素晴らしい言語ってなにをあげればよかったんだ
文法や考え方も重要だけどRubyのgemとか.NETのnugetみたいな豊富なライブラリができる程度に利用者がいない言語って触りにくいんだよなぁ
CとかCOBOLとかFortranは過去の遺産使用のためにいまだに使われるし
新しい言語は他言語用のライブラリにただ乗りしていく方式が広まってほしい

619:デフォルトの名無しさん
15/12/24 00:37:37.29 TrbcLjcW.net
scala か?あれはどれだけ成功しているんだろうか。

620:デフォルトの名無しさん
15/12/24 01:02:41.26 Q6U3kr4L.net
その点pythonは素晴らしいな

621:デフォルトの名無しさん
15/12/24 01:06:29.65 vhy24jAm.net
>>608
どんな言語でもC言語用ライブラリは使えるでしょ?

622:デフォルトの名無しさん
15/12/24 02:05:42.62 y9bYd1Em.net
OCamlやりなさいよと薦めた人間が言うのもアレだが、型システムだけで言語の優劣を判断しろというわけじゃないからね。
メジャーな言語は完成度の高い開発環境や充実したライブラリが沢山あるから、何か作るかってときの選択肢に常に入るし、
OCamlも開発してたら面倒臭い部分が一杯あるからね。
型システムに限って言えば、OCamlを魅力ある言語として挙げ続けるがね。
静的型付けだけど、オブジェクトがnominal subtypingじゃなくてstructual subtypingなのも面白いところだよ。

623:デフォルトの名無しさん
15/12/24 02:12:20.43 vhy24jAm.net
それで言語厨はいらないんで、静的型付けのOcamlだと
どういうことができるのかの話をしなさいって。
どうこういう言語だから面白いんだっていう言語厨の発言じゃなくて
言語のどうこういう機能が、実際の開発をこのように便利にしてくれるって
話をすれば、それはさらに動的言語に対するアドバンテージにもなるだろ?

624:デフォルトの名無しさん
15/12/24 02:50:45.74 0ir5W3Vp.net
「アドバンテージ」


625:デフォルトの名無しさん
15/12/24 03:54:04.19 y9bYd1Em.net
頭が静的/動的型付けの二元論の人には何も言うことないよ。
各言語で型が保証してくれる安全性はスペクトルを描くことが分かっていれば、ガッチガチに型で縛られることのメリットは想像できるはず。
型推論のおかげで型注釈は最小限で済むので、面倒な型注釈も最小限で済むよ。
処理内容についてアタリをつけられる程度に型をつくっていれば、コンパイルできたら大体意図通りに動くっていう安心感も、
objectを使うとメソッドの呼び出しにオーバーヘッドがあるから、late bindingが本当に必要なときだけそのコストを払おうっていうメンタルモデルも、
モジュールを上手に使えばオーバーヘッド無しに実装を置き換えられることも、
Expression Problemが超簡単に解決できることも、興味無いでしょ?
REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ?

626:デフォルトの名無しさん
15/12/24 04:25:47.27 vhy24jAm.net
>>614
> 「アドバンテージ」
日本語にすると、有利な点,強み,長所 って意味だよ。

627:デフォルトの名無しさん
15/12/24 04:40:39.66 0ir5W3Vp.net
そこじゃねーよw笑われてるのはw

628:デフォルトの名無しさん
15/12/24 04:50:56.56 vhy24jAm.net
それ以外に笑う理由が見つかりませんが?
英語を使うのが苦手ですか?

629:デフォルトの名無しさん
15/12/24 05:55:42.72 0ir5W3Vp.net
まるでわかってない。
君高卒か専門卒でしょう?

630:デフォルトの名無しさん
15/12/24 07:34:44.49 UWoYNEvE.net
>>615
>REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ?
無い。
静的型信奉者が、静的型チェックによるケアレスミスの排除とインテリセンスの完全性に過度に執着して
すべてを動的遅延的かつシンプルに実現することによるメリットにまったく聞く耳を持たず、
時代遅れだと決めつけてバカにしまくるのと同程度に
かくも不自然かつ複雑に多大なコストをかけてやっと実現される、にもかかわらず制限付きまくりの
まがい物なんかにはこっちも興味は無い。

631:デフォルトの名無しさん
15/12/24 08:09:36.07 j6+iXrTs.net
「コスト」の時点でお里が知れてるんですが、それは…?
素直にVisualC#™️の宣伝してなさいな、君は

632:uy ◆Qawu9.2l1E
15/12/24 08:22:19.14 G+GnGNiW.net
安全性とか効率の話をしているときに「○○が面白い」とか突然言い出す奴って邪魔だよね

633:uy ◆Qawu9.2l1E
15/12/24 08:39:29.32 CtNlYBZF.net
動的言語でも型情報追っかけてコンパイルって可能じゃね?
c = 1
c = "a"
function(c)
これを内部で
Int c1 = 1
undef_var(c1)
String c2 = "a"
function(c2)
こうやったらコンパイラ側は型知ってるじゃん

634:デフォルトの名無しさん
15/12/24 08:44:11.80 TrbcLjcW.net
江添亮なみの頭の悪さ

635:デフォルトの名無しさん
15/12/24 08:45:13.50 PjvgHOdY.net
>>623
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)

636:uy ◆Qawu9.2l1E
15/12/24 08:57:06.27 QbSnczG6.net
c = 1
if rand(2) == 0
 c = "a"
end
function(c)

こういうコードを「型推論エラー」として扱うか、
それともコンパイラ側が関数多態化するかっていう話

637:uy ◆Qawu9.2l1E
15/12/24 09:01:29.81 yBEC7nO0.net
こういう規則を作る方法もある
「変数の初期化・変更は必ず同一のifブロック内で行う」
if rand(2) == 0
 c = "a"
else
 c = 1
end
function(c)

if (memo = rand(2) ) == 0
 String c = "a"
else
 Int c = 1
end

if memo == 0
 function_String(c)
else
 function_Int(c)
end

638:デフォルトの名無しさん
15/12/24 09:02:48.63 TrbcLjcW.net
コードレビューして、そんな糞コード書いた奴を首にするのが一番。

639:uy ◆Qawu9.2l1E
15/12/24 09:02:53.31 Ecjqx/Av.net
ここまで書いて思ったけど型推論の技術がいずれ逆輸入されて終わりそうだな

640:uy ◆Qawu9.2l1E
15/12/24 09:07:28.40 IhMbbAWz.net
>>628
アスペはカキコしないでくれますか?
抽象化のコードをコードレビューて

641:uy ◆Qawu9.2l1E
15/12/24 09:18:48.74 g389+8X2.net
完全に型をトレースする為にはすべての分岐をメモするしかない
で、同じ形の分岐をそのまま持ってきて
条件のところを[ memo ]変数にし、
多態化したメソッドを配置して、
[ memo ]変数の中身に沿って実行していく

しかしこれは「型安全性」ではなく、速度問題しか解決されない
型安全性は、動的言語のコンパイラの問題ではなくパラダイムの問題で
動的言語の上では、コンパイラを作り込んでも型安全性は得られない
よって>>627
これは規則のプロトタイプでとてもひどいものだが、
型推論を確実に行うための何らかの「コーディング規則」は必要になる

642:デフォルトの名無しさん
15/12/24 09:22:51.71 PjvgHOdY.net
>>631
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)
URLリンク(hissi.org)

643:uy ◆Qawu9.2l1E
15/12/24 09:39:29.04 yBEC7nO0.net
無駄無駄

644:デフォルトの名無しさん
15/12/24 09:52:39.44 8Q8CNXOF.net
静的型付きがやっていることって、よく考えると動的が開拓したことの後追いなんだよね

645:デフォルトの名無しさん
15/12/24 10:12:30.78 P/dN5WcP.net
それを静的のスピードで実行出来るのが偉大なのでは

646:デフォルトの名無しさん
15/12/24 10:20:29.98 ZIvzfH3j.net
>>620
動的型の言語のメリットを全く聞く耳持ってない人はほんの一部の行き過ぎな人だけだろ
それと同程度ってことは静的言語のメリットは全く理解できないっていう極端な方ですか?

647:デフォルトの名無しさん
15/12/24 11:36:16.44 acHF714F.net
>>624
質問ではない。

648:uy ◆Qawu9.2l1E
15/12/24 15:48:25.48 G+GnGNiW.net
動的生成でやってる事を、静的生成にする事のほうが難しいから
技術を動的言語が開拓していくのは当たり前なんですけど
しかし静的生成にする事で計算量が削れてくるから、動的な部分を出来る場所から静的にしていく流れが強いのであって
その逆は弱い

649:デフォルトの名無しさん
15/12/24 16:23:46.71 7vJ6cUbQ.net
動的遅延結合的にやっていることを静的型付きで同じようにやろうとすると、
ひどく複雑な方法になる(もちろんその分コストもかかる)という印象の方が強い

650:デフォルトの名無しさん
15/12/24 16:24:05.94 lTmsChXg.net
> 動的生成でやってる事
具体的には何?

651:デフォルトの名無しさん
15/12/24 16:24:41.70 lTmsChXg.net
> 動的遅延結合的にやっていることを
だから具体的には何?

652:デフォルトの名無しさん
15/12/24 17:07:23.44 acHF714F.net
>>639
>同じようにやろうとすると
問題はここでは?

653:デフォルトの名無しさん
15/12/24 17:55:03.50 J9J3Kh42.net
>>615
>REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ?
その「及ばない」程度をどう認識しているかの問題でしょう。
コマンドラインで満足できる人はREPLはインタラクティブと思うのだろうが、
Smalltalkを使う人にとってはREPLのインタラクションは到底我慢ならない。
Smalltalk環境をある程度以上使い込むと、
「この環境を静的型付言語上に実現することは
とてつもなく困難(おそらく不可能)だ」と実感するんだよ。

654:デフォルトの名無しさん
15/12/24 18:47:04.52 ri4CJahT.net
Pythonで何か変更を加えた後、いちいちいろんなテストを書いて実行しないとプログラムが破綻してる場所がないか確認取れないのが腹立たしくて仕方ない
この点においてはC++って神だわ

655:デフォルトの名無しさん
15/12/24 19:11:30.67 acHF714F.net
勝利もあれば敗北もある

656:デフォルトの名無しさん
15/12/24 19:27:06.30 E5q4kG2K.net
>>644
なんで、変更の影響がそんな外にまで波及すんの。
設計の問題じゃねの。

657:デフォルトの名無しさん
15/12/24 19:44:55.51 rA2ypWMt.net
そうか、C++ではロクにテストもせずに「できた」とか思っちゃうのか…こわっ!

658:デフォルトの名無しさん
15/12/24 20:08:47.22 E5q4kG2K.net
もともと、大型コンピュータの時代に、ひとつのプロセスが
全CPUパワー使ったまま待ち受けとかしたらすんげぇ無駄だよね?
TSS(タイムシェアリング)で複数のプロセスをできるとこから実行させてくとかするし
ネットワークで処理分散して別のコンピュータに処理投げるとか
いまの"密な関係"を前提としたプログラミングでやり続けるのは泥沼の道だよね?
"真のコンピュータサイエンス"が実現するまでは次善の策として
モジュール間の接続を疎にして、手続きの順番に強く縛られないプログラミングを
やるしかないよね?ってのが40年以上も前のことで、
それが真のコンピュータサイエンスが出るどころかネットは発達するわ
普通の家庭用コンピュータが2コアだ4コアだってなってんのに
『密なプログラミング』の泥沼這ってた奴らはなんでその泥沼から
「キツイから動的からあれ持って来て足したわ、こんどはこれ足したわ
これでどんどん"なんでもできるように増築"したから俺スゲー!」って自賛してんだよ。
おまえの棲んでるとこは泥沼なんだよ。泥はね散らかすな。

659:デフォルトの名無しさん
15/12/24 20:26:30.06 DECH3WsR.net
>>611
それがそうでも
C言語用ライブラリをそのまま使えるようにしようと思うと
その言語がC言語のヘッダを理解できる必要がある
ヘッダにはプロトタイプ宣言の他にも構造体とか定数とも定義してあるし
さらに悪いことにC言語にはマクロが有るからCのソースの断片がそのまま
ヘッダファイルに書いてあったりするから
C言語のヘッダが理解できるということは、C言語の全部が理解できるということに他ならない
C++やObjective-Cみたいな初めからC互換が念頭にある言語じゃないと厳しい
結局Cのヘッダをその言語用に移植してあげないと使えないんだよね
windows.hの移植とか、考えただけでぞっとするよな

660:デフォルトの名無しさん
15/12/24 20:30:08.49 DECH3WsR.net
>>648
お前の妄言にはなんの根拠もないわけだが
少なくとも最近の動的型界隈は静的型を取り入れるのがトレンドになっているし
実際にそういう言語がどんどん出てきているのは事実
事実は動かしようがない

661:デフォルトの名無しさん
15/12/24 20:59:23.91 J9J3Kh42.net
>>649
Cのヘッダを読み込んで自動的に動的型言語用のFFIを定義するぐらい
遅くとも90年頃には実用されてたぞw
何週遅れなんだおまえは

662:デフォルトの名無しさん
15/12/24 21:32:06.75 Q6U3kr4L.net
>>646
完全に個人用のファイル生成ツールだから設計適当、バグどんとこいって感じで取り敢えず動けばいいって感じなんよ
だからしばらく使わない機能とかあって、数ヶ月前に変更したところが変に効いてきたりするんよ
ぶっちゃけ設計が悪いのはその通りだと思う

663:デフォルトの名無しさん
15/12/24 21:41:12.91 Q6U3kr4L.net
>>647
C++の業務プログラマーが適当なんじゃなくて俺が適当なだけなんだけど、もしかしてそんなことも分からず俺がC++代表だと思ってしまう雑魚?

664:デフォルトの名無しさん
15/12/24 22:45:00.81 ZIvzfH3j.net
>>651
まじ?移植で純粋に面倒で困ってたんだ
C以外ならなんでもいいから実装を見たい
WindowsのヘッダならHIDA_GetPIDLItemとかのPIDL操作周りとかある?

665:デフォルトの名無しさん
15/12/24 22:57:46.42 DECH3WsR.net
>>651 移植ヘッダがあちこちに上がっているけど 企業はそういうものを使いたがらないんだよね 純正じゃないから



667:デフォルトの名無しさん
15/12/24 23:01:53.68 DECH3WsR.net
C用ヘッダの移植の話ならD言語すら苦しんでいる、というか苦しんでいた
もう過去の言語で忘れ去られる存在だから過去形で良いよね
とにかく全然普及しなかった
C言語のライブラリが使えるっつったって
ヘッダがそのまま使えないのであれば結局面倒なので普及しないのさ
結局C++を進化させる方向を時代は選択した

668:デフォルトの名無しさん
15/12/24 23:07:13.77 Xid5FbCP.net
C用のヘッダを書けばブリッジできるSwiftはやはり未来を生きているな
C++++の立ち位置はやはりこの言語か

669:デフォルトの名無しさん
15/12/24 23:08:30.65 DECH3WsR.net
>>654
C以外なら何でも良いならC++だな
Cのヘッダをそのまま読めるじゃないか
C++のCの互換性は完璧じゃないけど
Windowsのヘッダは両方に対応しているから問題ない
殆どのC用ライブラリはC++で使われることも想定しているから
大体は問題ない

670:デフォルトの名無しさん
15/12/25 00:08:28.55 pGtNhFfn.net
まあなんでもかんでもコンパイラに任せりゃいいと思ってる馬鹿が熱心になるのが
c++ なわけで、そもそもすべての仕様を満たしているコンパイラなんて存在しないっていう。
言ってみれば何でもかんでもプログラマに押し付けて、炎上しまくるクライアントみたいなもんだな。

671:デフォルトの名無しさん
15/12/25 00:12:57.12 v/Z7kcib.net
コンパイラに任せられるところは多ければ多いほど良いだろ

672:デフォルトの名無しさん
15/12/25 00:17:30.47 XvkCqMEu.net



673:逆に実行時のランタイムに何でもかんでも任せれば良いと思っているバガが動的型言語なわけだが



674:デフォルトの名無しさん
15/12/25 00:32:53.45 XvkCqMEu.net
規格書の件も、規格書が実装に先行しているのは健全だろう
実装してみてあとから規格書を起こすのはXXXだよね
特にC++ならまずはBoostとかで実験して便利そうだったら規格に入れていくって
フローが有って上手く行っているよね
キッチリしているよね

675:デフォルトの名無しさん
15/12/25 02:25:48.96 K0bEU4IZ.net
まあ、作る前にできあがる物がキッチリ決められる程度の物を作るなら静的で十分って話

676:デフォルトの名無しさん
15/12/25 02:27:22.36 OJPyRqtL.net
できあがる物がキッチリ決められる程度?
出来上がるものがきっちり決められないものって何?
そしてそれがなんで静的じゃ作れないの?

静的でも、コードを修正することで、
ありとあらゆる将来の変更に対応できるんだが?
君は、それじゃ無理という理由を書かないといけないね(笑)

677:デフォルトの名無しさん
15/12/25 03:11:44.03 IhSwjExx.net
人類はそろそろ静的型という野蛮な風習から卒業しなきゃな...
静的型なんて昭和までで見切りをつけるべきだった

678:デフォルトの名無しさん
15/12/25 04:07:09.91 K9bgF2wt.net
>>664
じゃあ、非常に単純な例で。以下を忠実に静的型付き言語でやってみせて欲しい。

いい具合に君は今、これから何を作らされるかわからない状態だ。
とりあえずオブジェクト(何のクラスに属していてもいい。いや、クラスに属さずにいられるなら、
それでも構わない)を作ろう。
できたかな? 仮にこいつを x と呼称する。
では x に foo というメッセージを送ったら 'bar' と返してくるように振る舞いを加えてみよう。
他にも二つのオブジェクト、y と z が必要になった。これらも当初の x 同様に、現時点では何者でもない。
その後、両者ともプロパティとして x を保持し、片方は baz、もう一方的には qux というメッセージを送ると、
両者とも x を返すように決まったのでそれに従おう。
さらに x には quux というメッセージにも応答させる必要がここで生じた。
当然、今の段階で y.baz.quux を評価したら例外があがるから、そのままデバッガで 'quuux' を返す quux メソッドを定義しよう。
なんとなく各オブジェクトの輪郭がつかめてきたから、x のクラスは X 、y と z のクラスはそれぞれ Y、Z と名付けることにしよう。
念のため、z.qux.quux も 'quuux' を返すことを確認しておく。
これらは大事なオブジェクトだから、次回起動時にもそれぞれのアイデンティティと関係性を変えることなしに
開発を続けられるように永続化もしておこう。

「メッセージ送信」がお気に召さなければ「メソッド呼び出し」と適宜読み替えてもらって構わない。
メッセージ送信もしくはメソッド呼び出しの記法にもこだわらない。

679:デフォルトの名無しさん
15/12/25 04:13:00.59 OJPyRqtL.net
> これから何を作らされるかわからない状態だ。
この時点で現実にありえない話だけどなw
> では x に foo というメッセージを送ったら 'bar' と返してくるように振る舞いを加えてみよう。
そのようにコードを修正して完了
> 両者とも x を返すように決まったのでそれに従おう。
そのようにコードを修正して完了
> 当然、今の段階で y.baz.quux を評価したら例外があがるから、そのままデバッガで 'quuux' を返す quux メソッドを定義しよう。
そのようにコードを修正して完了
> 念のため、z.qux.quux も 'quuux' を返すことを確認しておく。
そのようにコードを修正して完了
> これらは大事なオブジェクトだから、次回起動時にもそれぞれのアイデンティティと関係性を変えることなしに
> 開発を続けられるように永続化もしておこう。
そのようなことができる機能を追加して完了

何かできないことがある? 言ってることが冗長だよね
できないこと「だけ」を指摘しなさい。
なお、目的と手段を履き違えないようにねw

680:デフォルトの名無しさん
15/12/25 04:20:04.95 OJPyRqtL.net
動的のメリットは、結局、やるひつようもない
アクロバット開発ができるってことだけらしいよなw
綱渡りをしなさいっていう制約はないのに、
どれだけ綱を降りずに開発できるか。
自動テストを使えば、初期状態からもう一度再実行できるんだから
デバッグしながら開発するんだ。デバッグを中断したら駄目だっていう
綱渡りな開発をする必要はないんやで?

681:デフォルトの名無しさん
15/12/25 04:26:13.87 IhSwjExx.net
静的脳は動的はバカ、
動的脳は静的は無能と思い込む。
現実は両方必要なのにねえ。

682:デフォルトの名無しさん
15/12/25 04:49:18.25 8VJZxsHL.net
両方必要なことは動的脳はわかってるだろ。
無理に動的なんかいらなイイイ!とか言ってる珍獣土方をからかってるだけで。

683:ネットワークエンジニア(プロ)です
15/12/25 05:26:40.51 0vV5tzYe.net
両方必要とかばかじゃないの。
静的におけるディクショナリをお手軽に使えるのが動的だろ。
動的ってのは局所的に使うんだよ。
Webに収まってろよ。

684:デフォルトの名無しさん
15/12/25 06:36:40.94 pGtNhFfn.net
>>662
きっちりしてるのに上手くいってないのがc++なわけだが。

685:デフォルトの名無しさん
15/12/25 07:21:54.97 IvmyX9uA.net
>>667
「そのようにコードを修正して完了」の一行で済むのに…

686:デフォルトの名無しさん
15/12/25 07:27:52.90 OJPyRqtL.net
>>673
煽るのが目的だからこれでいいw

687:デフォルトの名無しさん
15/12/25 07:34:07.95 IvmyX9uA.net
>ありとあらゆる将来の変更に対応できるんだが?
って大見得切ったわりにはお粗末だったな。インスタンスは作り直しだがとか苦しい言い訳しつつも
クラス名の付け替えくらいは出してくるかと予想したが、まったく無しでコピペ返しとはね。

688:デフォルトの名無しさん
15/12/25 07:41:03.64 OJPyRqtL.net
何がお粗末なのか?事実を言ったまで。
ソースコードを修正で、ありとあらゆる将来の変更に対応できる。

689:デフォルトの名無しさん
15/12/25 07:41:38.82 OJPyRqtL.net
> クラス名の付け替え
それもソースコード修正で可能。
アクロバット(笑)をするのが
目的じゃないんだよw

690:デフォルトの名無しさん
15/12/25 08:33:49.83 b/ORJMNc.net
すまん、状況に応じて静的動的使い分けられない雑魚おる?
どっちかに固執するアスペみたいな奴おるな

691:デフォルトの名無しさん
15/12/25 08:36:13.65 hK6V4eA3.net
ITproでstaticおじさんがまた弄られている
もう数年前だというのに、赦されるときは来るのか

692:デフォルトの名無しさん
15/12/25 09:09:22.55 0wm6/WOA.net
>>666 Squeak Smalltalk で。
x := Object new.
"foo で #bar を返すように動的に変更"
x assureUniClass class compile: 'foo ^#bar'.
x foo. "=> #bar "
y := Object new. z := Object new.
"インスタンス変数、アクセッサーを動的に追加"
y assureUniClass class addInstVarName: 'baz'.
z assureUniClass class addInstVarName: 'qux'.
(Browser new setClass: y class selector: nil) createInstVarAccessors.
(Browser new setClass: z class selector: nil) createInstVarAccessors.
y baz: x. z qux: x.
y baz == x. "=> true "
z qux == x. "=> true "
y baz quux. "(デバッガでの動的メソッド追加作業は割愛。そのまま続行) => #quuux "
"クラスの動的な名称変更。変更後もインスタンスは維持"
{x. #X. y. #Y. z. #Z} pairsDo: [:inst :className | inst class rename: className].
{x. y. z} collect: #class. "=> {X . Y . Z} "
{x. y. z} collect: #identityHash. "=> #(3012 2588 1285) "
"永続化"
SmalltalkImage current snapshot: true andQuit: true.
"再起動後もアイデンティティ等維持"
{x. y. z} collect: #identityHash. "=> #(3012 2588 1285) "

693:デフォルトの名無しさん
15/12/25 09:13:40.79 OJPyRqtL.net
なぜそれを、デバッガを起動したまま
変更しないといけないのか?という問題が有るよな。
まずそこだよ。論点はw

694:デフォルトの名無しさん
15/12/25 09:40:26.84 b/ORJMNc.net
>>679
オブジェクト志向は愚かな考えというスレタイによくあった、今よりはいい話題を提供してくれるいい記事だ

695:デフォルトの名無しさん
15/12/25 10:24:18.27 IvmyX9uA.net
>>681
静的型付けでは「そのようにコードを修正して完了」なんだろ?
いいじゃん、それで。なぜわざわざ蒸し返す?

696:デフォルトの名無しさん
15/12/25 11:15:03.59 OJPyRqtL.net
>>683
そうなんだよね。手段と目的、デバッガを起動したままっていうのは手段であって
目的じゃない。目的はコードを修正することで、
静的型付けでもできることなんだよね。

697:デフォルトの名無しさん
15/12/25 11:22:07.51 zlW/tpNm.net
手段とか目的とか立場で変わることを言ってもしょうがないじゃんか

698:デフォルトの名無しさん
15/12/25 11:25:41.39 JtKLD9Wt.net
ルビーで開発してる人が言ってたけど型エラーが投げられた事は一度もみたことないって言ってた。

699:デフォルトの名無しさん
15/12/25 11:26:33.01 OJPyRqtL.net
じゃあ俺は言語を使ってアプリやシステムを作る人の立場で言うわw
最近ではシステムは停止することを前提として、クラウドで
多数のマシンを使って切り替えながらシステムを動作させるのが主流だからね。
一箇所を変えれば、修正が終わりって時代じゃなくなってる。
常に実行しながら行うのは技術的に面白いってだけで実用性は無い。

700:デフォルトの名無しさん
15/12/25 11:28:09.42 OJPyRqtL.net
>>686
話しよく聞いてみ。
"型エラー"が投げられたことがないと言ってるだけで
"エラー"が投げられたことがないとは言ってないから。
別の名前のエラーが投げられているが、
それは型エラーではないという屁理屈だよ。

701:デフォルトの名無しさん
15/12/25 11:33:07.93 IvmyX9uA.net
>>687
それでいいんじゃない?
キミの住む静的な閉じた幸せな世界ことで、これ以上何を議論する必要があるだろうか。いや無い。

702:デフォルトの名無しさん
15/12/25 11:35:15.65 OJPyRqtL.net
>>689
あぁ、同じことが動的にも言えるね(笑)
動的の閉じた世界であーだこーだ言ってればいいんじゃないw
どうせ、言語を使ってアプリやシステムを作らない人の
オナニーでしょ?w

703:デフォルトの名無しさん
15/12/25 11:39:46.06 JtKLD9Wt.net
ルビーの場合はコードの構造が型エラーを許さないようにできているから型エラーは起きないらしいね。

704:デフォルトの名無しさん
15/12/25 11:43:08.18 OJPyRqtL.net
ちなみに、どのような構造だから型エラーを許さないかを
詳細に語って見せてというと・・・?
言えないんだな、これがw

705:デフォルトの名無しさん
15/12/25 11:48:11.81 IvmyX9uA.net
静的型付きでは普通やらないことは全部アクロバット
そういうことやるやつは皆、アプリやシステムなんか作ってない奴
って妄想もすごいな

706:デフォルトの名無しさん
15/12/25 11:49:13.31 JtKLD9Wt.net
現実でよく使われてる言語の静的型付けはセキュリティーの助けになってないんだって。

707:デフォルトの名無しさん
15/12/25 11:51:54.57 JtKLD9Wt.net
型安全の安全は幻想であって、ルビーの型付けは安全かつ生産性が高いんだって。

708:デフォルトの名無しさん
15/12/25 11:52:57.87 OJPyRqtL.net
そりゃセキュリティのためじゃないしw
こういう「静的言語は○○が目的なんだ」←動的厨勘違い
でも「静的言語は○○の役に立たないんだ!」
という、自分で間違ったことを言って、それは間違いだって
指摘するマッチポンプやめてくれないかね?w

709:デフォルトの名無しさん
15/12/25 11:57:12.88 IvmyX9uA.net
君はいったい何と戦っているんだい?
世のなか馬鹿ばっかりで、さぞや大変だろうね。そんなに頑張らなくてもいいんだよ。

710:デフォルトの名無しさん
15/12/25 11:58:07.60 OJPyRqtL.net
戦うというよりかあしらってるって感じだけどなw

711:デフォルトの名無しさん
15/12/25 11:59:19.48 JtKLD9Wt.net
誰もが初めは動的型付けなんて使ったら滅茶苦茶になるって思ってルービーを使ってみると誰もがその自由度に驚きその恐れは間違いだったことに気が付くんだって。

712:デフォルトの名無しさん
15/12/25 12:03:49.35 OJPyRqtL.net
> 誰もがその自由度に
さっきも、それは具体的にどういうことって聞いたけど、
見事に答えなかったでしょ?
また今回も答えないよ。その自由度を。
あ、手段と目的を履き違えないでねw
それを使って、何に役立てられるかを答えるように。

713:ネットワークエンジニア(プロ)です
15/12/25 12:30:08.52 0vV5tzYe.net
ruby?
ああ、twitterが誤りに気づいて捨てられたやつか

714:デフォルトの名無しさん
15/12/25 13:13:35.65 peTf9jy5.net
>>691
タイポとかで存在しないメソッドを呼んだときに静的型では型エラーになって、動的型では別のエラーになるということでしょ?

715:デフォルトの名無しさん
15/12/25 13:33:40.28 H65SAupI.net
>>702
そもそもね。型安全ではないっていうのはC/C++のことを差すんだよ。
C/C++は型はあるけど、型キャストによってどんな不正な型にも変更できる。
そのようなコードを書いた場合、Segmentation faultが発生する。
もしくはメモリ内容によって未定義な変な動作をする。
Segmentation faultが発生し、通常はOSによって不正な動作を
食い止められる。このような自体になることが型安全じゃないってこと。
C#やJavaは不正な型に変更しようとしたら例外が発生する。
これは型安全。
だから4パターンあるんだよ。
1. 静的型:コンパイル時に型チェックが行われるが、型安全ではない。 C/C++など
2. 静的型:コンパイル時に型チェックが行われ、型安全。 Java、C#など
3. 動的型:コンパイル時に型チェックが行われず、型安全
4. 動的型?:コンパイル時に型チェックが行われず、型安全でない。(流石にこんなめちゃくちゃなのは作らないだろう)
静的型の1のパターンは、コンパイル時の型チェックにより、殆どの場合は安全に動作するが
壊そうと思えば壊せてしまう。それができないのが静的型の2のパターン
動的型は型安全にするしかないから型安全。静的型には型安全じゃないものが存在する。
動的厨はそれを利用して型安全じゃない静的型を叩いているだけ。
型安全な静的型の存在を意図的に無視してね。
型安全かつコンパイル時に型チェックが行われる言語は、型安全なのはもとより、
コンパイル時に型チェックが行われるから、実行時に例外(バグ)が発生する可能性も大きく減る。
つまり2のパターンの静的型が一番信頼性が高いソフトウェアを作れるってわけ。

716:デフォルトの名無しさん
15/12/25 13:39:12.58 b/ORJMNc.net
でも動的厨が叩いてるのC#じゃないっけ?

717:デフォルトの名無しさん
15/12/25 13:41:17.94 W214cjQ2.net
「static-typeおじさん」はなぜ自信満々なのか…

718:デフォルトの名無しさん
15/12/25 13:42:41.49 H65SAupI.net
>>704
それは連想ゲームで叩いてるんだよw
動的型は型安全 → 静的型は型安全じゃない → 静的型のC/C++は型安全じゃない
→ 静的型は型安全じゃない → C#は静的型 → 静的型は型安全じゃない
こんな感じでねw

719:デフォルトの名無しさん
15/12/25 15:31:05.22 JtKLD9Wt.net
これは針の上の天使問題の一つにだな。

720:デフォルトの名無しさん
15/12/25 20:26:11.52 P+AWGo7j.net
>>648で終わったら性的おじさんが
「終わりじゃねぇ!」って発狂した流れ

721:デフォルトの名無しさん
15/12/25 20:32:11.38 RqZZBlSb.net
Swiftのような本当の意味で型安全な言語って他にある?

722:デフォルトの名無しさん
15/12/25 21:04:06.54 VdtrNDQn.net
static-typeおじさんとかいう頭悪そうなレッテル貼りすこ

723:デフォルトの名無しさん
15/12/25 21:17:46.87 XvkCqMEu.net
っても最近の動的型はどんどん静的型の機能を取り入れている現実が有るわけだから
レッテル貼りしようにも、自分たちにも降りかかってくるんじゃないかね

724:デフォルトの名無しさん
15/12/25 21:19:31.49 JtKLD9Wt.net
型はカリーハワード対応で証明が出来るから安全なんだけど、C++とかはそういうことできないからな。

725:デフォルトの名無しさん
15/12/25 21:23:41.52 pExGh+/O.net
馬っ鹿野郎カーリーハワード対応なんてやりだしたら型推論もできなくなるじゃねえか。
まだ証明駆動開発に手を出すのは早いというか、現実とのすり合わせが欲しいところ。

726:デフォルトの名無しさん
15/12/25 22:45:11.43 cOtvUzth.net
気分はstatic-type!: 何度聞いても動的のメリットってピンとこないんです!

727:デフォルトの名無しさん
15/12/25 23:05:46.54 ya9ISuTA.net
極端な話、Cでシングルプロセッサの組み込み機材用の
小さなプログラム組んでる現場しか知らないプログラマが
C++もObjective-Cも"自分には必要のない機能"だから
関数で十分だろ!って言い張ってんのといっしょだからな。

728:デフォルトの名無しさん
15/12/25 23:07:42.36 H65SAupI.net
なら必要な理由を言うべきでは?w

729:デフォルトの名無しさん
15/12/25 23:14:42.64 VdtrNDQn.net
動的のメリットがピンとこないやつはそうそういないだろ
それ以上に静的のメリットが目立ってきただけで

730:デフォルトの名無しさん
15/12/25 23:19:44.67 NwxuBGdr.net
まだやってたのかい
おおいぬ座VY星の大きさにくらべたら
そんなちっぽけな事なんてどうでもいい話だぞ。

731:デフォルトの名無しさん
15/12/25 23:20:18.82 RqZZBlSb.net
今から5年後10年後を考えるともうプログラミング言語はSwift以外は必要ないんじゃない?

732:デフォルトの名無しさん
15/12/25 23:24:54.08 Zq2DCqaM.net
>>719
ふぞけんな
ガベージコレクション実装してくれたら考える
循環参照うざすぎ

733:デフォルトの名無しさん
15/12/25 23:30:22.04 O7yo+mtd.net
>>715
井の中の蛙に大海原でのサバイバルに必要な知恵を説いたところで、
「技術的に面白いってだけで実用性は無い」って一蹴されるのがオチ。
時間の無駄だと気付よ。www
そのカエルが想像力を欠いた思い込みの激しい自信たっぷりの頭の固いオッサンだったらなおさら。

734:デフォルトの名無しさん
15/12/25 23:39:55.58 H65SAupI.net
まず説明するべきだろうw

735:デフォルトの名無しさん
15/12/25 23:43:21.09 fIh1CtOA.net
このLISPロートルもC#を使ってりゃ
200行程度のコードのデバグ()に40時間も無駄にせんでも済んだのにな!
URLリンク(cybozushiki.cybozu.co.jp)

736:デフォルトの名無しさん
15/12/25 23:45:19.82 RqZZBlSb.net
>>720
メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、
あらゆる環境で動作する、これからのIoT時代を考えると、
プログラマの意図しないところで勝手に動作するGCを言語仕様に組み込まなかったのはSwiftの数多くの英断のうちのひとつ

737:デフォルトの名無しさん
15/12/25 23:59:15.15 ZRRrPEfi.net
>>723
おもしろい!

738:デフォルトの名無しさん
15/12/26 00:05:35.63 X/dp4KOm.net
>>720
pythonみたいに参照カウントをベースに循環参照も破棄できるようになればいいのにね!

739:デフォルトの名無しさん
15/12/26 00:08:12.89 ZXEkf1l0.net
SwiftもまずはWinとLinuxでしっかり動くようにしないと言語仕様に関係なくお話にならない
.NETは今必死に他環境に移植してるけど、結果がどうなるか

740:デフォルトの名無しさん
15/12/26 00:12:29.18 AIAsWwFm.net
Windowsは既にプラットフォームとして終わっているから問題ない
OSXは誰もが最新を使っているが、Win10入れてるやつがどれだけいる?

741:デフォルトの名無しさん
15/12/26 00:22:19.00 h8/CI80S.net
>>724
> メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、
体育会系かな?
やらなくてもいいことを頑張っても
評価されないよw

742:デフォルトの名無しさん
15/12/26 00:25:35.01 AIAsWwFm.net
>>729
Swiftには明示的なメモリ管理は必要ないよ
頭の中にマシンを思い描けば、あとは勝手にSwiftがメモリを管理してくれる
イマジンからバイトコードを作る、これまでのプログラミング言語と一次元違う生産性を与えてくれる言語だね
循環参照に困ってるようなプログラマは、結局マシンと繋がってない2流なんだよ
何の言語やってもゴミだと思うよ

743:デフォルトの名無しさん
15/12/26 00:27:11.73 h8/CI80S.net
>>730
あんまりおもしろくないかな。

744:デフォルトの名無しさん
15/12/26 00:29:13.18 ZXEkf1l0.net
>>728
少し調べるとMacでも最新は半分とかいうデータもあるが・・・
少し古くなると無言でアップデートが降ってこなくなるのはどうにかしろよ

745:デフォルトの名無しさん
15/12/26 02:08:48.33 fgdYsfOp.net
>>731
なんか露骨にシャドーボクサーが敵だと思う相手のモノマネ始めた…って感じだよなぁw

746:uy ◆Qawu9.2l1E
15/12/26 05:47:09.22 FnXDSeGk.net
アスペしかいないなこのスレ

747:デフォルトの名無しさん
15/12/26 09:17:49.02 Pbxj7UC/.net
静的動的のメリットデメリットの項目を挙げていくと
静的型付けが大差をつけて勝ってると思うのに、
自分で実際に開発すると動的型言語を使ったときのほうが
明らかに生産性が高いのが腑に落ちない
あ、ちなみに静的動的両方使ってます日常的に

748:デフォルトの名無しさん
15/12/26 09:53:04.49 btZXIc4v.net
>>700
「このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。
それにLispとかSmalltalkみたいな極端な動的言語でアプリやシステムをきちんと動かしたことがあるって実例を知らないよ。
そもそも、動的言語にはC#にある型チェックや完璧なインテリセンスが理論上作れないもんな。
「このC#erが動的言語を見くだしている時、もちろん彼にはそうしているという自覚がある。
C#よりも型付けの弱い言語は、 明らかに力が弱い。彼が慣れ親しんだ安全性・利便性がないからだ。
しかし、このC#erは反対の立場から見られるとき、彼は自分が見下されているのだということには気付かない。
彼が耳にするのは、自分には無用な変てこりんな機能や使い方ばかり。
どうやらそれらをC#で出来ることと引き換えにできるくらいパワフルと勘違いする馬鹿もいるようだが、
やつらは目的と手段をはき違えている。真摯に耳を傾けようにも俺の現場では有り得ない想定が出てくるばかり、
と思うだろう。
「彼にとってはC#で十分なのだ。何故なら彼にとってC#で十分な仕事がすべてだから。

749:デフォルトの名無しさん
15/12/26 09:58:56.71 NGJJ2lD8.net
静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。
動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。
だから>>735は至極自然なこと。
matzがよく言う「書いていて気持ちいい言語」もそういうこと。

750:デフォルトの名無しさん
15/12/26 10:16:26.79 h8/CI80S.net
>>736
> このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。
決めつけてるんじゃないよ。
お前が曲芸の話しかしないからだろう?
停止して修正しても同じことができる。
停止しないで修正する。以外のことは何一つ言ってない。

751:デフォルトの名無しさん
15/12/26 10:17:43.34 h8/CI80S.net
>>737
> 静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。
客観的にメリットをあげられる。
> 動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。
主観による好みしか無い

なるほどねぇw

752:デフォルトの名無しさん
15/12/26 10:18:26.61 EXUTS9i+.net
Swiftってそんなにすごいのか
フォートランぶち転がせるかな

753:デフォルトの名無しさん
15/12/26 10:43:34.57 CL7rBGr9.net
>>717
残念ながら多いみたいだよ。
>>739
指標化しずらくても大事な事はあるって言う当たり前のことからまずは目を向けようか。

754:デフォルトの名無しさん
15/12/26 10:47:22.39 KNyipM+p.net
このスレのstatic-typeおじさんはプログラム書いたこと無さそうな感じするわ
webの記事だけ読んでカタログスペック語っちゃってるってことか

755:デフォルトの名無しさん
15/12/26 11:33:23.04 h8/CI80S.net
>>741
まず「大事なことはあるんだ!(完)」じゃなくて
説明することから始めような?

756:デフォルトの名無しさん
15/12/26 14:00:14.24 JNqWY34w.net
説明してもらえる態度から始めような。おっさん。

757:デフォルトの名無しさん
15/12/26 14:17:21.38 lwOCx2j3.net
メリット、デメリットと言っても、チューリング完全ならどの言語を使ったって同じだからなぁ
ラーメンタイマーを作るのに態々コンパイラを引っ張り出してくるなんて馬鹿らしい事をするのか?
EXCELのデータを加工するのに、C#使って加工するのか?

758:デフォルトの名無しさん
15/12/26 14:44:09.10 NGJJ2lD8.net
>>738
>停止して修正しても同じことができる。
停止したらできないことは多い。君がそのどれにも気付いていないだけ。
気付かないのは、それだけ経験が浅いということ。
君は素人だから仕方ない。だから責めはしない。
しかし自分の無知は自覚しておきなさい。

759:デフォルトの名無しさん
15/12/26 15:16:22.31 cLEQ3vA1.net
経験が~ってこれ
言い出すほうがザコっぽいよねいつもw

760:デフォルトの名無しさん
15/12/26 15:19:49.45 h8/CI80S.net
> 停止したらできないことは多い。君がそのどれにも気付いていないだけ。
いっつもこればっかりだよなw
具体的な説明はしない(できない)
説明しないくせに、理解できないのは他人のせいw

761:デフォルトの名無しさん
15/12/26 15:21:01.87 MxaSLHJT.net
例えば、乱択アルゴリズムでのコーナーケースのデバッグは、
修正後の動作確認するには元の実行状態を完全に復元しないと無理だわな。

762:デフォルトの名無しさん
15/12/26 15:27:36.14 MxaSLHJT.net
自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも
一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。
他にも、実行状態を中断せずに修正して動作確認したいケースは多々ある。
1つも挙げられない人って、プログラマとしてどうなんだろうね?

763:デフォルトの名無しさん
15/12/26 15:28:32.73 h8/CI80S.net
>>749
元の実行状態を完全に復元したら、
次の乱数の値は同じものが出現するってこと?
それでデバッグできるってことは、そういうことなんだろうね。
乱数の値が、前の状態によって決まるのであれば、
一番最初の状態を一つ定義するだけで、同じ状態が復元できるのでは?w

764:デフォルトの名無しさん
15/12/26 15:30:11.50 h8/CI80S.net
>>750
> 自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも
> 一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。
では、動的言語にすると、サーバー側は同じチャレンジをしてくれる、というのかね?

765:デフォルトの名無しさん
15/12/26 16:08:40.09 sP1JXdgY.net
職業プログラマが出てこないでよ。
仕事の話しないでよ。

766:デフォルトの名無しさん
15/12/26 16:11:36.35 7h5tLOzP.net
だめだこのおっさん。自分の思考が停止してることにぜんぜん気付いてない。www

767:デフォルトの名無しさん
15/12/26 16:16:43.64 h8/CI80S.net
「私はこういう意見がある!(ドンッ)」
ほう、言ってみ?
「自分で考えろ!(ドンッ)」
だめだこりゃwwww

768:デフォルトの名無しさん
15/12/26 17:01:59.36 7h5tLOzP.net
緩募
Aという状況に対処することの必要性を
Aという状況を想定できないおっさんに説明する方法
Bという方法で対処できる事態においてBが有効であるということを
Bを無意識に選択肢から排除して疑問を持たないおっさんに説明する方法
あるいは
端から話を聞く気がないわりにこまめに絡んでくる痛いアスペのおっさんに退場いただく方法

769:デフォルトの名無しさん
15/12/26 17:13:02.19 vJHNtaLI.net

スレタイ嫁
(ここは静的型付の優位性を論じるスレではない)

770:デフォルトの名無しさん
15/12/26 17:20:46.23 gCn4MbmU.net
>>757
クソがクソ溜めでクソな話して楽しんでるのに横槍いれんじゃねえ
帰れアスペ野郎

771:デフォルトの名無しさん
15/12/26 18:20:09.09 lipwm7l1.net
>>749-750それができるのは動的型付けだからか?perlでもphpでもできるのか?CommonLispとSmalltalkはできるけど。
CommonLispで>>749-750ができるのはデバッガが充実してるからで、オブジェクト指向は関係無いな。

772:デフォルトの名無しさん
15/12/26 18:40:19.19 AIAsWwFm.net
今の職業プログラマは10年したら「プログラミングネイティブ」世代に置いてけぼりにされるのにね
今でも、できる中年プログラマはマイコンやMSXでBASICとかやってた人なんだろうとは思うんだけど、
かつては金持ちの道楽だったプログラミングが次世代からはいっきに敷居が下がる
「仕事では使えない言語」という評価は、「その言語を使えるレベルの高い人がいない」という人月による奴隷労働の生む現象だけど、
5年もしたら奴隷階級でも、"流行の言語を10代から遊び感覚で使ってきた"、プログラミングネイティブ世代に置き換わる

773:デフォルトの名無しさん
15/12/26 18:55:24.91 h8/CI80S.net
>>759
良い指摘だねw
そう。それはデバッガの機能
URLリンク(msdn.microsoft.com)
> 次に実行されるステートメントを設定する
>
> デバッガーを中断した後、実行ポイントを移動して、コードの次に
> 実行されるステートメントを設定できます。ソース ウィンドウまたは
> [逆アセンブル] ウィンドウのマージンに表示される黄色の矢印は、
> 次に実行されるステートメントの位置を示します。
>
> この矢印を移動すると、コードの一部をスキップしたり、前に実行した行に戻ったりできます。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 既知のバグを含むコードのセクションをスキップするなどの場合に利用できます。

774:デフォルトの名無しさん
15/12/26 18:56:29.15 OdF2h8JB.net
構造化プログラミングでのgoto排除ですら
実は"人間の都合"であって最速最良を追求するならgotoあったほうがいいわけで
つまり性的おじさんの必死で主張してる効率の良さは
下からどんどんコンパイラ最適化でいままさに
人工知能に機械的に喰われてる部分であって。
アセンブラと動的な抽象化の間でなにをのたうっているのかと…

775:デフォルトの名無しさん
15/12/26 18:58:53.84 EXUTS9i+.net
(今度は静的言語の速さを話題にシャドーボクシング始めたぞ)

776:デフォルトの名無しさん
15/12/26 19:01:08.59 h8/CI80S.net
>>763
そうなんだよねw
上で俺はマッチポンプって書いたけど、
「静的厨はこういうことを言ってるんだ!」と
自分で言っておいて、それを叩くというわけのわからんことをやってる

777:デフォルトの名無しさん
15/12/26 19:07:23.46 h8/CI80S.net
前にも書いたと思うけど、>>761を出したついでに関連してこれもかいておくか。 エディット コンティニュ https://msdn.microsoft.com/ja-jp/library/bcew296c.aspx > Visual Studio 2015 その他のバージョン > > エディット コンティニュを使用すると、プログラムが中断モードのときにソース コードを > 変更できるため、時間を節約できます。 Continue や Step などの実行コマンドを選択して > プログラムの実行を再開すると、一定の制限の下で、エディット コンティニュがコードの > 変更を自動的に適用します。このため、デバッグ セッション中にコードを変更できます。 > デバッグ セッションをいったん停止し、プログラム全体を再コンパイルしてからデバッグ セッションを再開する必要がありません。



779:デフォルトの名無しさん
15/12/26 19:10:09.63 OdF2h8JB.net
swiftにシャドー挑んだスマホで書き込んで
即座に切り替えて自分で自分に
「そうなんだよね」ワロタ

780:デフォルトの名無しさん
15/12/26 19:16:55.46 EXUTS9i+.net
自分が自演してるからって人もしてると思ってんじゃねーよ
あとフォートランが死なない理由は速いからと思ってるようだけどどちらかというと遺産が多過ぎるから、老害の使用率が高すぎるからだぞ
そしてこれはシャドーとは言わない

781:デフォルトの名無しさん
15/12/26 19:37:51.44 E3MIEZFa.net
どちらにしても、動的型がどんどん静的型を取り込んでいる現状があるのにそれを無視してもな
静的型にメリットが無いなら、本来静的型がなくても動く動的型が
わざわざ静的型を取り込むわけ無いということぐらい直ぐにわかるのに

782:デフォルトの名無しさん
15/12/26 19:40:22.05 OdF2h8JB.net
それが3つめのでしょ?すぐわかんだよね…

783:デフォルトの名無しさん
15/12/26 19:54:49.37 EXUTS9i+.net
このスレに書き込んでるのは二人だけってマジ?

784:デフォルトの名無しさん
15/12/26 20:01:24.61 h8/CI80S.net
>>770
他人にそれを判断することは不可能だよ。
(あったら説明して納得させてみいw)
だから思い込みと見て間違いない


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