1read 100read
2012年07月プログラム241: 動的言語で大規模開発 (284) TOP カテ一覧 スレ一覧 2ch元 削除依頼
クラス名・変数名に迷ったら書き込むスレ。Part22 (314)
【肥大化】C++ を見捨てたヤシ 2人目【複雑化】 (926)
JavaScriptスレ2 (537)
いもうとデスクトップを実際に作ってみないか?3 (849)
【安定版】ActiveBasicその12【4.24】 (931)
GARMIN社のGPSのプログラム (651)

動的言語で大規模開発


1 :2012/07/24 〜 最終レス :2012/11/04
たててみた

2 :
問題は解決した
結局、実行時にしか実行結果が分からないとしても
「信頼できるコード」は徐々に増えていく
それは予想以上に上手くいき始めた
俺は二度と静的言語を使う事はないだろう

3 :
このスレッドは天才pンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
                  京都大学霊長類研究所

4 :
そのコピペ飽きた

5 :
イジメ自殺が社会問題となっている。新聞でもテレビでも識者と称する恥知らずたちが、おためごかしの助言を垂れ流して小銭を稼いでいる。
イジメに苦しむ少年少女よ、あんなものが何の役にも立たないことは、君たち自身が一番良く知っている。
唯一最良のイジメ対処法は報復に決まっているではないか。
実はイジメ自殺は何年かごとに社会問題となり、そのたびに真実の声が良識という名の愚論によって圧殺されてきたのだ。
十一年前にもイジメ自殺が相次ぎ「少年ジャンプ」が悲痛な叫びを特集連載した。
それをまとめた『いじめレポート』(集英社)にこんな声がある。
「徹底的に体を鍛えた。復讐(ふくしゅう)のために…。やられる前にやれ!」(A男)。
A君は拳法、柔道で「歩く凶器」となり、イジメを粉砕した。
睡眠薬自殺未遂のC子さんは、死を思う気持ちよりも「憎しみの方が強くなった」「私もガンガン殴り返す」「女でもやるときはやるんだ!」。
別の女児もこう言う。「どうしても死ぬっていうんなら、いじめた奴に復讐してからにしなよ」
学校では報復・復讐は道徳的な悪だと教える。しかし、それは嘘だ。人間が本来的に持っている復讐権を近代国家が独占したに過ぎない。
大学で法制史を学べばすぐわかる。復讐は道徳的には正しいのだ。現に、ロシヤに抑圧され続けたチェチェン人は果敢に復讐をしているではないか。
被害者が自ら死を選ぶなんてバカなことがあるか。死ぬべきは加害者の方だ。いじめられている諸君、自Rるぐらいなら復讐せよ。
死刑にはならないぞ。少年法が君たちを守ってくれるから。
呉智英

6 :
動的言語で大規模開発は可能
以上

7 :
【スポーツ】「五輪期間中はブログをやめて」JOCが東原亜希さんに要請★2
http://ikura.2ch.net/test/read.cgi/curry/1246361020/

8 :
あるのなら例をあげろよ。
俺が見たのはPython & Djangoで書いた社内用メーリングリストサーバ。
Webアプリで利用者がML管理。全部で1万行くらいあった。
納入業者が作ったみたい。

9 :
いくらでもあるのに見つけられないってバカなのか

10 :
1万って大規模じゃないだおr

11 :
もっと絞らんと、obj-cなんかも入ってきて切りがないでしょうに

12 :
ばーか

13 :
大規模開発は何を意味してるのかな
コード量かな
人数かな
人数多いとダメじゃないかな

14 :
人数多いのはクソプロジェクトしかないから却下。

15 :
win8はいつのまにか不可解なメトロを組み込むことになってしまった
動的言語じゃなくても大規模開発は難しい

16 :
R

17 :
1万行って去年俺一人で趣味で書いた JavaScript の量じゃねえか。
もう二度とやらんと誓ったけど。
動的言語は砂上に楼閣建ててる感がヤバイわ。GWT なり Haxe なり使えよ。

