トップページ > プログラム > 2016年09月18日 > 8zKQ5/pX

書き込み順位&時間帯一覧

1 位/178 ID中時間01234567891011121314151617181920212223Total
書き込み数15020000000446182718910002097



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net

書き込みレス一覧

次へ>>
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
677 :デフォルトの名無しさん[sage]:2016/09/18(日) 00:17:40.45 ID:8zKQ5/pX
>>676
そういうこと。

言語には特性というものはあるが、
やり方が少し違うって程度でどちらが優れてるかじゃない。
言語仕様程度で開発効率で差は生まれない。

今の開発っていうのは、どれだけ0から作り上げるかではなく
すでにあるものを使って、どれだけ少ない差分で作り上げられるかになってる。

どの言語もフレームワークやライブラリを整えることで、
システムを開発する必要なコードを最小化している。
裏方のコードに差はあれど、残りのコードはほんの僅かになってる。

そのせいで言語で左右される開発効率に殆ど差はなくなってしまってるんだよ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
680 :デフォルトの名無しさん[sage]:2016/09/18(日) 01:02:13.04 ID:8zKQ5/pX
> 動的型付き言語はカッチリ作るのは得意ではないが、その分開発効率は高い
> 静的型付き言語は逆

いや変わんない。
多分ほんの僅かなコードを書いて、その行数程度でみてるんだろうだけど、
アプリレベルの量になると、差がなくなる。

何故かと言うと、所詮コードの行数はタイプのスピードでしか無いから。
それ以上に人間が考えてる時間のほうが長い。

あと動的型付き言語だと最初に書く時は楽だが、修正する時は大変になる。
静的型付き言語は逆は最初に書くときは面倒だが、修正するときは楽になる。
使い捨て程度だと書いて終わりだろうけど、ある程度の量になると、
最初に書くのも修正するのも同じぐらいある。

だから結局開発効率に差はなくなる。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
681 :デフォルトの名無しさん[sage]:2016/09/18(日) 01:02:59.69 ID:8zKQ5/pX
それから、フレームワークやライブラリを使うと、
そもそも書く必要性が大きく減る。
なので差も大きく減るわけ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
682 :デフォルトの名無しさん[sage]:2016/09/18(日) 01:06:03.46 ID:8zKQ5/pX
> あるシステムを開発するときに、そのシステムの特性に合わせて言語は選ばれなければ
> いけない

システムの特性に合わせるというか、その言語では出来ないことがある場合に
その言語は選択肢にならないことがあるだけだよ。開発効率とは無関係。

その言語で普通に作れるならば、どれを選んだところで大差はない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
685 :デフォルトの名無しさん[sage]:2016/09/18(日) 01:54:06.07 ID:8zKQ5/pX
> 静的型付きの場合は構造をすべて記述しておかないといけないので、全体を把握する手間が余計にかかる

何を言ってるんだろうか?
動的型付けの場合でも構造が無いわけじゃないぞ。
ソースコードを見れば構造はわかる。

構造が変わればソースコードも正しく動かなくなる。
ソースコードが正しく動く構造は一つしか無い。

静的型付きの場合は構造が動くドキュメントになってるってだけで
最初に準備すれば、あとはそれを参照することで、可読性が上がって
ソースを理解するスピードも早くなる。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
686 :デフォルトの名無しさん[sage]:2016/09/18(日) 01:55:33.92 ID:8zKQ5/pX
> 修正についても、ちょっとした機能追加とかは動的型付きの方が速いことが多いね
> これも全体を把握する必要のない動的型付きのメリットだね

意味がわからんw
同じ機能の時、機能追加が動的のほうが早いなんて統計はない。
どちらが早いかはその場次第でまちまちだろうが、
どちらかに偏りはないよ。

