- 【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
375 :デフォルトの名無しさん[sage]:2014/09/10(水) 00:41:14.53 ID:MIzNsnl2 - >>371
厳密な議論であれば、Python や Ruby も型無しだね あえて言えば万有型(universe type)というデータ型、ただ一つしか無い 動的型付け言語で型エラー(>>368 の "TypeError")というのも 単なる実行時エラーの一種であり、要因コードや例外クラスの名前でしかない その実行時の型検査を指して「動的型付け」と呼んでいるだけ 型システムの教科書(TAPL本)だと、型システムは以下のように定義されている: 型システムとは、プログラムの各部分を、それが計算する値の種類に沿って 分類することにより、プログラムがある種の振る舞いを起こさないことを保証する、 計算量的に扱いやすい構文的手法である 何の事か分かりづらいけど、要するに 「型システムは(プログラムの実行前に行われる)静的な型検査の為に存在する」ってことで、 「いわゆる静的型付け言語」に固有の概念だということ そして、教科書では上記の定義の後に、実行時に型検査する「いわゆる動的型付け言語」との 対比を目的として「静的」という語を明示的に付加することがある、と続き、更には: 「動的型付けされる」という言い回しは誤っているといって差し支えなく、 おそらく「動的型検査される」と言い換えるべきであるが、 標準的に用いられる用語法である という指摘までしている こういった専門的な議論をしたいのであれば、「Smalltalk は型無し言語であり動的型付け言語ではない」 という主張も正当でかまわんのだけど、そういった議論は情報学板でやるのがふさわしいと思う ム板はふつうのプログラマが集う場なのだから、Wikipedia にある「動的型付け言語」または 「静的型付け言語」という(ふつうのプログラマにとって)常識的な分類法を採用するのが妥当ではないかと
|
- 【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
378 :デフォルトの名無しさん[sage]:2014/09/10(水) 01:04:52.87 ID:MIzNsnl2 - >>376
だから専門的に言えば型無言語と動的型付言語とは同じ概念を指す用語なんだよ あえて言えば「Smalltalk とその他の型無言語(=動的型付言語)」と分けるしかない ただ単に「Smalltalk は他の奴等とは違うんだぜ」と言いたいだけならば、 好きにすればいいと言うしかないけどね
|
- テスト駆動開発はなぜ流行らなかったのか?2
796 :デフォルトの名無しさん[sage]:2014/09/10(水) 21:25:34.21 ID:MIzNsnl2 - >>789
遅レスになったけど.... まず「テスト駆動は設計手法です(>>783)」と言うのなら、 ウォーターフォール型開発プロセスにも適用できるはず 構造設計工程の後半から単体テスト工程までをTDDに入れ替えればいい TDDが設計手法であれば、何の問題も無いハズだろ? 次にアジャイルについて、おそらくウォーターフォールとの対比として アジャイルという用語を選んだのだと思うけど、 設計/実装/テスト/評価という一連のステップを小刻みに反復する インクリメンタルとかスパイラルとか呼ばれる新しい開発プロセスは、 少なくとも1990年代には世の中で知られるようになっている アジャイルに固有な新しい特徴は、開発プロセスにエンドユーザを巻き込む点だけ だからアジャイルとTDDとは無関係だし、TDDが存在していない 1990年代でもスパイラルな開発プロセスは知られていたのだから、 これらはTDDの有効性を主張する根拠には成り得ない 最後に、TDDが生まれた背景はこちらが聞きたいくらいだね 設計ができない人でも設計できた気分になれるアイデアにしか思えない 言い換えると「動いているコードが仕様です」という、 「人月の神話」の時代よりさらに以前の遺物的発想に見える
|
- Ruby 初心者スレッド Part 55
435 :デフォルトの名無しさん[sage]:2014/09/10(水) 21:29:35.68 ID:MIzNsnl2 - >>432
Railsに関する質問や相談なら WebProg板に専用スレがあるから、 そちらへ逝きなされ
|
- Rubyについて(アンチ専用) Part004
810 :デフォルトの名無しさん[sage]:2014/09/10(水) 22:13:17.78 ID:MIzNsnl2 - >>809
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】 http://peace.2ch.net/test/read.cgi/tech/1402707917/268-284 アンチRuby派も最近はネタに不足しているらすいw Python なんていいよな、未だに 2 と 3 どっちがいい? 3 が必然!、いやGAEがあるから 2 は消えん!.....みたいな ネタをつかってスレ住人達で楽しめるから、うらまやしい
|
- クラス名・変数名に迷ったら書き込むスレ。Part24
770 :デフォルトの名無しさん[sage]:2014/09/10(水) 22:30:25.44 ID:MIzNsnl2 - >>764
ローカル変数であれば、 xs1 とか foo_list_1 みたいな命名は普通にやる 小数点については >>765 と一緒なんだけど、 バージョン番号に限れば(外観は小数に見えても)その意味は整数の直積だから、 構造体(またはクラス)として定義するね typedef struct version { int major; int minor; int tiny; } version_t; この構造体(クラス)と "0.03.0" のような小数点風形式との間で相互変換するのは、 関数(メソッド)の役目だと思う
|
- 集合論に基づいた言語を作りたい
209 :デフォルトの名無しさん[sage]:2014/09/10(水) 22:45:00.45 ID:MIzNsnl2 - >>204
> copy on write的なデータ構造は多くの手続き型言語のライブラリで使われていて ほう、これまた面白い話が聞けた >>206がいる異次元世界だと、その「copy on write的なデータ構造」を使う ライブラリが手続き型言語プログラマの間では「ふつうに(>>201)」使われているんだ 関数型言語で「ふつうに」リスト操作している(>>172)のと同様に 手続き型でも永続データ構造が使われているとは、 >>206のいる異次元世界はプログラマにとって理想郷だね!!(棒
|
- 【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
395 :デフォルトの名無しさん[sage]:2014/09/10(水) 22:56:24.46 ID:MIzNsnl2 - >>381
>>375をカキコした本人だけど、「型無言語と動的型付言語は違う」とは どこにも書かれていないよ、かんべんしてくれ 型システムについて厳密な立場をとれば、「静的型付け言語ではない言語達」を 総称して「型無し言語」とか「動的型付け言語」みたいな曖昧な用語を使うことがある、 と書いてあるだけ 「型無し言語」と「動的型付け言語」のどちらも 同じ「静的型付け言語ではない言語達」を指す異音同義語だよ ここで珍説を唱えたいのなら、まず始めにこの2つの用語の正確な定義を示してほしいな
|
- 集合論に基づいた言語を作りたい
211 :デフォルトの名無しさん[sage]:2014/09/10(水) 23:05:15.07 ID:MIzNsnl2 - >>210
String は単純型だからデータ構造やライブラリには含まれない もし String を含めるのなら Integer もデータ構造の一種になってしまう
|
- 集合論に基づいた言語を作りたい
213 :デフォルトの名無しさん[sage]:2014/09/10(水) 23:20:47.47 ID:MIzNsnl2 - >>212
単純型とは、他の型から構成されることのないデータ型であり、 文字列型の他には、論理型、文字型、列挙型、数値型がある 関数型言語の Lisp や論理型言語の Prolog だとアトムとも呼ばれる
|
- 集合論に基づいた言語を作りたい
215 :デフォルトの名無しさん[sage]:2014/09/10(水) 23:32:19.53 ID:MIzNsnl2 - >>214
たとえばレコード型(C言語であれば構造体)は、 単純型、配列型、別のレコード型といった「他の(複数の)型から構成」される また配列型も整数型、文字型、レコード型といった「他の型(の反復)から構成」される そしてレコード型や配列型は、要素となった他の型に分解できる それに対して、単純型は「他の型から構成されることがない」 言い換えると、単純型は(他の型へ)分解できない根源的なデータ型になる >>213で書いたアトムも、物理学の(分解できない)原子が語源になっている
|