18 :
Browser Quest を見たパンピーどもの反応
→HTML5 スゲー!!JavaScript スゲー!! マンセーマンセーマンセー!
ソースコードまできちんと読んだ俺の反応
→これを全世界のプログラマにやれというのか(怒怒怒怒怒怒怒怒怒怒怒
 今すぐ滅べよ JavaScript(激怒

19 :
「信頼できるコード」は徐々に増えていく
一見そう思えたが、修正しようとした時に問題が起き始めた。
影響範囲がわからない。
テストコードがあるから、実行すればおかしくなったのはわかるのだが、
それを正しくするには、どこを修正すればいいかがわからない。
時間がかかってしまう。
そしてテストコードは動いたが、今度はこれで本当に問題ないか
不安になってきた。
テストは不具合があることは教えてくれるが、
不具合がないことは教えてくれない。
果たして俺は、完璧なテストを書いているのだろうか?

20 :
コードはインターフェースと実装の2つにわかれるんだよ。
実装の修正ってのはテストが簡単。
インターフェースが変わらないから、
実装は関数の中身を変えればいいだけ。
テストコードを変える必要はない。

だけど、インターフェースの修正ってのは、
関数の外側、呼び出し側を修正する必要があるから
影響範囲が広くなる。そしてテストコードまでも変更する必要がある。
インターフェースの修正に弱いのが
動的型付け言語なわけ。

21 :
>>19-20
R

>>17
冷静に考えてみ
その1万行をかくときに
「動的言語で書かれているヘッダ」をいくつ使った?
「信頼出来るコード」は勝手に増えていく

22 :
uy以外の人に聞きたいが
「動的言語で書かれているヘッダ」ってなんのこと?

23 :
1万行って少ないな。
1000行が10ファイルしか無い。

24 :
LISPマシンやPrologマシンはどのくらいの規模だった?

25 :
>>22
それすらわからないってバカ?
C言語で書かれたライブラリをインクルードするのか
動的言語で書かれたライブラリをインクルードするのか

26 :
で、基本的に「自分以外」がかいたそういうヘッダってのは
「信頼できるコード」に含まれる
世界中で何百万人が使用しているものだから
結局は自分でそのレベルの安定性を持った水準の動的言語コードをかいて
「アルゴリズムライブラリ」とすれば「信頼出来るコード」は増えていく
以上


27 :
>>25
動的言語で書かれているヘッダですよ?
どこにライブラリって書いてあるのですか?
ヘッダとライブラリの違いがわかりませんか?

28 :
#include<stdio.h>知らないただのバカか

29 :
世の中にはヘッダライブラリというのも存在する事も知らないただのバカか
バカはR

30 :
動的リンクをしてない言語はライブラリをどのようにして使うかすら知らないバカか
バカはR

31 :
初心者とバカはR

32 :
今時の言語でヘッダをインクルードする言語なんて皆無だろ。

33 :
rubyやってると本当に変数あんまり使わなくなってくる
イテレータ内のみにスコープのある局所変数の型については、
100%型情報がいらない場所、型情報があるとイテレータの利点が全く生かせない
俺でも稀に型情報が必要かな?って思うのはグローバル変数や、スコープの広い変数
でもrubyではその気になればスコープの広い変数を消して、ブロック変数のみで書いていける
重要なのは変数情報じゃなくて、
メソッド群の組み合わせによって、どうアルゴリズムを作るか
よくイテレータの戻り値を、とりあえずって感じで
a=[...].map {} といった具合に受け取ることはあるが、これさえも
[...].map {}
.map {
}
と続けてかいてしまえば変数がいらない
まぁ可読性のために、変数に格納するんだけど
変数を宣言して使うしかないっていう状況から、
書かなくてもよい変数を、可読性を上げる為にわざと宣言するという考えに変わっていった

34 :
>>25
たった一個でいいから、実在の「動的言語で書かれているヘッダ」を示してくれ。
示してくれ。
もし良ければ、and と or と xor の定義も示してくれ。

35 :
>>29
だから「動的言語で書かれたヘッダ(ライブラリ)」ってなんだって話だろ。
動的言語で書かないといかんのだぞ。
あと、当たり前だが、ライブラリ=ヘッダ(ライブラリ)ではない。

36 :
動的言語はインターフェースの変更に弱い。
インターフェースの変更は単体テストで
見つけることが困難になる場合がある。


37 :
バカすぎワロタ
stdio.hでも食ってろ

38 :
stdio.h ・・・C言語(静的型付け言語)のヘッダファイルです。これはライブラリではありません。

39 :
バカすぎワロタ
stdio.hでも食ってろ

40 :
uy以外の人に聞きたいが
「動的言語で書かれているヘッダ」ってなんのこと?

41 :
初心者スレいけよ低脳

42 :
バカすぎワロタ
stdio.hでも食ってろ

43 :
初心者黙った
そのままstdio.hと添い寝してろ
初心者R

44 :

初心者R

45 :
uy以外誰も答えられないってのが
答えになってる。
そう、「動的言語で書かれているヘッダ」なんてものは
存在しない。

46 :
そもそもヘッダってものがごくごく一部の言語にしかないので。

47 :
あ、言っとくけど誰もマジレスしなくていいからね
長文書かれると鬱陶しい
こいつはこのまま放置していこう

48 :
動的言語でプログラムを組むときに普通はいくつもの「ヘッダ」を使い
その「ヘッダ」は、大抵は同じ言語、つまり「動的言語でヘッダ」が書かれている
自分で実際に書いたソースコードと、その「ヘッダ」のソースコードを含めて考えれば
ちょっとしたコードだろうとそれなりの規模のコードになっている事は分かる
大規模開発が出来ないというのは、「信頼出来るコード」、「資産」を自分で作っていけないレベルの奴が言っているだったという結論がでてしまった

49 :
「動的言語で書かれたヘッダ」をひとつも使ったことがないというのは
動的言語でプログラムを書くときに標準や外部ライブラリも含めて何一つ使ったことがないという事・・・
自分でヘッダを描く事も出来ず、
インクルード(あ、言っちゃった)構文さえ知らない
そろそろ謝ったほうがいいんじゃないのか

50 :
初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
 何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww

51 :
うん、だからもう 2ch なんて捨ててヨソに行ってよ。
ね。
もう十分に恥ずかしい思いをしたでしょ?

52 :
import java.util.List;
これをヘッダのインクルードだと理解しているわけか?すごいな

53 :
やっぱりjaverか・・・

54 :
俺は勘違いしてたかもな
静的言語よりも自由が高く出来る事の多い動的言語で大規模開発が出来ないはずないわ
慣れは必要
どんどん効率上がってきてるのが分かる

55 :

50 :uy:2012/07/26(木) 10:31:38.47
初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
 何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww

56 :

50 :uy:2012/07/26(木) 10:31:38.47
初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
 何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww

57 :
>>53
> import java.util.List;
>
> これをヘッダのインクルードだと理解しているわけか?すごいな

Rubyではincludeで読み込むファイルのことを
ヘッダファイルっていうんだよ。
知らないなら、ググって恥をかけ!

58 :
> 21 名前:uy[sage] 投稿日:2012/07/25(水) 03:36:50.02
>
> >>17
> 冷静に考えてみ
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
これを読んで疑問になった人は多いと思う。
あえてuy以外の人に聞くが、
「動的言語で書かれているヘッダ」ってなんのこと?

59 :
http://doc.ruby-lang.org/ja/1.9.2/method/Module/i/include.html

60 :
rubyでincludeワロタ
ruby使えないどころかrubyのソース1個も読んでない知ったかじゃねーか

61 :
結局ヘッダーっていうのは
ファイルの先頭に書かれている情報であって
「ヘッダ」と「ヘッダーファイル(.h)」は別物
requireやimportされているファイルは「ヘッダ」または「ヘッダライブラリ」と呼ぶ
C++/Boostのhppなども「ヘッダライブラリ」に分類される
またそれとは別に動的言語でDLLを使う場合には、C言語と同じようにプロトタイプ宣言の「ヘッダ」を書く事もある
またそれは別に、中規模以上であればファイルの先頭には定数情報やら、クラス、モジュールの空宣言などをやっておく事もあるんで
これらも「ヘッダ」と呼ぶ
分かったか?ゴミ

62 :
>>22
さっさと泣いて謝れ

63 :
>>61
> requireやimportされているファイルは「ヘッダ」または「ヘッダライブラリ」と呼ぶ
はあ?

64 :
   ッ「ペロバコナーンwwwwwwwwwwwwwwww」

65 :
>57
http://doc.ruby-lang.org/ja/search/query:include/
http://doc.ruby-lang.org/ja/1.9.3/function/include_class_new.html
http://doc.ruby-lang.org/ja/1.9.3/method/Module/i/include.html
http://doc.ruby-lang.org/ja/search/query:%E3%83%98%E3%83%83%E3%83%80/
おまえこそググれよ。
>61
恥の上塗り。
笑いものになることに快感を覚えているのではなかろうか。

66 :
なんか忘れてるみたいだから書いておくね。
「動的言語で書かれているヘッダ」とは
uyこと俺が言った言葉。
21 名前:uy[sage] 投稿日:2012/07/25(水) 03:36:50.02
>>19-20
R

>>17
冷静に考えてみ
その1万行をかくときに
「動的言語で書かれているヘッダ」をいくつ使った?
「信頼出来るコード」は勝手に増えていく

67 :
>>65
include(笑)

この初心者に教える必要はない
結論、
動的言語で大規模開発は出来る
「信頼出来るコード」は勝手に増えていく

68 :
rubyのincludeは今の話しと違うだろ・・・
るりまサーチをGoogleと勘違いしている頭の悪さ
コイツは救えない
stdio.hでも食ってろカス

69 :
さっさと謝れ

70 :
>>68
いやw
include 対象が「ヘッダ」だと書いたページをw
一個でもいいから探して来いよw
>57 の
> Rubyではincludeで読み込むファイルのことを
> ヘッダファイルっていうんだよ。
の話さあw

71 :
>>61
30年プログラム書いてるけどはじめて聞いた。
勉強になるなあ。

72 :
ファイルの始めに書かかれている、ライセンスや開発者名なんかはヘッダーと言えるような気もする。

73 :
>>71
煽りぬきで30年間何やってたんだ?
>>72
そもそも「ヘッダー」というのは
例えば テキスト.txtのバイナリの先頭部分だってヘッダーと呼ぶべきものだし
ソースファイルの先頭に書かれているものは全部ヘッダーだよ
import requireしてるならそれはヘッダーライブラリ
ruby使ってても、ある程度やっていくとruby言語をrubyで拡張したRbファイル
などを最初にrequireしておく事もあるんで
それは明らかにヘッダーと呼ぶべきものだろ
無知が騒いでいる

74 :
C言語では「.h」のヘッダーでインクルードしてdefineなど定数宣言したり
クラス、構造体の宣言だけを行うこともある
rubyファイルでそれと同じことを行うこともある
動的、静的は関係なく
ヘッダーというのは存在する
動的言語で大規模開発は可能
分かったかゴミ?
さっさと初心者はR

75 :
>>70
まだincludeについて間違った見解もってんのお前?
rubyのincludeは今回の話とは別だと何度も言っている
初心者以下のゴミクズ
そんなんだから>>65 こんな的外れのURLもってくるんだよ
ゴミはR

76 :
初心者R

77 :
>>73
pgr

78 :
>>73
$ cat null-act.c
int main(void) {
return 0;
}
どこがヘッダですか?

79 :
ドヤ顔で500年以上前に流行っていまはもう使われてないC言語っていうんだっけそれ
そんなもののソース出されても正直困る
歴史に埋もれて市ね

80 :
テキストファイルの上の部分がヘッダとか
見苦しい言い訳をしているが、
それだと
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
つじつまがあわない。
ヘッダを使うとはどういうことか。

81 :
ゴミはR

82 :
ゴミグラマR

83 :
Rゴミ

84 :
ゴミ

85 :
Matz はどういうだろうね?

86 :
cに対する煽りが半端でつまらんな
もっとくやしく

87 :
動的言語における大規模開発の適性については、すでに1980年代に結論が出ている
以下は、XEROXがSmalltalk-80で開発した大規模アプリケーションの具体例
(出典: Information/April 1986)
EELS - 紙面編集システム
・EELS(Electronic Editing and Layout System)は、ニューヨークタイムス社との
 契約によりXSIS(Xerox Special Information Syatems)が開発した
 新聞の編集とデザインのためのシステムであり、新聞の紙面向けの
 この種のシステムとしては世界初。このシステムは、紙面の編集や表示を
 1100SIPワークステーション上で行う事を可能にした。
・前工程で組まれた活字を自動的に読み込み、編集規則に合わせて再構成したり
 会話形式でテキストを修正できる。さらに記事がレイアウトにフィットしない
 場合には、レイアウト自体も動的に調整できる。また、活字を組むための
 テキスト用のページや、各種の字体も用意されている。
ANALYST - 分析シミュレーションシステム
・ANALYSTは米国政府で行われている広範囲な情報分析向けにXSISが開発した
 システムであり、すべてがSmalltak-80で実装され1983年秋から稼働している。
・ANALYSTはグラフ、地図情報、イメージ情報(航空写真など)、テキスト、
 数値演算(スプレッドシートなど)といった各種の情報処理機能を包含しており、
 ワークステーションの中に分析者が必要とするすべての情報処理機能を
 備えているといえる。また、電子メール機能、イメージ処理機能、電子ファイル
 管理機能、IBMのような大型機へのアクセス機能などの特徴も備えている。

88 :
今は1980年ではない。
それ以降に静的型付け言語が成熟した。
今は動的型付け言語のメリットはない。

89 :
Smalltalkは当時からすでに下手な静的型言語より手厚いIDEのサポートがデフォだから
動的言語の適性を示す例としては反則だろう。

90 :
Smalltalkって今どうなったんだ?

91 :
本家XEROX Smalltalk-80の直系の子孫はCincom社が開発販売しているVisualWorks。
http://smalltalk.cincom.jp/main/successes/
開発途上版(Smalltalk-80 v1)から枝分かれして独自進化したのがSqueak。
http://www.squeak.org/
さらにSqueakから枝分かれしたのがPharo。
http://www.pharo-project.org/
あとは企業の古くかあるクローンとか
http://www.exept.de/en/products/smalltalkx
http://www.object-arts.com/
http://www.instantiations.com/products/vasmalltalk/
他にはファンお手製実装とかの変わり種などいろいろ。
http://smalltalk.gnu.org/
http://amber-lang.net/

92 :
変わり種と言えば、処理系まるごとOODBシステムと化したGemStone/Sというのもある。
http://www.gemstone.com/products/gemstone
MaglevというSmalltalkベースの高速なRuby実装にはこの処理系が使われている。
http://maglev.github.com/

93 :
>>89
つーかSmalltalkは、動的に型チェックしたり、
型をファーストクラスオブジェクトとして使えるけど、
コンパイル時に強い型付けもしてるからな。
静的型付けもうまく組み合わせて使える。

94 :
Smalltalkってウェブ関連では使われてないな。

95 :
OO機構が組み込まれているコンパイル志向の言語で、型の弱い言語ってあるかい?

96 :
>>94
あまりね。
でもTwitterに買われてサービスやめちゃったけどDabbleDBとか有名どころもちらほら。
http://www.crunchbase.com/company/dabbledb
Rubyを窮屈に感じてSmalltalkに鞍替えした人がWebObjectsにインスパイアされて作った
SeasideというコンポーネントベースのWAフレームワークが人気で
いろんな処理系に移植されて比較的よく使われている。
http://www.ogis-ri.co.jp/otc/hiroba/technical/seaside/seaside2/index.html
http://smalltalk.cincom.jp/tutorials/vw7.6/seaside/seaside_intro.ssp
http://www.seaside.st/

97 :
>>93
> コンパイル時に強い型付けもしてるからな。
> 静的型付けもうまく組み合わせて使える。
ん? ちょっとイメージできない。具体的にはどういうこと?
関係あるか分からないけど、SmalltalkにもObjective-Cみたいにオプショナルな
型チェック機構を持ったStrongtalkという処理系がある(あった)。これも変わり種だね。
http://www.strongtalk.org/
余談だけど型チェック機構とは別に、こいつのVM高速化技術はエポックメーキングで
会社ごとSunが買い取ってJavaに応用して作られたのがHotSpot VM。Sunの厚意で
オープンソース化後、JavaScriptで使われて作られたのがNode.jsを支えるV8のエンジン。

98 :
>>85
まづは普通に、「作れるんじゃね?」みたいな事言いまくってるよ
つうか自分の言語なんだから「無理かなぁ・・・」なんていわないだろ
たとえ自分がrubyで大規模開発をやらないとしても


99 :
実際のところいまのrubyは名前衝突を判定する手段がないから
フリーライブラリをrequireするなら、その中身を全部知っていないと危険
requireやりまくらないとしても、設計を完璧にして、ゴミカスPGはプロジェクト内から排除した上で
開発しなければならない
ただ、そこら辺の評価をマイナスにしてみてもrubyは現時点では最高の言語
大規模開発も出来る
ほかの言語がどれだけレベルが低いことか

使いこなすには難があるんだよ
たとえばC言語であればループかくって時に
基本的にイテレータなど使わないからfor文しか選択肢はないし、
処理分けをしたいって時なども、大抵はswitch case文でやるしかない
rubyの場合は、クロージャ、ラムダ、メソッド、module特異メソッド、class特異メソッド、case、when、イテレータ
さらに、独自定義のイテレータだの、eval使ってのメタだの
このくらいは選択肢がある
選択肢が多いことはいい事だ
ただしそれは使いこなせればの話
ドカタには無理

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
JavaScriptは消滅すべきだったよな (450)
強いAI(人工知能)ver0.0.1 (963)
【汚物】痛い変数名・関数名【破廉恥】 (739)
Borlandにはやられた... (364)
JavaScriptは消滅すべきだったよな (450)
【Lua】組み込み系言語総合 その5【Squirrel】 (787)
--log9.info------------------
石川ひとみファンクラブ 2 (281)
【ATU】オートアンテナチューナーのスレ 5台目 (247)
●D9D独島と交信した非国民をさらすスレ● (717)
【J無し】中国製特定中電力無線機【Part 3】 (312)
【後続機】IC-R2500【5月下旬】 (566)
【偽善】10mAMをもっとたのしもう!【スパスタ】 (230)
サイレントキー2 (319)
FT1Dを語ろう (934)
【BK】CW総合スレ 5WPM【TU】 (930)
★ ハムフェア2012 パート1 ★ (665)
名機 ICB-707 (342)
【不法】パラフライヤー無線の世界36【違法】 (516)
IC-9100ってどうよ? 【Part2】 (352)
CQ誌ウォッO・第28号◆ (350)
★☆★TS-930・TS-940・TS-950を語ろう!★☆★ (224)
VX-3 その9 (607)
--log55.com------------------
●●● 極真は大脳の機能を低下させる
●●● 極真がバカにされるのは仕方がない 第3章
少林寺拳法の演武を語る その1
☆☆★ 少林寺拳法の剛法を語るスレ 36
少林寺拳法 送り小手、巻き小手
☆★★ 知恵遅れの朝鮮猿の馬鹿晒し!(大爆笑)
☆★★ こんなに馬鹿な朝鮮猿(大爆笑)
大東流合気柔術アンチスレ 2