全体を把握するなんて静的でもやらんし。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
688 :デフォルトの名無しさん[sage]:2016/09/18(日) 03:17:25.23 ID:8zKQ5/pX
面倒かどうかと開発効率に関係はないよw
最初に面倒なことをやればあとで楽になるんだから。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
689 :デフォルトの名無しさん[sage]:2016/09/18(日) 03:18:58.18 ID:8zKQ5/pX
> 選択肢が多いのはメリットにもなるしデメリットにもなるけど、そこはシステムの特性で
> 取捨選択することになるね

システムの特性で取捨選択するのと開発効率も関係はないよw
さっきも言ったように選べない言語であれば、捨てるしか無い。
選べる言語であればどれも大差ない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
694 :デフォルトの名無しさん[sage]:2016/09/18(日) 11:37:01.49 ID:8zKQ5/pX
>>691
一部分だけを見ればどちらかが効率いいようにみえるけど
プロジェクト全体を見れば大差ないんだよね。

>>692
その通りなんだよね。言語によって大きな差は生まれないから
あとは慣れてる言語のほうが良い。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
695 :デフォルトの名無しさん[sage]:2016/09/18(日) 11:37:45.02 ID:8zKQ5/pX
>>690
> 動的型付けの場合はテストをゆるくすることも可能ってことだよ

一例を言ってみて。
動的型付けの場合でゆるくできるテストなんて思いつかない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
696 :デフォルトの名無しさん[sage]:2016/09/18(日) 11:39:58.82 ID:8zKQ5/pX
>>693
> JavaとSmalltalkとで同じお題のTDDにかかる時間を比較すると1.5〜2倍の差が出るらしい
うん。俺が言ってるのはプロジェクト全体の話。

あちらを立てればこちらが立たずってことで、
TDDに差が出たとしても他のところで逆の差が出たりするし
そもそもフレームワークやライブラリを使ったときの差に比べれば
僅かな差しかでない。
+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
427 :デフォルトの名無しさん[sage]:2016/09/18(日) 11:44:00.08 ID:8zKQ5/pX
>>426
意味がわからん。

JavaScriptとJSONは似ているが別の言語と考えるべき。

言語に応じた最適な書き方を求めるべきであって、
別の言語の習慣を持ち込むなって話なんだけど?
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
698 :デフォルトの名無しさん[sage]:2016/09/18(日) 12:26:36.42 ID:8zKQ5/pX
>>697
> 動的型付けならありえる話なのでカッチリやるならチェックしなきゃいけないんだけど
> ゆるくやるなら放っておけばいい

いまテストをゆるくするって話をしていたよね?

静的型付けなら決まった型しか入ってこないからテストを最初からゆるい状態。

でも動的型付けなら想定外の型も入ってくる可能性があるから本来は
そのテストをかないといけない(動的型付けは大変)
でも手抜きしてゆるく(静的型付けと同じ状態)にすることもできる。

って話をしてるわけ?
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
700 :デフォルトの名無しさん[sage]:2016/09/18(日) 12:31:16.62 ID:8zKQ5/pX
>>699
動的型付けの場合はテストをゆるくすることも可能っていうから、

静的型付けよりも楽になるのかと思えば、
動的型付けは型チェックを省ける程度の意味だったのかよって話。
静的型付けではもともと型チェックをしていない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
702 :デフォルトの名無しさん[sage]:2016/09/18(日) 12:37:59.38 ID:8zKQ5/pX
>>701
なんで動的だと本体コードの開発効率が高いって前提になってるんだよw
単にタイプが楽なだけだろ。プロジェクト全体を通すと変わらんわ。

なぜ変わらんかというと、開発っていうのはコードを書くだけじゃない。
むしろ書くよりも読むほうが多い。そのときに情報は多いほうが読みやすい。
動的でもコメントを書くことで読みやすくできるが間違いがある可能性もある。

コメントではなくコンパイラがチェックすることで、信頼できる矛盾のない情報を
コードとともに記述できるのが静的型付け言語。

動的型付けは、書くのが楽だが読むのが大変。
静的型付けは、書くのが面倒だが読むのは楽。

