探検
動的言語で大規模開発
■ このスレッドは過去ログ倉庫に格納されています
1uy
2012/07/24(火) 09:10:42.04 たててみた
334デフォルトの名無しさん
2014/02/08(土) 15:21:13.00 >>328
OSやコンパイラの基礎的な知識がここ5〜10年ほどで全部置き換わったとでも?
何か新しいツールやライブラリなんかも利用期間が長ければ長いほど後方互換を
考えて思想的な部分を変えることが出来なくなってるよ?
基礎的な知識がない人、表面だけなぞってる人は全く変わって通用しなくなると
感じてんるんだろうけど、そんなことは無いんだけどね。
OSやコンパイラの基礎的な知識がここ5〜10年ほどで全部置き換わったとでも?
何か新しいツールやライブラリなんかも利用期間が長ければ長いほど後方互換を
考えて思想的な部分を変えることが出来なくなってるよ?
基礎的な知識がない人、表面だけなぞってる人は全く変わって通用しなくなると
感じてんるんだろうけど、そんなことは無いんだけどね。
335デフォルトの名無しさん
2014/02/08(土) 15:24:34.62 つ電子書籍
すっかりぐだぐだのイメージが広まりつつあるがw
すっかりぐだぐだのイメージが広まりつつあるがw
336デフォルトの名無しさん
2014/02/08(土) 15:26:17.39 ここ15年くらい何も進歩してない
モバイルへのシフトが見えるくらい
モバイルへのシフトが見えるくらい
337デフォルトの名無しさん
2014/02/08(土) 15:34:56.49 結局は、ノイマン型のコンピュータが登場して以来何も進歩してないんだよ
338デフォルトの名無しさん
2014/02/08(土) 15:55:37.52 話でかくなりすぎw
339デフォルトの名無しさん
2014/02/08(土) 16:36:22.62 プログラミング言語だけ見ても、PHPでもRubyでもC#でもJavaでもこの10年で大きく変わってる
ライブラリやミドルウェアはもっと変わってる
これだけラピッドリリースが当たり前の時代、オライリーは本棚に並べて自己満足するぐらいの価値しかない
ライブラリやミドルウェアはもっと変わってる
これだけラピッドリリースが当たり前の時代、オライリーは本棚に並べて自己満足するぐらいの価値しかない
340デフォルトの名無しさん
2014/02/08(土) 17:06:39.19341デフォルトの名無しさん
2014/02/08(土) 17:08:41.77 Ajax でブラウザとJSの地位が大幅に向上したというのは進歩かもしれない
それ以外は驚くほど何も変わってない
それ以外は驚くほど何も変わってない
342デフォルトの名無しさん
2014/02/08(土) 21:58:29.94 JSに関してはかなり変わってきてると思う
00年代後半くらいに出た本はまだコーディングルールもままならなかったJSに対して
JSの安全で多言語との相異があまりない部分だけを使うという、かなり厳しい立場なものが多い
そしてそれ以降にでた本もそれを踏襲しているから同じ
ES3まではクラスベースの皮をすっぽり被ったプロトタイプベース言語だったからしかたがない
ゲッターすらも定義できないような未熟な言語だったのは確か
でもES5,ES6ときて例えばブロック文中の関数宣言の振る舞いの問題とか、
根底の不安定さがかなり解消されてきてる
そしてES6ではクラスシンタックスが入ったり、ミキシン等のサポートや、
プライベートっぽくもできるSymbolの導入、また何と言っても今までは
クラスベースの皮に隠れてたプロトタイプが表面にでたお陰でかなり変わってる
Promiseとか、関数型の方向性も強化されてきていて、
マルチパラダイム言語としてかなり磨きがかかって底上げされている
他にもモジュールやブロックスコープとか、書ききれない
コーディングルールの面でも、最近ではgoodpartsを書いたグーグル内、
例えばV8グループ内でもセミコロンフリーのソースがコミットされたりもしている
JSに関しては、何がいいのかは(ブラウザ間の差もあるし)その時その時で考えていくべき
JSも成熟してきて、JSerも成熟してきてるから、無闇矢鱈に縛る必要がなくなってきている
00年代後半くらいに出た本はまだコーディングルールもままならなかったJSに対して
JSの安全で多言語との相異があまりない部分だけを使うという、かなり厳しい立場なものが多い
そしてそれ以降にでた本もそれを踏襲しているから同じ
ES3まではクラスベースの皮をすっぽり被ったプロトタイプベース言語だったからしかたがない
ゲッターすらも定義できないような未熟な言語だったのは確か
でもES5,ES6ときて例えばブロック文中の関数宣言の振る舞いの問題とか、
根底の不安定さがかなり解消されてきてる
そしてES6ではクラスシンタックスが入ったり、ミキシン等のサポートや、
プライベートっぽくもできるSymbolの導入、また何と言っても今までは
クラスベースの皮に隠れてたプロトタイプが表面にでたお陰でかなり変わってる
Promiseとか、関数型の方向性も強化されてきていて、
マルチパラダイム言語としてかなり磨きがかかって底上げされている
他にもモジュールやブロックスコープとか、書ききれない
コーディングルールの面でも、最近ではgoodpartsを書いたグーグル内、
例えばV8グループ内でもセミコロンフリーのソースがコミットされたりもしている
JSに関しては、何がいいのかは(ブラウザ間の差もあるし)その時その時で考えていくべき
JSも成熟してきて、JSerも成熟してきてるから、無闇矢鱈に縛る必要がなくなってきている
343デフォルトの名無しさん
2014/02/09(日) 00:23:11.54344デフォルトの名無しさん
2014/02/09(日) 04:44:50.85345デフォルトの名無しさん
2014/02/09(日) 10:36:31.60 > 10年前の本でも読んでると良いよ
2004年の本ですか? そりゃ読むでしょうよw
2004年の本ですか? そりゃ読むでしょうよw
346デフォルトの名無しさん
2014/02/09(日) 12:19:57.73 10年前のApacheの本とかBindとかSendmailとか
347デフォルトの名無しさん
2014/02/09(日) 21:59:17.96 JavaScriptは約5年の間にES3→ES6で仕様書は3倍になったし、
もっと言えばHTML5との絡みで世界が日に日に拡大してるから仕方ないね。
そのとき常識でも、半年経つと状況がガラッと変わった照りするからね。
例えば今はアニメーションはライブラリの手を借りないと困難だって認識だろうけど、
確か今年の6月くらいににAnimationsAPIが勧告されるからね。
まあフラグONにすればもう一部は使えるんだけど、そもそも存在を知る人も少なそう。
もうちょい先の話だとServiceWorkerとかね。
スクリプト言語はAPIあってのものだから大変だね。
もっと言えばHTML5との絡みで世界が日に日に拡大してるから仕方ないね。
そのとき常識でも、半年経つと状況がガラッと変わった照りするからね。
例えば今はアニメーションはライブラリの手を借りないと困難だって認識だろうけど、
確か今年の6月くらいににAnimationsAPIが勧告されるからね。
まあフラグONにすればもう一部は使えるんだけど、そもそも存在を知る人も少なそう。
もうちょい先の話だとServiceWorkerとかね。
スクリプト言語はAPIあってのものだから大変だね。
348デフォルトの名無しさん
2014/02/10(月) 09:34:39.88 情報が古いと分かってる本読んでも得るもの何もないからな
信頼できない本読んで間違って覚えてそれで良いと勘違いしてる状況のほうが厄介な問題起こりそう
ゴミ
信頼できない本読んで間違って覚えてそれで良いと勘違いしてる状況のほうが厄介な問題起こりそう
ゴミ
349デフォルトの名無しさん
2014/02/10(月) 14:01:59.53 過去の仕様が根こそぎ変化するわけじゃないんだから、
古くなってる部分だけ調べりゃ良いだろ
古くなってる部分だけ調べりゃ良いだろ
350デフォルトの名無しさん
2014/02/10(月) 14:43:51.08 古いものの方が
肥大した無駄機能もなく
本質的な部分に絞りこまれていることが多い
ただし破壊的変更を繰り返してフラフラしている駄ツールには当てはまらないかもしれない
肥大した無駄機能もなく
本質的な部分に絞りこまれていることが多い
ただし破壊的変更を繰り返してフラフラしている駄ツールには当てはまらないかもしれない
351デフォルトの名無しさん
2014/02/10(月) 14:48:45.54 古い本を読んでる最中に古い情報(間違った情報)と新しい情報(正しい情報)の区別をどうやってつけるんだか
ゴミかよ
ゴミかよ
352デフォルトの名無しさん
2014/02/10(月) 14:49:39.61 ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwww
353デフォルトの名無しさん
2014/02/10(月) 16:10:40.42 問題が生じてから調べりゃ良いだろ
354デフォルトの名無しさん
2014/02/10(月) 16:35:30.36 損害被ってから調べるわけか
新しい本がないならまだしも
新しい本があるにもかかわらず古いほう読んで間違った知識身に付けたがるゴミってペチパー以上に理解できない存在だな
死ねゴミ
新しい本がないならまだしも
新しい本があるにもかかわらず古いほう読んで間違った知識身に付けたがるゴミってペチパー以上に理解できない存在だな
死ねゴミ
355デフォルトの名無しさん
2014/02/10(月) 17:21:58.51 学んだことが数年で間違った知識と化すのならばその技術・ツールそのものが害なのだ
356デフォルトの名無しさん
2014/02/10(月) 18:40:07.47 IT分野に来ないほうが良いな
357デフォルトの名無しさん
2014/02/10(月) 18:45:28.28 RubyやRailsが顕著だけど、それ以外のプロダクトも互換性は早く捨ててイノベーションする動きになってる
358デフォルトの名無しさん
2014/02/10(月) 21:34:55.60 互換性と情報の古くなりやすさは違う気がする
JavaScriptなんて顕著な例だし
むしろ古い情報が中途半端に有効なことが問題を大きくしてる
まあ、本っていうのはやっぱ向いてる分野が限られてると思う。
JavaScriptなんて顕著な例だし
むしろ古い情報が中途半端に有効なことが問題を大きくしてる
まあ、本っていうのはやっぱ向いてる分野が限られてると思う。
359デフォルトの名無しさん
2014/02/10(月) 23:11:20.52 言語機能もライブラリも互換性ぶったぎってるから、本の通りに書いても全く動かない
依存関係があるから、部分的に古いライブラリ使おうと思っても一筋縄じゃ行かない
そんなの自力で解決出来る知識あるなら、そもそも本なんか不要
依存関係があるから、部分的に古いライブラリ使おうと思っても一筋縄じゃ行かない
そんなの自力で解決出来る知識あるなら、そもそも本なんか不要
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:8rVeLSla■ このスレッドは過去ログ倉庫に格納されています
ニュース
- クリスマスの「予定なし」54% [少考さん★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★4
- 👊😅👊三☁😶‍🌫三⛅🏡
- 【動画】愛国者「山本太郎!お前に答えられない渾身の質問をする!三権分立は何と何と何だ!!!」 [369521721]
- コーヒー、来年3月から30パーセント値上げへ [709039863]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ2
