■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
動的型付け言語ってダサくない?
1 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 04:29
みなRubyとかPythonだとか、いってるけど、
動的型付けのなにがかっこいいの?

言語オタク的にはなおさらつまらないような気がする。


2 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 04:33
がいしゅつ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=986355498


3 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 11:28
がいしゅつだが一言。
言語オタク的にこそ、面白いんだと思うが。


4 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 14:48
MLの型システムこそが一番オタク的だろう。


5 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 19:19
>>4
Haskellの型クラスもけっこうきてるね

>>1
そういえばスクリプト言語で静的型付けしてるのってみたことないや


6 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:43
>>5
ちょっと前のCマガのスクリプト特集記事にはCくりそつの
言語も紹介されていたよ。


7 名前: 投稿日: 2001/05/20(日) 17:31
失礼ですけど、それはまだまだ甘いと思います。
言語オタク的には、動的型付けで、さらに「クラスも値だ」とか言ってみても、
その体系は所詮Smalltalkから進歩していないのです。
>>4さんのいっているようにいまだに研究されている型付け(特に関数型とか)の仕組みにこそ、
言語のオタク的魅力が詰まっているのだと思います。


8 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:32
うるせえ
言語をオタク化するんじゃねえ


9 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:35
動的型付けより、宣言してなくて変数が使えるほうがダサい。
バグの原因じゃん。


10 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:39
職業プログラマですか?>>8


11 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:43
>動的型付けのなにがかっこいいの?
>>1オタはかっこよさで言語をらぶ。飯の種ではないからな。
あくまでもオタ。言語フェチ。


12 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 18:58
Rubyとかってダサいよね。
偉そうに言語オタクぶってるわりには動的型チェックで
バグ促進。


13 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:06
>>9
>宣言してなくて変数が使えるほうがダサい
VBやperlとかかな?


14 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:12
>>9
型演繹による静的型つけなら、宣言無しでもバグの原因にならない。


15 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:17
>>12
Rubyが言語オタクぶってるかは知らないが、ダサいとは思う。
ただ、それは動的な型付けをしてるからではない。
さらに、バグを出してるのは自分自身であって、言語に文句を
タれるのはかっこわるい。


16 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 20:16
みんなschemeにしなよ。(lispは汚い部分があるので)
構文の好き嫌いとかなくなるよ。
型問題もタグ付けという概念でほぼ解消できるし。


17 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 20:17
>>15
ハァ?バグの出易い仕様をダサいといってるんだけど。
バグは全部プログラマのせいだからといって、
バグが出安い文法でもかまわないってことには当然
ならないだろ。


18 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 20:18
>>16
でもそれって、結局動的型付けでしょ?
ダサいよ。


19 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 20:22
動的型付け・・・型違いのバグが、バグの部分が実行されるまで発見できない。
プログラムの挙動をみてバグの種類を判断しないといけない。

静的型付け・・・型違いのバグがすぐに発見される。バグの種類と個所がはっきりと
特定される。


20 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:17
>>12=17はクサい。


21 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:43
動的型付け言語を使うとバグが出易くってしょうがないって言ってるやつは
静的型付け言語もなんだかんだ言って使えないんじゃないの?


22 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:53
ていうか、動的型付けがバグ発見の点で重大な欠点だってのは
周知の事実じゃん。
何を今更抵抗してんだか。