この違いがあるだけで、プロジェクト全体を通すと相殺されて大差ない。
ちなみにここまでテストの話は含めてない。本体コードの開発効率の話。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
704 :デフォルトの名無しさん[sage]:2016/09/18(日) 12:52:03.01 ID:8zKQ5/pX
> 複数の型を受け取るメソッドを用意したいんだけど、そのためにはこういうインタフェースを用意して…
> とか考える部分がないとでも?

動的型付けならインターフェースを考えなくていいとでも?

複数の型を受け取るメソッドが有ったとして、それは何の型を受け取ることができる?
その型には特定のメソッドがなければいけないだろ?
じゃあその「なければいけないメソッド」という情報はどこに書いてある?
ソースコード読んで判断しろと?どうせコメント書くだろ。

矛盾を検出できないコメントで書くか、
コメントの代わりにインターフェースとして書くかの違いでしか無い。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
706 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:09:49.73 ID:8zKQ5/pX
> この引数にはこういうメソッドがいるんだけど、別の場所ではこのメソッドは必須ではないな
そうすると動的型付けだとますます、なにが必要なメソッドで
何が必要ないメソッドなのかわからなくなるんだけど?
コードを読めばわかるって?面倒だな。

そしてコードを読んだ範囲でこのメソッドはいらないなと思って
書かなかったら、別の場所で必要だったとかなw


> ということはインタフェースを分割して…
する必要はない。一つで十分。

だって別の場所ではこのメソッドは必須じゃないんだろ?
ならメソッドの中身を空にすればいいだけじゃないかw
アサーションでも入れておけば、Not implementedって出すようにできる。

ほらな、何も変わらない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
708 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:20:45.54 ID:8zKQ5/pX
>>707
チームの話はしてないんだわ。
言語によって違いが出るかどうか。


言語によって違いはないから、慣れてる言語のほうが良いっていうのは
言い換えると、チームが慣れているほうが良いってことと同じで、
お前が言ったことは、俺が最初から言ってることなんだよ。

> それ、静的型付けのメリットを捨ててますよw
別に捨ててない。
静的型付けのメリットは信頼性があるコメントがあるかどうかだから。
重要なのは実装の方じゃなくて、インターフェースの情報。

動的型付けだとインターフェースの情報がコメントでしかないから
それが正しいかがソースコードと突き合せないとわからない。

静的型付けだと「インターフェースとしては必要でその実装がされてない」と
はっきり断定できるが、動的型付けだと必要なのかどうなのかさっぱりわからない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
709 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:22:48.00 ID:8zKQ5/pX
> 少数精鋭でみんながシステム全体をある程度分かってる感じじゃないとね

よくいるよな。少数だと精鋭だって勘違いするやつwww

少数精鋭っていうのは、大人数の中から精鋭の人をあつめて作るものであって、
最初から選択肢がない少人数の場合、それが精鋭になることなんてないからさ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
711 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:31:32.32 ID:8zKQ5/pX
> その信頼性は「コンパイル時に発見できる」ことが重要でしょ

違う。ソースコードの可読性の話だから、
コンパイル前に、コード読んでわかるのが重要。

> アサーションなんか入れて「動かしてみないと分からない」じゃ動的型付けじゃん
コードに書いてあるんだから、コンパイルする前にわかる。


> むしろインタフェースを書かなきゃいけない分、動的型付け以下の使い方だよ
書かなくても動くから「動かしてみないとわからない」んだよw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
713 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:45:46.82 ID:8zKQ5/pX
> え?え?
> 信頼性って機械がコンパイル時にエラーを吐いてくれることで担保されるんだよね?

だから機械がコンパイル時にエラーを吐いてくれるから
人間は安心してソースコードを読むことができるんだよ。

お前、そこを勘違いしてるのかw

コンパイラは矛盾をチェックするだけ。
最終的にソースコードを読むのは人間だ。
だからソースコードの品質は保証されてないといけない。

