探検
動的言語で大規模開発
■ このスレッドは過去ログ倉庫に格納されています
1uy
2012/07/24(火) 09:10:42.04 たててみた
360デフォルトの名無しさん
2014/02/11(火) 01:14:27.60 誰が
何のために
変えているのか?
何のために
変えているのか?
361デフォルトの名無しさん
2014/02/11(火) 07:53:46.12 コンパイルエラーなんかでて、動かないならまだ良いけど
「動くけど動作が違います^^;」
っていうのが最もヤバい
ruby1.8→1.9のヤバさは想像を絶する
Ostruct、クラス変数、シャドウイング使いまくってた人たちってどうなったの
「動くけど動作が違います^^;」
っていうのが最もヤバい
ruby1.8→1.9のヤバさは想像を絶する
Ostruct、クラス変数、シャドウイング使いまくってた人たちってどうなったの
362デフォルトの名無しさん
2014/02/11(火) 07:57:41.43 中途半端に途中まで正しく動くなんてまさに無能な働き者
仕事をしないならしないで良いのに、
ちょっとした期待をさせるからそれに頼ってみるとやはり失敗するという
船乗りとか、登山家が、余計な足手まといは連れて行かないのと同じ
プロだけで行くなら良いのに素人が一緒に来るとプロまで道連れになるんだ
人間レベルで
「動くけど動作が違います^^;」
は、困る
仕事をしないならしないで良いのに、
ちょっとした期待をさせるからそれに頼ってみるとやはり失敗するという
船乗りとか、登山家が、余計な足手まといは連れて行かないのと同じ
プロだけで行くなら良いのに素人が一緒に来るとプロまで道連れになるんだ
人間レベルで
「動くけど動作が違います^^;」
は、困る
363デフォルトの名無しさん
2014/02/11(火) 09:06:04.31 育成しろ
おまえの役目だぞ
おまえの役目だぞ
364デフォルトの名無しさん
2014/02/11(火) 10:10:44.65 >>325,349
死ねゴミw
死ねゴミw
365デフォルトの名無しさん
2014/09/19(金) 11:11:48.63ID:uUn/9tg4 サーバサイドではNode.jsからJavaやGoへの切り替えが進み
クライアントサイドではTypeScriptを導入した連中が喜びの声を上げている、
もちろんSwiftもある
JavaScriptもPythonも型アノーテーション導入を検討しているし、Rubyもこれだ
https://twitter.com/miyohide/status/512768555385769986
> Matz「最近の言語(ScalaやGoやDartなど)はみんな静的な型を持っていて、
> ちょっとそれは悔しいので、Rubyでも導入を考えたい。」
情勢から見て、もはや静的型の勝利、動的型はやはり駄目だったよということで決着がついただろう。
とりわけ動的型の経験しかなかったウェブ屋やTDD厨がちょっと頭おかしかった。
動的型はゼロ年代の一時的な熱狂だったということで終わるのではないか。
冷静に考えてとにかくメリットがねーもん。まるっきり。
Real World Academia: Unit testing isn't enough. You need static typing too.
http://evanfarrer.blogspot.jp/2012/06/unit-testing-isnt-enough-you-need.html
> 「ユニットテストだけでは不十分だ。静的型も必要だ」
ってことすな。
クライアントサイドではTypeScriptを導入した連中が喜びの声を上げている、
もちろんSwiftもある
JavaScriptもPythonも型アノーテーション導入を検討しているし、Rubyもこれだ
https://twitter.com/miyohide/status/512768555385769986
> Matz「最近の言語(ScalaやGoやDartなど)はみんな静的な型を持っていて、
> ちょっとそれは悔しいので、Rubyでも導入を考えたい。」
情勢から見て、もはや静的型の勝利、動的型はやはり駄目だったよということで決着がついただろう。
とりわけ動的型の経験しかなかったウェブ屋やTDD厨がちょっと頭おかしかった。
動的型はゼロ年代の一時的な熱狂だったということで終わるのではないか。
冷静に考えてとにかくメリットがねーもん。まるっきり。
Real World Academia: Unit testing isn't enough. You need static typing too.
http://evanfarrer.blogspot.jp/2012/06/unit-testing-isnt-enough-you-need.html
> 「ユニットテストだけでは不十分だ。静的型も必要だ」
ってことすな。
366デフォルトの名無しさん
2014/09/19(金) 13:53:26.63ID:Xfkvubm0 この業界は一時的な熱狂が多すぎるよね
367デフォルトの名無しさん
2014/09/19(金) 16:44:39.68ID:3WQN+no2368デフォルトの名無しさん
2014/09/20(土) 09:47:56.33ID:b8OT/FfJ 型チェックというのも、テストの全てではないが
テストの一部なんだよ。
それが原因のバグもあるわけなんだから。
たとえそれが一瞬で修正できることだとしても
その為に別の作業中にバグ見つけて
割り込みで修正するとか思考の流れを途切れさせることはよくある話。
テストの一部なんだよ。
それが原因のバグもあるわけなんだから。
たとえそれが一瞬で修正できることだとしても
その為に別の作業中にバグ見つけて
割り込みで修正するとか思考の流れを途切れさせることはよくある話。
369デフォルトの名無しさん
2014/09/30(火) 07:23:04.54ID:2CeH2hLD >>366
幸か不幸か、ソフトウェアというのは一時的な熱狂だけで「動くもの」を作れてしまう分野だからだろうね
幸か不幸か、ソフトウェアというのは一時的な熱狂だけで「動くもの」を作れてしまう分野だからだろうね
370デフォルトの名無しさん
2014/10/11(土) 23:13:05.47ID:bgxomZ9f Rubyで開発やってるけど、
unitテストの設計と項目作成だけで
3人で三週間かかって、マジで倒れそうだわ
来週からテストだけど、かなり辞めたい気分
unitテストの設計と項目作成だけで
3人で三週間かかって、マジで倒れそうだわ
来週からテストだけど、かなり辞めたい気分
371デフォルトの名無しさん
2014/10/12(日) 07:22:26.20ID:5ixfa8wz372デフォルトの名無しさん
2014/10/12(日) 07:29:16.53ID:jjrAIsW+ 大変な所=メンテナンスだから、
今後ずっと大変な状態が続くよ、
Rubyをやめるのが一番の早道だな。
今後ずっと大変な状態が続くよ、
Rubyをやめるのが一番の早道だな。
373デフォルトの名無しさん
2014/10/12(日) 07:36:17.74ID:gqs4tO4e テストすらロクにしない>>372はどんな言語で書いてもバグだらけw
374デフォルトの名無しさん
2014/10/12(日) 09:08:57.89ID:5ixfa8wz375デフォルトの名無しさん
2014/10/12(日) 10:05:01.80ID:DxGoFyW9 >>371
UNITテストやるのもかなり大変だろ
テストの途中でメソッドが増えたり減ったりしてそのたびにテスト項目修正して
ログから障害の原因が分からない場合はログを修正して
RUNITのアサートも修正して、テスト項目も修正し無いと行けないし、、
考えただけでだるいわ
UNITテストやるのもかなり大変だろ
テストの途中でメソッドが増えたり減ったりしてそのたびにテスト項目修正して
ログから障害の原因が分からない場合はログを修正して
RUNITのアサートも修正して、テスト項目も修正し無いと行けないし、、
考えただけでだるいわ
376デフォルトの名無しさん
2014/10/12(日) 13:06:01.13ID:5ixfa8wz377デフォルトの名無しさん
2014/10/12(日) 17:09:28.84ID:gqs4tO4e >>375
ルビーの勉強がんばってください、入門者さんw
ルビーの勉強がんばってください、入門者さんw
378デフォルトの名無しさん
2014/10/16(木) 00:02:19.53ID:Ju1r+RJJ 動物言語に見えた
379デフォルトの名無しさん
2014/10/16(木) 07:57:26.33ID:Sk/7zxTc 面倒なのは全部ほかにまわせば確かに楽になるかもな
380デフォルトの名無しさん
2014/10/18(土) 12:19:07.94ID:xyIEV5M1 巷に出回る仕事術の基本
381デフォルトの名無しさん
2014/11/24(月) 00:10:36.26ID:NFvfX/bb 動的言語ってリファレンスが読みにくくね?
みんなどうしてんの?
みんなどうしてんの?
382デフォルトの名無しさん
2014/11/24(月) 00:12:03.59ID:LP7Sk3Ho 暗記
383デフォルトの名無しさん
2014/11/24(月) 00:16:50.33ID:PX1MFVrm そんなん言語によるだろ
384デフォルトの名無しさん
2014/11/24(月) 09:52:02.93ID:bceL07z7 >>381
具体的にどの言語のリファレンスが読みにくいと?
具体的にどの言語のリファレンスが読みにくいと?
385デフォルトの名無しさん
2014/11/24(月) 10:02:48.56ID:XLIBB3hZ pythonしか知らんが、pythonはかなりドキュメント類がしっかりしてると思うけどな。
ただまあ、マイナー言語、ライブラリは動的静的カンケーなく、結局ソースを読むことにはなると思う。
ただまあ、マイナー言語、ライブラリは動的静的カンケーなく、結局ソースを読むことにはなると思う。
386デフォルトの名無しさん
2014/11/24(月) 10:33:25.11ID:vb0rebZq 定番アプリのソースで似たようなことしてるものを探して真似る
うっかりソースを読んで入り込むとあとで変更された時にヤラれる
うっかりソースを読んで入り込むとあとで変更された時にヤラれる
387デフォルトの名無しさん
2014/11/24(月) 15:01:36.25ID:kcRDK3+j PHPとPythonのドキュメントはしっかりしてるけど
RubyとSmalltalkのはゴミだったな
RubyとSmalltalkのはゴミだったな
388デフォルトの名無しさん
2014/11/24(月) 17:34:32.45ID:XLIBB3hZ smalltalkはブラウザ開いて
オブジェクトと対話しながらプログラミングしていくスタイルだから
アレで良いのだ
と、多くのスモールトーカー様は思ってる
オブジェクトと対話しながらプログラミングしていくスタイルだから
アレで良いのだ
と、多くのスモールトーカー様は思ってる
389デフォルトの名無しさん
2014/11/24(月) 18:25:46.58ID:2QNpXJ+6 動的言語ではないがJavaのAPIドキュメントがしっかりしすぎてる。
390デフォルトの名無しさん
2014/11/24(月) 18:41:49.16ID:atmNtLqz Smalltalkのドキュメントって何のことだろう?
391デフォルトの名無しさん
2014/11/24(月) 19:12:45.95ID:NFvfX/bb pythonのopencvとかnumpyのリファレンス見てみたんだけど
なんの型を入れるとなんの型が帰ってくるのか明確に書いてないからサンプル見ないと分かんない
なんの型を入れるとなんの型が帰ってくるのか明確に書いてないからサンプル見ないと分かんない
392デフォルトの名無しさん
2014/11/24(月) 19:35:00.93ID:vb0rebZq その辺はネーミングセンスでカバーするという思想だろうけど
Cライブラリのラッパーとかだと全く通用しなくなるな
Cライブラリのラッパーとかだと全く通用しなくなるな
393デフォルトの名無しさん
2014/11/24(月) 20:12:08.30ID:2QNpXJ+6 >>391
ipythonで?して書いてなかったらソース読んでる。
ipythonで?して書いてなかったらソース読んでる。
394デフォルトの名無しさん
2014/11/24(月) 20:25:30.45ID:PX1MFVrm vimでKを押してdocumentがなかったら
\dを押して定義元のソースコードにジャンプしてる
\dを押して定義元のソースコードにジャンプしてる
395デフォルトの名無しさん
2014/11/25(火) 00:06:15.89ID:pX8dGPkN 下みたいコードのエラーを実行前に検出できるlint系ツールが存在する
Pythonを動的言語で括って良いものだろうか
def foo(x):
def f(g):
return g() + x
return f
def bar():
foo(1)(lambda: 'abc')
Pythonを動的言語で括って良いものだろうか
def foo(x):
def f(g):
return g() + x
return f
def bar():
foo(1)(lambda: 'abc')
396デフォルトの名無しさん
2014/11/25(火) 05:48:58.67ID:0npMaebU 最近追ってなかったけど
pythonは型アノテーション導入の話題もあるのな。
pythonは型アノテーション導入の話題もあるのな。
397デフォルトの名無しさん
2014/11/25(火) 20:38:28.15ID:NsP7IFUt やっぱ大規模開発には静的型があった方が
良いんだろうな
良いんだろうな
398デフォルトの名無しさん
2014/11/25(火) 23:51:15.09ID:n1duvf0w >>397
typoですら動かすまで見つけれないのは地味にストレスだからな。
typoですら動かすまで見つけれないのは地味にストレスだからな。
399デフォルトの名無しさん
2014/11/26(水) 04:22:00.60ID:zFnj+88g400デフォルトの名無しさん
2014/11/26(水) 05:14:33.37ID:iOq+FlWm >>399
動的言語は、typoを実行前に発見できないほうが多いよ。
発見できないパターンはこれ
obj.f00 (fooの間違い)
オブジェクトのメソッドのメソッド名を間違えた時
ほぼ全ての動的言語は、実行するまでtypoを発見できない。
なぜなら後で動的にメソッドを追加するかもしれないから
実行するまでわからない。
動的言語は、typoを実行前に発見できないほうが多いよ。
発見できないパターンはこれ
obj.f00 (fooの間違い)
オブジェクトのメソッドのメソッド名を間違えた時
ほぼ全ての動的言語は、実行するまでtypoを発見できない。
なぜなら後で動的にメソッドを追加するかもしれないから
実行するまでわからない。
401デフォルトの名無しさん
2014/11/26(水) 05:24:10.98ID:iOq+FlWm 動的言語だとtypoがわかると言っても
ローカル変数程度なんだよね。
そんな近くにある目で見てもすぐわかるようなものより
ファイルをまたいだりしている遠くにあるコードの
typoを知りたいんだが。
ローカル変数程度なんだよね。
そんな近くにある目で見てもすぐわかるようなものより
ファイルをまたいだりしている遠くにあるコードの
typoを知りたいんだが。
402デフォルトの名無しさん
2014/11/26(水) 08:52:45.01ID:IUNEYOWi403デフォルトの名無しさん
2014/11/26(水) 10:27:57.07ID:lFXPwW0W >>400
その理屈はなんかおかしいぞ。
後で動的にメソッドが追加されるかもしれないから
typoかどうか実行時まで*処理系側では*判断できない
というだけの話。
書いている人間様はそれがtypoかどうかは容易に判断できる(気づきさえすれば)。
だから、パーズ・コンパイル時に単に未定義だと文字通りワーニングを出せばいい話で、
実際そういう機能を持つ処理系やIDEは1980年代のSmalltalkから普通にある。
typoでたまたま他の既存のメソッド名とかぶってしまった場合に、
型でtypoかどうか判断可能という主張ならまだわかる。
その場合でも、型まで一致していたら静的型言語でもお手上げだ。
その理屈はなんかおかしいぞ。
後で動的にメソッドが追加されるかもしれないから
typoかどうか実行時まで*処理系側では*判断できない
というだけの話。
書いている人間様はそれがtypoかどうかは容易に判断できる(気づきさえすれば)。
だから、パーズ・コンパイル時に単に未定義だと文字通りワーニングを出せばいい話で、
実際そういう機能を持つ処理系やIDEは1980年代のSmalltalkから普通にある。
typoでたまたま他の既存のメソッド名とかぶってしまった場合に、
型でtypoかどうか判断可能という主張ならまだわかる。
その場合でも、型まで一致していたら静的型言語でもお手上げだ。
404デフォルトの名無しさん
2014/11/26(水) 10:37:02.67ID:IUNEYOWi typoっつーか、メソッド名を補完してたら
ウッカリ同じprefixの別のメソッド呼んじゃってた事はあるよ
でも、その間違ったメソッドが引数の型や数、戻り値の型まで一致してたことは一度も無かった
ウッカリ同じprefixの別のメソッド呼んじゃってた事はあるよ
でも、その間違ったメソッドが引数の型や数、戻り値の型まで一致してたことは一度も無かった
405デフォルトの名無しさん
2014/11/26(水) 12:07:39.14ID:lFXPwW0W >>404
補完なら、ふつう型が一致してなかったらそもそも候補に出てこないし、
まして「呼んじゃって」(つまりコンパイルが通って実行される)なんてことは
ウッカリだろうが何だろうが基本ないことだと思うけど?
補完なら、ふつう型が一致してなかったらそもそも候補に出てこないし、
まして「呼んじゃって」(つまりコンパイルが通って実行される)なんてことは
ウッカリだろうが何だろうが基本ないことだと思うけど?
406デフォルトの名無しさん
2014/11/26(水) 12:29:05.12ID:jMc4tHhg407デフォルトの名無しさん
2014/11/26(水) 12:35:38.39ID:lFXPwW0W408デフォルトの名無しさん
2014/11/26(水) 12:59:25.21ID:jMc4tHhg409デフォルトの名無しさん
2014/11/26(水) 17:49:47.93ID:jGVOTHDh rubyのto_sとか?
410デフォルトの名無しさん
2014/11/26(水) 20:45:29.26ID:zFnj+88g >>408
へー、どの動的型付言語が言語仕様で「型」という概念が定義されているんだい?
へー、どの動的型付言語が言語仕様で「型」という概念が定義されているんだい?
411デフォルトの名無しさん
2014/11/26(水) 20:48:18.16ID:zFnj+88g 動的型付言語を使っていて型が違うのにとか型で補完できればとか言ってる人は動的型付言語の初心者。
動的型付言語を単に型宣言しない静的型付言語として使っているだけ。
動的型付言語を単に型宣言しない静的型付言語として使っているだけ。
412デフォルトの名無しさん
2014/11/26(水) 22:06:07.76ID:jGVOTHDh 初心者
413デフォルトの名無しさん
2014/11/26(水) 22:45:02.52ID:A6eFHCKj414デフォルトの名無しさん
2014/11/26(水) 22:49:59.27ID:HWidBYzd >>410
a = 1
a = "a"
a = true
一行目のaの値は数値型で二行目で文字型に変り三行目でBoolean型に
なるってことで型が無いように見えて値にはちゃんと型があると言いたいんでしょ?
a = 1
a = "a"
a = true
一行目のaの値は数値型で二行目で文字型に変り三行目でBoolean型に
なるってことで型が無いように見えて値にはちゃんと型があると言いたいんでしょ?
415デフォルトの名無しさん
2014/11/26(水) 22:52:09.61ID:HWidBYzd 柔軟だがバグの元にはなりそうだ
416デフォルトの名無しさん
2014/11/26(水) 23:01:03.31ID:gCulqy1V 重要なのは値に型があることではなくて変数に型があること。
変数に型があるからこそ、その変数の型のメソッドは何かがわかる。
変数に型があるからこそ、その変数の型のメソッドは何かがわかる。
417デフォルトの名無しさん
2014/11/26(水) 23:03:26.44ID:gCulqy1V 変数はコードに書く。コードに書くということは
静的にわかる。(変数に型がある場合)
値に型があっても、実行時にならないとわからない。
変数に入る値はいろんな型がありえるから
値に型があるだけじゃ、typoを発見することは出来ない。
いい加減「値に型がある」を反論の材料にするのはやめてくれ。
反論になってないから
静的にわかる。(変数に型がある場合)
値に型があっても、実行時にならないとわからない。
変数に入る値はいろんな型がありえるから
値に型があるだけじゃ、typoを発見することは出来ない。
いい加減「値に型がある」を反論の材料にするのはやめてくれ。
反論になってないから
418デフォルトの名無しさん
2014/11/26(水) 23:10:00.48ID:b8NKrcQ+ 変数posがあってこれが座標を表わしてるものだとしたら
list型で(x y)だったり構造体でxとyのフィールドを持ってたりy*w+xの整数だったり
色んな表現が出来るから柔軟という利点があってプロトタイプに向いてるってことじゃないの
list型で(x y)だったり構造体でxとyのフィールドを持ってたりy*w+xの整数だったり
色んな表現が出来るから柔軟という利点があってプロトタイプに向いてるってことじゃないの
419デフォルトの名無しさん
2014/11/27(木) 00:00:17.23ID:qRi3TEum >>411
動的型言語の玄人になると、値の型と無関係な(CallするとRuntime Errorになる)メソッドが
大量に候補に出てくるような補完や、typoすら発見できないようなチェッカーに
慣らされてるから疑問にすら思わなくなるってこと?
動的型言語の玄人になると、値の型と無関係な(CallするとRuntime Errorになる)メソッドが
大量に候補に出てくるような補完や、typoすら発見できないようなチェッカーに
慣らされてるから疑問にすら思わなくなるってこと?
420デフォルトの名無しさん
2014/11/27(木) 00:39:38.24ID:dibuY+0s >>418
一人で把握できる範囲でプロトタイプのようなある程度使い捨てを前提に作れる
ならそれほど問題はないが、スレタイにあるように大規模開発≒複数人開発だと
静的言語に比べて動的言語だとtypoみたいな簡単なミスでも見つけづらいよねと
いうような話だと思う。 ちょろっとしたものを作るだけなら変数は全てオブジェクト
ですっていうように抽象化されている方が楽だけど、大規模開発だとそれじゃ
ダメだよねっていう話。
一人で把握できる範囲でプロトタイプのようなある程度使い捨てを前提に作れる
ならそれほど問題はないが、スレタイにあるように大規模開発≒複数人開発だと
静的言語に比べて動的言語だとtypoみたいな簡単なミスでも見つけづらいよねと
いうような話だと思う。 ちょろっとしたものを作るだけなら変数は全てオブジェクト
ですっていうように抽象化されている方が楽だけど、大規模開発だとそれじゃ
ダメだよねっていう話。
421デフォルトの名無しさん
2014/11/27(木) 00:43:32.22ID:pDjxUsPd422デフォルトの名無しさん
2014/11/27(木) 07:05:04.04ID:zJRTpdHD そりゃ未定義がワーニングだからだろ。
ワークニング出たよ。
さて、そのワーニングは無視していいのかよくないのか?
typoしてワーニングが出た。あぁ、いつものワーニングかでスルー
結局ワーニングがあてにならないものになってるだろ。
ワークニング出たよ。
さて、そのワーニングは無視していいのかよくないのか?
typoしてワーニングが出た。あぁ、いつものワーニングかでスルー
結局ワーニングがあてにならないものになってるだろ。
423デフォルトの名無しさん
2014/11/27(木) 07:17:33.51ID:pDjxUsPd424デフォルトの名無しさん
2014/11/27(木) 07:36:00.70ID:0IKZEJch425デフォルトの名無しさん
2014/11/27(木) 08:44:42.11ID:29V21Kp8 >>424
そうだね。なんかこんなようなメソッド名(Smalltalkではセレクタと呼ぶ)だったなぁ…と
うろ覚えで適当に入れとくとコンパイラがあとでいちいち教えてくれるから、はいはいって直してく感じ。
補完が便利だなぁと感じるのは長いメソッド名の場合かな。
適当にだとしてもタイプするのが単純に面倒なのでその労力を省くことができるので。
そうだね。なんかこんなようなメソッド名(Smalltalkではセレクタと呼ぶ)だったなぁ…と
うろ覚えで適当に入れとくとコンパイラがあとでいちいち教えてくれるから、はいはいって直してく感じ。
補完が便利だなぁと感じるのは長いメソッド名の場合かな。
適当にだとしてもタイプするのが単純に面倒なのでその労力を省くことができるので。
426デフォルトの名無しさん
2014/11/27(木) 09:51:34.08ID:79rV4D1o Python「低レベルな争いだな…」
427デフォルトの名無しさん
2014/11/27(木) 10:14:33.17ID:29V21Kp8428デフォルトの名無しさん
2014/11/27(木) 17:17:05.92ID:3JRXUen2 Smalltark 厨 vs Pythonee
429デフォルトの名無しさん
2014/11/27(木) 19:38:58.94ID:29V21Kp8 >>428
Unknown variable: Smalltark please correct, or cancel:
define new class
declare global
------------------------------------------------------
Smalltalk
SmalltalkImageTest
SmalltalkEditor
SmalltalkImage
SmallLandColorTheme
SmallInteger
SmallIntegerTest
SMAccount
SMCategory
SMPackageInstallationTask
------------------------------------------------------
cancel
Unknown variable: Smalltark please correct, or cancel:
define new class
declare global
------------------------------------------------------
Smalltalk
SmalltalkImageTest
SmalltalkEditor
SmalltalkImage
SmallLandColorTheme
SmallInteger
SmallIntegerTest
SMAccount
SMCategory
SMPackageInstallationTask
------------------------------------------------------
cancel
430デフォルトの名無しさん
2014/11/27(木) 20:07:16.47ID:p4BAxWMe Python「ただのテキストエディタで出来そう…」
431デフォルトの名無しさん
2014/11/27(木) 20:39:01.35ID:9Juu1ps5 そんなにイデの力が欲しいか
432デフォルトの名無しさん
2014/11/28(金) 00:34:41.35ID:O/dyue/E >>378
ゴロニャーン♪
ゴロニャーン♪
433デフォルトの名無しさん
2014/11/28(金) 09:07:58.51ID:8rVeLSla434デフォルトの名無しさん
2014/11/28(金) 09:09:59.36ID:8rVeLSla435デフォルトの名無しさん
2014/11/28(金) 09:13:52.73ID:8rVeLSla ここまでの流れだと結論は
静的言語は初心者向け
静的言語使いは初心者
静的言語は初心者向け
静的言語使いは初心者
436デフォルトの名無しさん
2014/11/28(金) 09:59:17.09ID:F5n5vmOV 処理系作ってる連中に学が無いから、型推論できるチェッカーひとつ作れない
で、仕方なく運用(命名規則)で回避ですか
駄目システムに苦しめられてるユーザと同じ図じゃん
なお、大規模開発ではどんな命名規則でもメソッド名が増えるため破綻する模様
で、仕方なく運用(命名規則)で回避ですか
駄目システムに苦しめられてるユーザと同じ図じゃん
なお、大規模開発ではどんな命名規則でもメソッド名が増えるため破綻する模様
437デフォルトの名無しさん
2014/11/28(金) 11:02:52.12ID:MpXGAzGF 手元のSmalltalk環境には4万強のメソッドがあって
先にも言われているように、型推論付きとかそんな高尚な補完もないけど
使いたいメソッドが出てこなくて困ったことなんかないぞ。
先にも言われているように、型推論付きとかそんな高尚な補完もないけど
使いたいメソッドが出てこなくて困ったことなんかないぞ。
438デフォルトの名無しさん
2014/11/28(金) 17:18:45.17ID:8rVeLSla >>436
まともな人がちゃんと作れば君のような目にはあわずにすむということじゃないかなあw
まともな人がちゃんと作れば君のような目にはあわずにすむということじゃないかなあw
439デフォルトの名無しさん
2014/11/28(金) 17:21:26.03ID:8rVeLSla440デフォルトの名無しさん
2014/11/28(金) 20:56:18.69ID:avPnRbje441デフォルトの名無しさん
2014/11/28(金) 21:02:53.61ID:pWSxBDFH >>438
まともな人は遥か昔Smalltalkから逃げ出したし、現在進行形でRubyからも続々と逃げ出してるよね
まともな人は遥か昔Smalltalkから逃げ出したし、現在進行形でRubyからも続々と逃げ出してるよね
442デフォルトの名無しさん
2014/11/28(金) 23:32:57.83ID:5WZv/pSY >>440
いろいろやるけど、主にWebアプリだな。
いろいろやるけど、主にWebアプリだな。
443デフォルトの名無しさん
2014/11/29(土) 02:10:12.49ID:TbFyYdBX >>437
> 使いたいメソッドが出てこなくて困ったことなんかないぞ。
コードを動かさないでだせる?
つまりアプリは動いておらずテキストエディタで書いている時。
コードを動かさないと出せないっていうのがダメなんだよね。
いろんな処理、例えば10分ぐらい処理してやっと実行される関数があったとする。
その関数の中にある条件分岐で真になるときのコード補完はできるだろうけど、
次に偽になる時のコード補完をしようと思ったら10分間待たないといけなくなる。
コードを動かさないでコード補完ができれば、待ち時間なしで
コード補完が出来るわけさ。
> 使いたいメソッドが出てこなくて困ったことなんかないぞ。
コードを動かさないでだせる?
つまりアプリは動いておらずテキストエディタで書いている時。
コードを動かさないと出せないっていうのがダメなんだよね。
いろんな処理、例えば10分ぐらい処理してやっと実行される関数があったとする。
その関数の中にある条件分岐で真になるときのコード補完はできるだろうけど、
次に偽になる時のコード補完をしようと思ったら10分間待たないといけなくなる。
コードを動かさないでコード補完ができれば、待ち時間なしで
コード補完が出来るわけさ。
444デフォルトの名無しさん
2014/11/29(土) 02:28:50.06ID:1aIidqiX445デフォルトの名無しさん
2014/11/29(土) 02:54:05.37ID:SuGYzpy/ >>443
オブジェクトが数値のときは数値関係のメソッドだけ補完に出せとか、そういう条件はあるの?
オブジェクトが数値のときは数値関係のメソッドだけ補完に出せとか、そういう条件はあるの?
446デフォルトの名無しさん
2014/11/29(土) 04:14:00.96ID:TbFyYdBX447446
2014/11/29(土) 04:16:18.02ID:TbFyYdBX 当たり前だけど、a. の行にブレークポイントを置いて、
そこまで実行してからa.を出すのはなし。
その行のブレークポイントまで実行しないといけないから
時間がかかる。
そこまで実行してからa.を出すのはなし。
その行のブレークポイントまで実行しないといけないから
時間がかかる。
448デフォルトの名無しさん
2014/11/29(土) 08:00:05.38ID:fWl7Yvk9449デフォルトの名無しさん
2014/11/29(土) 08:16:34.87ID:SO1yCwH9 >>446
MyClassのメソッド一覧ってどれぐらいのサイズ?
Smalltalkのように充実した標準ライブラリを持つ言語だと
Objectクラスだけでメソッドが488個あるから
MyClassのメソッド一覧は少なくとも500個ぐらいになって
aのクラスを特定する意味はあまりないな。
Smalltalkほどクラスライブラリが充実してないプアな言語だと
クラスを特定できるとうれしいかもしれないけど。
MyClassのメソッド一覧ってどれぐらいのサイズ?
Smalltalkのように充実した標準ライブラリを持つ言語だと
Objectクラスだけでメソッドが488個あるから
MyClassのメソッド一覧は少なくとも500個ぐらいになって
aのクラスを特定する意味はあまりないな。
Smalltalkほどクラスライブラリが充実してないプアな言語だと
クラスを特定できるとうれしいかもしれないけど。
450デフォルトの名無しさん
2014/11/29(土) 09:19:45.30ID:SuGYzpy/ 補完候補が単純なalphabetical orderじゃなくて
使用頻度順を学習して上から並べてくれるやつもあるので
その反論はナンセンスじゃね?
MyClassとObjectでは使われるメソッドの頻度が違うから
使用頻度順を学習して上から並べてくれるやつもあるので
その反論はナンセンスじゃね?
MyClassとObjectでは使われるメソッドの頻度が違うから
451デフォルトの名無しさん
2014/11/29(土) 09:23:05.48ID:1aIidqiX >>446
ちょっと待ってよ。そういう話なの?
俺の理解では、
- 静的型言語は変数を型で縛っているから補完がやりやすい。
- 動的型言語で静的に同レベルを実現するのは理論的に不可能。
ということは議論され尽くされてるわけだから暗黙の了解としてよくて、
- だけど動的型言語でも型推論をしてある程度絞って出せるのはあるよね。
- Smalltalkにはそういうスマートな機能はないけど、あんまり困ったことないよ。
という流れがあったところに>>443 で、
- 実行はせず、テキストエディタで編集中のコードで問題なくメソッドは出せるのか?
ときたから、意図がよくわからないのでコードを示してくれと頼んだら、
- 実行をして a をを確定してからその情報を元にして補完をするのはナシで、
静的型言語と同じように a の関連のメソッドだけしぼって出してみろ!
という要求だったので非常に驚いている。←イマココ
ちょっと待ってよ。そういう話なの?
俺の理解では、
- 静的型言語は変数を型で縛っているから補完がやりやすい。
- 動的型言語で静的に同レベルを実現するのは理論的に不可能。
ということは議論され尽くされてるわけだから暗黙の了解としてよくて、
- だけど動的型言語でも型推論をしてある程度絞って出せるのはあるよね。
- Smalltalkにはそういうスマートな機能はないけど、あんまり困ったことないよ。
という流れがあったところに>>443 で、
- 実行はせず、テキストエディタで編集中のコードで問題なくメソッドは出せるのか?
ときたから、意図がよくわからないのでコードを示してくれと頼んだら、
- 実行をして a をを確定してからその情報を元にして補完をするのはナシで、
静的型言語と同じように a の関連のメソッドだけしぼって出してみろ!
という要求だったので非常に驚いている。←イマココ
452デフォルトの名無しさん
2014/11/29(土) 09:26:19.46ID:SuGYzpy/ 標準ライブラリの大きさとObjectに数百個程度のメソッドがあることの
関係も良くわからない
標準ライブラリに少なくとも数百個もメソッドがあるんだぜスゲーってこと?
関係も良くわからない
標準ライブラリに少なくとも数百個もメソッドがあるんだぜスゲーってこと?
453デフォルトの名無しさん
2014/11/29(土) 09:40:43.18ID:e6ORUEwd454デフォルトの名無しさん
2014/11/29(土) 09:50:35.80ID:SuGYzpy/ でも>>446をよく見たら、こんなお題だったのか
> function foo(a) {
> a. とピリオドを入力した時点で、MyClassが持ってるメソッド一覧が表示されて欲しい
> }
これは静的型付言語で型推論があっても補完は無理だw
> function foo(a) {
> a. とピリオドを入力した時点で、MyClassが持ってるメソッド一覧が表示されて欲しい
> }
これは静的型付言語で型推論があっても補完は無理だw
455デフォルトの名無しさん
2014/11/29(土) 10:17:11.39ID:e6ORUEwd これなら型補完できるよ。これが静的言語でしょ?
> これがJavaなら
> void foo(MyClass a) {
> a. とピリオドを入力した時点で、MyClassが持ってるメソッド一覧が表示される
> }
> これがJavaなら
> void foo(MyClass a) {
> a. とピリオドを入力した時点で、MyClassが持ってるメソッド一覧が表示される
> }
456デフォルトの名無しさん
2014/11/29(土) 10:31:13.38ID:SO1yCwH9 >>453
へー、継承元のメソッドを分けて表示すれば解決する程度の貧弱なクラスライブラリが前提なんだー(鼻ホジホジ
へー、継承元のメソッドを分けて表示すれば解決する程度の貧弱なクラスライブラリが前提なんだー(鼻ホジホジ
457デフォルトの名無しさん
2014/11/29(土) 10:34:40.20ID:7EP7sx63458デフォルトの名無しさん
2014/11/29(土) 10:35:24.90ID:SO1yCwH9 静的言語でやっているコーディングとかIDEの使い方をそのまま動的言語に持ち込んで「これができない」「あれができない」と喚きだす初心者を眺めるスレw
459デフォルトの名無しさん
2014/11/29(土) 10:36:42.17ID:SO1yCwH9 >>457
そういう話はSmalltalkスレでどうぞ
Smalltalk総合 Squeak Pharo
http://peace.2ch.net/test/read.cgi/tech/1360991429/
そういう話はSmalltalkスレでどうぞ
Smalltalk総合 Squeak Pharo
http://peace.2ch.net/test/read.cgi/tech/1360991429/
460デフォルトの名無しさん
2014/11/29(土) 10:39:51.40ID:e6ORUEwd■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- 宅急便デス
- さっむ
- 千晴だけど30年前にゲームのカセット貸したら勝手に売られたんだけど
- ッシャー
- 千晴って大王だったの?
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