23 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:10
>>22
たしかに周知ではあるんだけど、
不思議なことに>>21の主張も
結構嘘ではなかったりする(w

静的型付けが、バグの確率を下げるのは確かだけど、
バグの確率を「満足できるほど」下げてくれる、とは
誰も保証してない、っていう感じかと。


24 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:13
実行して実際に間違わないとどこが悪いかわからないってのは
かなり効率低下する。
毎回一発で間違いの無いコードを書ける奴なんていないよ。


25 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:25
うるせーな
そんな議論は>>2で出尽くしてるんだよ。
おめーら回線切ってさっさと寝ろ。


26 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:30
>>24
「型間違い」以外のバグも、実際に間違わないと分からないのでは?
もちろん静的型付け言語が「型間違い」を検出してくれるのはうれしいけど。


27 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:33
>>26
すまん。その辺も含めて、「型なし言語いってよし」スレで
がいしゅつな話のはずだ…


28 名前: 25 投稿日: 2001/05/21(月) 01:46
>>26
失礼しました。


29 名前: 26 投稿日: 2001/05/21(月) 01:49
>>28
ごめん、間違えた。

---------------
>>27
失礼しました。
---------------
が正しいです。


30 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 11:25
ようするに自分の無能さを何かのせいにしたがってるやつがいるだけだろ。


31 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 13:31
いやいや何かの無能さを人のせいにしたがってる人がいるだけだ(w


32 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 14:19
「C++で開発したらRubyの時より時間がかかった」
「お前が無能だからだ」

こう言ってるのと同じだぞ。明らかにおかしな言い分だ。


33 名前: 1 投稿日: 2001/05/21(月) 17:17
バグの問題はおいといて、
「動的型付け言語に、美しいもくそもあるか」
ということが最近思っている事なんです。


34 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 17:54
>>33
その理由を書いてくれないと、「そうですか」としか言えない。


35 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 01:14
>>33
!言語オタク
趣味:言語観賞


36 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 05:41
>>33
静的な型付けをしている言語で美しいと思うものとその理由を挙げてよ。


37 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:15
きっと1は今ごろ自分で理想の言語を作ってるに違いない。期待しよう。


38 名前: 1 投稿日: 2001/05/24(木) 02:20
いま研究中ですけどやっぱHaskellとかじゃないですかね?
Javaも嫌いじゃないけど。

Pascalとかいったら殴られそう。


39 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:29
ね?ってなんだよ。同意もとめるなよ。自分の意志を持てよ。>38


40 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:00
HaskellってWindowsかLinuxでいじれます?
素人なんですがあるならよろしく。


41 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:11
関数型言語スレいけ>40


42 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 23:35
>>17
バグの出易い仕様が嫌ならEiffelを使おう(おすすめ)


43 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 16:14
>>42
Eiffelで質問

Eiffelってundefineやrename asがあるけど、
そういう場合って、サブクラスがスーパークラス
の一部にならないような気がするんだけど、そこは
どうなってるの?


44 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 16:38
まてまてまてまて!

なぜ動的型付けを誹謗するのだ。
そんなことよりもっと大切なことがあろう。
分かるか?分かるものならばかいてみやがれ!


45 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 16:39
>>40
どっちでも使えるわよ。


46 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 17:09
>>44=http://mentai.2ch.net/test/read.cgi?bbs=prog&key=990810153&st=145&to=145&nofirst=true

何がやりたいんすか?


47 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 18:37
>>46
どうして分かるの?


48 名前: 46 投稿日: 2001/05/26(土) 18:39
>>47
文が似通ってるってだけです。


49 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 19:41
>そういう場合って、サブクラスがスーパークラス
>の一部にならないような気がするんだけど、そこは

「一部」ってどういうことよ。


50 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 22:05
>サブクラスがスーパークラスの一部
ハァ?


51 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 22:19
型ってそんなに大切なん?

オブジェクト指向だと、
あるメッセージを受け取れるかどうかが大事だと思うんだけど。


52 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 22:47
>>51
それを形式的に保証するのが型システム。


53 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 23:51
>>49
>>50
ハアじゃないよ。
スーパークラスでできる操作はそれを継承するサブクラスでもできるのが普通。
そういうのを包含関係とか言うんだよ。
サブクラスでなんらかのメソッド(フィーチャー)をundefしちゃったら、
変数にサブクラスが代入されたときにどうなってしまうのかな? と思ったわけ。


54 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 00:39
>>53
http://www.elj.com/eiffel/intro/s5/#s5.5
つーことらしい。差分プログラミングってやつか?


55 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 22:10
>>53
関係ない話だけど便乗質問。
Eiffelではそういうのを包含って呼ぶんですか?
ふつーはUMLみたいにObject間の所有(?)関係を
さす言葉じゃないかと思うけど、Eiffel専門用語ですか?


56 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:16



57 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 18:59
包含でも包摂でもいいけど、一般的なコトバだろ。


58 名前: 53 投稿日: 2001/05/29(火) 23:59
>>55
包含関係っていうのはアナリシスではオブジェクトのEmbeddingのことさすけど
クラスの型を可能な操作の集合として考えれば、サブクラスはスーパークラス
の要素を含むじゃない。だからサブクラスはスーパークラスを包含するという。


59 名前: デフォルトの名無しさん 投稿日: 2001/05/30(水) 00:05
encloseは日本語だと何になるの?


60 名前: デフォルトの名無しさん 投稿日: 2001/05/30(水) 06:07
>>43
class FOO
feature
x:INTEGER
end

class BAR
inherit FOO rename x as y
end

a:FOO
b:BAR
!!b
a := b
a.x ... b.yがよばれる

a.y ... エラー