静的型付け言語だと一定の品質であることが保証される。
動的型付け言語だとその保証がないからコードを読む時間が増える。
結果として開発効率に大きな差が無くなる。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
715 :デフォルトの名無しさん[sage]:2016/09/18(日) 13:54:02.88 ID:8zKQ5/pX
>>714
> アサーションはそのコンパイルエラーを潰してしまうんですが?

コンパイルエラーを潰すから、
そこに書いてあるコードが正しいって証明されるんだろ。

コンパイラの言う正しいっていうのは、バグがないことじゃないぞw


書いてあるコードが正しい、つまり、そこにはインターフェースが存在していて
そのインターフェースの実装が無いと書いてあるコードが正しいってことだ。

動的型付けだと、何も書かないだろ?
つまり、ソースコードには本来必要なインターフェースがあることが見えない。
該当のコードを実行するか念入にコードを読まない限り、
インターフェースが実装されてないことがわからならない。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
717 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:06:02.36 ID:8zKQ5/pX
>>716
え? バグ?

お前が最初に言った↓じゃんか。
> 別の場所ではこのメソッドは必須ではないな

必須でないメソッドを実装しないのはバグじゃないんだけど?w
お前自分で言ったことを覆すわけ?
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
719 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:11:25.42 ID:8zKQ5/pX
動かさなくてもソースコードに書いてあるじゃんかw

もしかしてソースコードを読むってことしないのかな?
コードレビューとかしたこと無い?

書いてないものをコードレビューで読み取るのは大変だが、
書いてあるものをコードレビューで見つけるのは簡単。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
721 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:21:23.82 ID:8zKQ5/pX
>>720
お前何か色々勘違いしてるなw
何でもかんでもごっちゃにしすぎ。

コンパイラがやってくれるのはソースコードの矛盾を見つけることだけ。
ソースコードのバグを探してくれるわけじゃないんだよw

どっちみち人間がソースコードを読む必要がある。
人間がソースコードを読むという行為は、
静的であれ、動的であれ避けられない。

その読むべきソースコードの品質の高さが可読性につながる。
静的型付けであれば、ソースコードの品質が高くなる。
明らかな矛盾はコンパイラによって取り除かれるし、
書いてある型情報が正しいことも証明される。
だから安心してソースコードを読むことができる。

コンパイルしたらどんな問題でも見つけてくれる
コンパイラは完璧な道具だって思ってるのは、実はお前だよw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
723 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:24:36.24 ID:8zKQ5/pX
> その矛盾を見つけるのをコ
> アサーションはそのメリットを捨ててますけど?
だからなんで?w
矛盾って何さ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
725 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:31:01.67 ID:8zKQ5/pX
> 渡してはいけない型のオブジェクトを渡してしまってる、というバグだよ

お前が矛盾してるw

今は渡してはいい型のオブジェクトを渡す前提の話をしていたはずだが?
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
726 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:33:39.29 ID:8zKQ5/pX
じゃあお前の言うとおり、
渡してはいけない型のオブジェクトを渡たす場合の話をしようか?

ならば、そのオブジェクトにはインターフェースを持たせなければいいので
静的型付け言語であれば、コンパイルエラーになる。
なのでコンパイルできるコードであれば、そこに書いてあるソースコードを
人間が安心して読むことができる。


だけど動的型付け言語ではコンパイルエラーにならないので、
渡してはいけない型のオブジェクトかどうかをコードを良く読まないといけなくなる。

だから書くときは動的型付けの方が楽だろうけど、開発の全体(読むほうが多い)を見ると
開発効率に大きな差はなくなるという話。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
729 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:41:34.49 ID:8zKQ5/pX
>>728
だからアサーションを使うのは
お前が最初に出した前提、

そのメソッドはインターフェースには必要だが、
必ずしも呼ばれるわけじゃないから、必須じゃない場合だって

自分で出した前提すら忘れたのかよw
うん。馬鹿だねこいつ。
次どんな反論をしてくるか楽しみだわw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
731 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:42:48.43 ID:8zKQ5/pX
>>727
> そんな前提作ってたらバグなんて潰せないよ?

やっぱいろいろごっちゃにしてるなw

どうせそう言うだろうから、静的型付け言語の
コンパイルチェックはバグを潰すためのもんじゃないって言ってるのに。

ソースコードの可読性、品質を上げるためのもの。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
733 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:43:47.20 ID:8zKQ5/pX
>>730
> つまり静的型付け言語ではカッチリしたインタフェース設計が必要ってことだね

それは動的型付け言語でも一緒。

それをコメントで書くか(書かない場合はコードを読まなければいけなくなる)
コンパイルチェック可能なコードで書くかの違いでしか無い。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
734 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:45:09.52 ID:8zKQ5/pX
>>732
> バグを潰すことは品質を上げることと同義だと思うんですが?

だから、お前はいろいろごっちゃにしてるなって書いたんだよw

バグを潰すだけなら、どんなに可読性悪くてメンテナンス性が悪くても
大量に人と時間をかければできる。

それはソフトウェアの品質であって、
ソースコードの品質じゃない。この二つをごっちゃにするな。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
736 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:46:30.52 ID:8zKQ5/pX
>>735
0か1かという考え方はやめよう。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
738 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:47:31.58 ID:8zKQ5/pX
>>737
> 動的型付け言語では必要じゃないメソッドは実装しなければいいだけ

静的型付け言語では、必要じゃないメソッドは中身をからにすればいいだけ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
740 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:49:12.63 ID:8zKQ5/pX
>>739
その理屈で言えば、

静的型付け言語では中身が空だとコンパイルチェックが有効にはたらかない。

これは、大変だー、大変だー、大変だー

という大変な状態が、動的型付け言語の状態なわけでw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
741 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:50:19.75 ID:8zKQ5/pX
739 名前:デフォルトの名無しさん[sage] 投稿日:2016/09/18(日) 14:48:37.79 ID:7jfCU7SG [24/24]
740 自分:デフォルトの名無しさん[sage] 投稿日:2016/09/18(日) 14:49:12.63 ID:8zKQ5/pX [34/34]

ところで、たった35秒で>>740の内容を書ききれると思うかい?w
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
744 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:54:31.82 ID:8zKQ5/pX
>>742
動的型付け言語では、何も書かなくて大変な状態。

でも静的型付け言語では、中身が空というコードを書かないと
大変な状態にならない。

中身が空のコードが書いてあればコードを読んだときに疑問になるだろ?
空なのはコードの中身であって定義は存在する。
空のメソッドがあるという重要な情報が書いてあるから、そのことに気付けるんだよ。

何も書いていなければ気づくのが遅れるが、
書いてあれば気づけやすい。それが重要な所。

人間はソースコードを読む。読まなければいけない。
だから可読性が重要になる。

動的型付け言語はでは書く方を省略できるが、読む方は大変になる。
静的型付け言語ではその逆。

だからプロジェクト全体を見たときに、言語の違い程度で
開発効率で大きな差は出ないという話。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
745 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:55:42.00 ID:8zKQ5/pX
>>743
あるインターフェースが有って、そこにメソッドが複数定義されている時に
そのメソッドのうち一つを使わないだけで、
別のインターフェースを作らないといけないと思いこんでる
設計の素人がいるって話だよw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
747 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:58:43.24 ID:8zKQ5/pX
>>746
静的型付け言語を知らんものが、お前の浅い知識で
静的型付け言語はこういう言語だって語るんじゃないよw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
748 :デフォルトの名無しさん[sage]:2016/09/18(日) 14:59:54.88 ID:8zKQ5/pX
ったく、静的型付け言語を知らんやつほど
静的型付け言語はコンパイルするだけでバグを見つけてくれるものだって
銀の弾丸のように考えてるんだよなw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
750 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:00:30.68 ID:8zKQ5/pX
>>749
静的型付け言語が嫌いなくせに、
静的型型付け言語を過大評価するのはやめなさい。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
753 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:03:09.35 ID:8zKQ5/pX
>>751
わざわざ手間なコードを書いてアサーションで潰されなければ
静的型付け言語のメリットは潰れないよw

つーか、静的型付け言語のメリットを潰した状態 = 動的型付け言語のデフォルト
って言う時点でだめなんだわ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
755 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:03:51.69 ID:8zKQ5/pX
>>752
> じゃあなんで静的型付け使うの?

ソースコードのあちこちに型などの情報を書いて
可読性を上げるためだよ。

何度も言ってるじゃん。

ソースコードは書くよりも読むほうが多い。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
756 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:04:57.54 ID:8zKQ5/pX
>>754
> もちろん、カッチリしたインタフェース設計ができるのであれは

インターフェース設計は後からでも変えられるから
別にかっちりしたインターフェース設計をする必要はないんだよw
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
759 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:08:10.00 ID:8zKQ5/pX
>>757
> メリットを潰した後に残るのはバグ発見の役に立たないインタフェースという負の遺産だよね

動的型付け言語では、インターフェースが無いのにバグ発見の役に立つんですか?
やっぱり静的型付け言語でメリットをなくした場合=動的型付け言語のデフォルトじゃないですかw


静的型付け言語でメリットをなくすためには、そのために通常は書く必要がない
変なコードを書かないといけない。これが「情報」なわけ。

こういう情報を書いておくことで、後からコードを読んだときに気付けることが多くなって
それが可読性の高さにつながる。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
760 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:09:18.89 ID:8zKQ5/pX
>>758
> 可読性なんて動的型付けでもコメントで書けばいいだけじゃん

コメントでは書くことを強制されないし、
間違っていてもチェックすることができない。

コンパイラのエラーをすり抜けるインタフェースなんてコメントと同レベルの意義しかないが、
コンパイラのエラーをすり抜けないインタフェースは、コメントよりも遥かに価値がある。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
763 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:11:22.08 ID:8zKQ5/pX
> 同じ役にたたないものなら、書くより書かない方がいいでしょ
だから、役に立たつものを書いたほうが良いよねw

> > コンパイラのエラーをすり抜けないインタフェースは、コメントよりも遥かに価値がある。
> うんうん、そのためにはカッチリしたインタフェースの設計が必要だね

インタフェースの設計は後から変えればいいので、
かっちりしたインターフェースを設計する必要はないよ。

えーと、リファクタリングって言葉しってる?
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
765 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:14:20.64 ID:8zKQ5/pX
動的型付け言語であっても、インターフェースを変えるときは大変なんだよね。

どんな型でも入れられるのは、所詮引数であって、
ソースコードには、特定のメソッドがなければ動かないから。

どんな型でもっていうのは、片手落ちなんだわw
インターフェースを変えるとソースコードは修正しないといけない。

だから動的型付け言語でも、インターフェース設計は必要なんだよ。

そしてインターフェースの設計を変更する時は、
動的型付け言語よりも、静的型付け言語の方が楽。

こういった点からも、動的型付け言語は最初に書くときは楽だけど
コードを読んだりその後に修正のが大変になるから
結局開発効率に差はなくなるわけ。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
766 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:15:20.78 ID:8zKQ5/pX
>>764
こいつまだ静的型付け言語はバグをなくするものだって
考えてるぜwww

静的型付け言語が嫌いなやつほど
静的型付け言語を過大評価してるね。
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
768 :デフォルトの名無しさん[sage]:2016/09/18(日) 15:16:18.32 ID:8zKQ5/pX
>>767
はい。動的型付け言語ではカッチリしたインタフェースの設計が必要だね
次へ>>

※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。