探検
動的言語で大規模開発
■ このスレッドは過去ログ倉庫に格納されています
1uy
2012/07/24(火) 09:10:42.04 たててみた
2012/07/25(水) 01:25:38.55
Browser Quest を見たパンピーどもの反応
→HTML5 スゲー!!JavaScript スゲー!! マンセーマンセーマンセー!
ソースコードまできちんと読んだ俺の反応
→これを全世界のプログラマにやれというのか(怒怒怒怒怒怒怒怒怒怒怒
今すぐ滅べよ JavaScript(激怒
→HTML5 スゲー!!JavaScript スゲー!! マンセーマンセーマンセー!
ソースコードまできちんと読んだ俺の反応
→これを全世界のプログラマにやれというのか(怒怒怒怒怒怒怒怒怒怒怒
今すぐ滅べよ JavaScript(激怒
19uy
2012/07/25(水) 02:43:50.85 「信頼できるコード」は徐々に増えていく
一見そう思えたが、修正しようとした時に問題が起き始めた。
影響範囲がわからない。
テストコードがあるから、実行すればおかしくなったのはわかるのだが、
それを正しくするには、どこを修正すればいいかがわからない。
時間がかかってしまう。
そしてテストコードは動いたが、今度はこれで本当に問題ないか
不安になってきた。
テストは不具合があることは教えてくれるが、
不具合がないことは教えてくれない。
果たして俺は、完璧なテストを書いているのだろうか?
一見そう思えたが、修正しようとした時に問題が起き始めた。
影響範囲がわからない。
テストコードがあるから、実行すればおかしくなったのはわかるのだが、
それを正しくするには、どこを修正すればいいかがわからない。
時間がかかってしまう。
そしてテストコードは動いたが、今度はこれで本当に問題ないか
不安になってきた。
テストは不具合があることは教えてくれるが、
不具合がないことは教えてくれない。
果たして俺は、完璧なテストを書いているのだろうか?
20uy
2012/07/25(水) 02:55:10.25 コードはインターフェースと実装の2つにわかれるんだよ。
実装の修正ってのはテストが簡単。
インターフェースが変わらないから、
実装は関数の中身を変えればいいだけ。
テストコードを変える必要はない。
だけど、インターフェースの修正ってのは、
関数の外側、呼び出し側を修正する必要があるから
影響範囲が広くなる。そしてテストコードまでも変更する必要がある。
インターフェースの修正に弱いのが
動的型付け言語なわけ。
実装の修正ってのはテストが簡単。
インターフェースが変わらないから、
実装は関数の中身を変えればいいだけ。
テストコードを変える必要はない。
だけど、インターフェースの修正ってのは、
関数の外側、呼び出し側を修正する必要があるから
影響範囲が広くなる。そしてテストコードまでも変更する必要がある。
インターフェースの修正に弱いのが
動的型付け言語なわけ。
21uy
2012/07/25(水) 03:36:50.022012/07/25(水) 03:44:41.83
uy以外の人に聞きたいが
「動的言語で書かれているヘッダ」ってなんのこと?
「動的言語で書かれているヘッダ」ってなんのこと?
2012/07/25(水) 03:45:34.43
1万行って少ないな。
1000行が10ファイルしか無い。
1000行が10ファイルしか無い。
2012/07/25(水) 06:55:17.49
LISPマシンやPrologマシンはどのくらいの規模だった?
2012/07/25(水) 08:11:19.64
2012/07/25(水) 08:13:27.92
で、基本的に「自分以外」がかいたそういうヘッダってのは
「信頼できるコード」に含まれる
世界中で何百万人が使用しているものだから
結局は自分でそのレベルの安定性を持った水準の動的言語コードをかいて
「アルゴリズムライブラリ」とすれば「信頼出来るコード」は増えていく
以上
「信頼できるコード」に含まれる
世界中で何百万人が使用しているものだから
結局は自分でそのレベルの安定性を持った水準の動的言語コードをかいて
「アルゴリズムライブラリ」とすれば「信頼出来るコード」は増えていく
以上
2012/07/25(水) 08:41:50.10
2012/07/25(水) 11:41:35.75
#include<stdio.h>知らないただのバカか
2012/07/25(水) 12:01:51.61
世の中にはヘッダライブラリというのも存在する事も知らないただのバカか
バカは死ね
バカは死ね
2012/07/25(水) 12:02:27.66
動的リンクをしてない言語はライブラリをどのようにして使うかすら知らないバカか
バカは死ね
バカは死ね
2012/07/25(水) 12:03:42.01
初心者とバカは死ね
2012/07/25(水) 12:07:26.36
今時の言語でヘッダをインクルードする言語なんて皆無だろ。
2012/07/25(水) 12:18:05.17
rubyやってると本当に変数あんまり使わなくなってくる
イテレータ内のみにスコープのある局所変数の型については、
100%型情報がいらない場所、型情報があるとイテレータの利点が全く生かせない
俺でも稀に型情報が必要かな?って思うのはグローバル変数や、スコープの広い変数
でもrubyではその気になればスコープの広い変数を消して、ブロック変数のみで書いていける
重要なのは変数情報じゃなくて、
メソッド群の組み合わせによって、どうアルゴリズムを作るか
よくイテレータの戻り値を、とりあえずって感じで
a=[...].map {} といった具合に受け取ることはあるが、これさえも
[...].map {}
.map {
}
と続けてかいてしまえば変数がいらない
まぁ可読性のために、変数に格納するんだけど
変数を宣言して使うしかないっていう状況から、
書かなくてもよい変数を、可読性を上げる為にわざと宣言するという考えに変わっていった
イテレータ内のみにスコープのある局所変数の型については、
100%型情報がいらない場所、型情報があるとイテレータの利点が全く生かせない
俺でも稀に型情報が必要かな?って思うのはグローバル変数や、スコープの広い変数
でもrubyではその気になればスコープの広い変数を消して、ブロック変数のみで書いていける
重要なのは変数情報じゃなくて、
メソッド群の組み合わせによって、どうアルゴリズムを作るか
よくイテレータの戻り値を、とりあえずって感じで
a=[...].map {} といった具合に受け取ることはあるが、これさえも
[...].map {}
.map {
}
と続けてかいてしまえば変数がいらない
まぁ可読性のために、変数に格納するんだけど
変数を宣言して使うしかないっていう状況から、
書かなくてもよい変数を、可読性を上げる為にわざと宣言するという考えに変わっていった
2012/07/25(水) 18:00:32.03
2012/07/25(水) 21:59:50.81
2012/07/25(水) 22:02:16.10
動的言語はインターフェースの変更に弱い。
インターフェースの変更は単体テストで
見つけることが困難になる場合がある。
インターフェースの変更は単体テストで
見つけることが困難になる場合がある。
37uy
2012/07/25(水) 23:41:23.25 バカすぎワロタ
stdio.hでも食ってろ
stdio.hでも食ってろ
2012/07/25(水) 23:46:37.20
stdio.h ・・・C言語(静的型付け言語)のヘッダファイルです。これはライブラリではありません。
39uy
2012/07/26(木) 00:16:15.80 バカすぎワロタ
stdio.hでも食ってろ
stdio.hでも食ってろ
2012/07/26(木) 00:16:45.42
uy以外の人に聞きたいが
「動的言語で書かれているヘッダ」ってなんのこと?
「動的言語で書かれているヘッダ」ってなんのこと?
2012/07/26(木) 00:17:53.75
初心者スレいけよ低脳
42uy
2012/07/26(木) 00:20:16.84 バカすぎワロタ
stdio.hでも食ってろ
stdio.hでも食ってろ
43uy
2012/07/26(木) 00:24:29.43 初心者黙った
そのままstdio.hと添い寝してろ
初心者死ね
そのままstdio.hと添い寝してろ
初心者死ね
44uy
2012/07/26(木) 00:31:36.95初心者死ね
2012/07/26(木) 00:34:22.77
uy以外誰も答えられないってのが
答えになってる。
そう、「動的言語で書かれているヘッダ」なんてものは
存在しない。
答えになってる。
そう、「動的言語で書かれているヘッダ」なんてものは
存在しない。
2012/07/26(木) 08:57:34.99
そもそもヘッダってものがごくごく一部の言語にしかないので。
47uy
2012/07/26(木) 10:04:04.91 あ、言っとくけど誰もマジレスしなくていいからね
長文書かれると鬱陶しい
こいつはこのまま放置していこう
長文書かれると鬱陶しい
こいつはこのまま放置していこう
48uy
2012/07/26(木) 10:10:59.41 動的言語でプログラムを組むときに普通はいくつもの「ヘッダ」を使い
その「ヘッダ」は、大抵は同じ言語、つまり「動的言語でヘッダ」が書かれている
自分で実際に書いたソースコードと、その「ヘッダ」のソースコードを含めて考えれば
ちょっとしたコードだろうとそれなりの規模のコードになっている事は分かる
大規模開発が出来ないというのは、「信頼出来るコード」、「資産」を自分で作っていけないレベルの奴が言っているだったという結論がでてしまった
その「ヘッダ」は、大抵は同じ言語、つまり「動的言語でヘッダ」が書かれている
自分で実際に書いたソースコードと、その「ヘッダ」のソースコードを含めて考えれば
ちょっとしたコードだろうとそれなりの規模のコードになっている事は分かる
大規模開発が出来ないというのは、「信頼出来るコード」、「資産」を自分で作っていけないレベルの奴が言っているだったという結論がでてしまった
49uy
2012/07/26(木) 10:14:59.12 「動的言語で書かれたヘッダ」をひとつも使ったことがないというのは
動的言語でプログラムを書くときに標準や外部ライブラリも含めて何一つ使ったことがないという事・・・
自分でヘッダを描く事も出来ず、
インクルード(あ、言っちゃった)構文さえ知らない
そろそろ謝ったほうがいいんじゃないのか
動的言語でプログラムを書くときに標準や外部ライブラリも含めて何一つ使ったことがないという事・・・
自分でヘッダを描く事も出来ず、
インクルード(あ、言っちゃった)構文さえ知らない
そろそろ謝ったほうがいいんじゃないのか
50uy
2012/07/26(木) 10:31:38.47 初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww
2012/07/26(木) 11:24:08.18
うん、だからもう 2ch なんて捨ててヨソに行ってよ。
ね。
もう十分に恥ずかしい思いをしたでしょ?
ね。
もう十分に恥ずかしい思いをしたでしょ?
2012/07/26(木) 11:58:59.94
import java.util.List;
これをヘッダのインクルードだと理解しているわけか?すごいな
これをヘッダのインクルードだと理解しているわけか?すごいな
53uy
2012/07/26(木) 12:44:30.56 やっぱりjaverか・・・
54uy
2012/07/26(木) 13:09:01.25 俺は勘違いしてたかもな
静的言語よりも自由が高く出来る事の多い動的言語で大規模開発が出来ないはずないわ
慣れは必要
どんどん効率上がってきてるのが分かる
静的言語よりも自由が高く出来る事の多い動的言語で大規模開発が出来ないはずないわ
慣れは必要
どんどん効率上がってきてるのが分かる
2012/07/26(木) 14:42:51.05
50 :uy:2012/07/26(木) 10:31:38.47
初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww
2012/07/26(木) 15:56:44.73
50 :uy:2012/07/26(木) 10:31:38.47
初心者は死すべし
で、こういう初心者を追い詰めて論破していくと
また色んなスレでuyに粘着やら成りすまして書き込んで荒らし始める
何 番 煎 じ だ ?
こんな釣りスレに釣られてレスしにきちゃう分際でどうなんだそれwwwwwwwwww
57uy
2012/07/26(木) 19:29:02.43 >>53
> import java.util.List;
>
> これをヘッダのインクルードだと理解しているわけか?すごいな
Rubyではincludeで読み込むファイルのことを
ヘッダファイルっていうんだよ。
知らないなら、ググって恥をかけ!
> import java.util.List;
>
> これをヘッダのインクルードだと理解しているわけか?すごいな
Rubyではincludeで読み込むファイルのことを
ヘッダファイルっていうんだよ。
知らないなら、ググって恥をかけ!
58uy
2012/07/26(木) 19:30:25.70 > 21 名前:uy[sage] 投稿日:2012/07/25(水) 03:36:50.02
>
> >>17
> 冷静に考えてみ
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
これを読んで疑問になった人は多いと思う。
あえてuy以外の人に聞くが、
「動的言語で書かれているヘッダ」ってなんのこと?
>
> >>17
> 冷静に考えてみ
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
これを読んで疑問になった人は多いと思う。
あえてuy以外の人に聞くが、
「動的言語で書かれているヘッダ」ってなんのこと?
2012/07/26(木) 22:24:58.39
60uy
2012/07/27(金) 01:31:01.18 rubyでincludeワロタ
ruby使えないどころかrubyのソース1個も読んでない知ったかじゃねーか
ruby使えないどころかrubyのソース1個も読んでない知ったかじゃねーか
61uy
2012/07/27(金) 01:41:01.10 結局ヘッダーっていうのは
ファイルの先頭に書かれている情報であって
「ヘッダ」と「ヘッダーファイル(.h)」は別物
requireやimportされているファイルは「ヘッダ」または「ヘッダライブラリ」と呼ぶ
C++/Boostのhppなども「ヘッダライブラリ」に分類される
またそれとは別に動的言語でDLLを使う場合には、C言語と同じようにプロトタイプ宣言の「ヘッダ」を書く事もある
またそれは別に、中規模以上であればファイルの先頭には定数情報やら、クラス、モジュールの空宣言などをやっておく事もあるんで
これらも「ヘッダ」と呼ぶ
分かったか?ゴミ
ファイルの先頭に書かれている情報であって
「ヘッダ」と「ヘッダーファイル(.h)」は別物
requireやimportされているファイルは「ヘッダ」または「ヘッダライブラリ」と呼ぶ
C++/Boostのhppなども「ヘッダライブラリ」に分類される
またそれとは別に動的言語でDLLを使う場合には、C言語と同じようにプロトタイプ宣言の「ヘッダ」を書く事もある
またそれは別に、中規模以上であればファイルの先頭には定数情報やら、クラス、モジュールの空宣言などをやっておく事もあるんで
これらも「ヘッダ」と呼ぶ
分かったか?ゴミ
2012/07/27(金) 03:22:37.53
2012/07/27(金) 05:04:28.09
ッ「ペロバコナーンwwwwwwwwwwwwwwww」
2012/07/27(金) 06:27:14.26
>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
恥の上塗り。
笑いものになることに快感を覚えているのではなかろうか。
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
恥の上塗り。
笑いものになることに快感を覚えているのではなかろうか。
66uy
2012/07/27(金) 08:14:28.8468uy
2012/07/27(金) 19:38:30.34 rubyのincludeは今の話しと違うだろ・・・
るりまサーチをGoogleと勘違いしている頭の悪さ
コイツは救えない
stdio.hでも食ってろカス
るりまサーチをGoogleと勘違いしている頭の悪さ
コイツは救えない
stdio.hでも食ってろカス
69uy
2012/07/28(土) 08:07:31.39 さっさと謝れ
2012/07/28(土) 11:02:45.57
>>68
いやw
include 対象が「ヘッダ」だと書いたページをw
一個でもいいから探して来いよw
>57 の
> Rubyではincludeで読み込むファイルのことを
> ヘッダファイルっていうんだよ。
の話さあw
いやw
include 対象が「ヘッダ」だと書いたページをw
一個でもいいから探して来いよw
>57 の
> Rubyではincludeで読み込むファイルのことを
> ヘッダファイルっていうんだよ。
の話さあw
2012/07/28(土) 12:53:20.49
2012/07/28(土) 15:23:50.83
ファイルの始めに書かかれている、ライセンスや開発者名なんかはヘッダーと言えるような気もする。
73uy
2012/07/28(土) 19:16:03.9074uy
2012/07/28(土) 19:20:53.36 C言語では「.h」のヘッダーでインクルードしてdefineなど定数宣言したり
クラス、構造体の宣言だけを行うこともある
rubyファイルでそれと同じことを行うこともある
動的、静的は関係なく
ヘッダーというのは存在する
動的言語で大規模開発は可能
分かったかゴミ?
さっさと初心者は死ね
クラス、構造体の宣言だけを行うこともある
rubyファイルでそれと同じことを行うこともある
動的、静的は関係なく
ヘッダーというのは存在する
動的言語で大規模開発は可能
分かったかゴミ?
さっさと初心者は死ね
75uy
2012/07/28(土) 19:23:05.622012/07/28(土) 19:24:08.49
初心者死ね
2012/07/28(土) 19:37:11.07
>>73
pgr
pgr
2012/07/28(土) 19:38:43.08
79uy
2012/07/28(土) 19:50:30.14 ドヤ顔で500年以上前に流行っていまはもう使われてないC言語っていうんだっけそれ
そんなもののソース出されても正直困る
歴史に埋もれて市ね
そんなもののソース出されても正直困る
歴史に埋もれて市ね
80uy
2012/07/28(土) 20:01:44.24 テキストファイルの上の部分がヘッダとか
見苦しい言い訳をしているが、
それだと
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
つじつまがあわない。
ヘッダを使うとはどういうことか。
見苦しい言い訳をしているが、
それだと
> その1万行をかくときに
> 「動的言語で書かれているヘッダ」をいくつ使った?
つじつまがあわない。
ヘッダを使うとはどういうことか。
2012/07/28(土) 21:11:15.85
ゴミは死ね
2012/07/29(日) 00:41:12.87
ゴミグラマ死ね
2012/07/29(日) 01:23:55.92
死ねゴミ
2012/07/29(日) 02:26:34.65
ゴミ
2012/07/29(日) 12:16:42.75
Matz はどういうだろうね?
2012/07/29(日) 12:57:02.43
cに対する煽りが半端でつまらんな
もっとくやしく
もっとくやしく
2012/07/29(日) 17:38:17.52
動的言語における大規模開発の適性については、すでに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のような大型機へのアクセス機能などの特徴も備えている。
以下は、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のような大型機へのアクセス機能などの特徴も備えている。
88uy
2012/07/29(日) 18:11:52.22 今は1980年ではない。
それ以降に静的型付け言語が成熟した。
今は動的型付け言語のメリットはない。
それ以降に静的型付け言語が成熟した。
今は動的型付け言語のメリットはない。
2012/07/29(日) 19:03:44.51
Smalltalkは当時からすでに下手な静的型言語より手厚いIDEのサポートがデフォだから
動的言語の適性を示す例としては反則だろう。
動的言語の適性を示す例としては反則だろう。
90uy
2012/07/29(日) 19:04:48.12 Smalltalkって今どうなったんだ?
2012/07/29(日) 20:19:48.62
本家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/
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/
2012/07/29(日) 20:49:29.32
変わり種と言えば、処理系まるごとOODBシステムと化したGemStone/Sというのもある。
http://www.gemstone.com/products/gemstone
MaglevというSmalltalkベースの高速なRuby実装にはこの処理系が使われている。
http://maglev.github.com/
http://www.gemstone.com/products/gemstone
MaglevというSmalltalkベースの高速なRuby実装にはこの処理系が使われている。
http://maglev.github.com/
2012/07/29(日) 21:01:18.67
94uy
2012/07/29(日) 21:08:13.04 Smalltalkってウェブ関連では使われてないな。
2012/07/29(日) 21:22:37.41
OO機構が組み込まれているコンパイル志向の言語で、型の弱い言語ってあるかい?
2012/07/29(日) 21:30:00.55
>>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/
あまりね。
でも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/
2012/07/29(日) 21:58:33.83
>>93
> コンパイル時に強い型付けもしてるからな。
> 静的型付けもうまく組み合わせて使える。
ん? ちょっとイメージできない。具体的にはどういうこと?
関係あるか分からないけど、SmalltalkにもObjective-Cみたいにオプショナルな
型チェック機構を持ったStrongtalkという処理系がある(あった)。これも変わり種だね。
http://www.strongtalk.org/
余談だけど型チェック機構とは別に、こいつのVM高速化技術はエポックメーキングで
会社ごとSunが買い取ってJavaに応用して作られたのがHotSpot VM。Sunの厚意で
オープンソース化後、JavaScriptで使われて作られたのがNode.jsを支えるV8のエンジン。
> コンパイル時に強い型付けもしてるからな。
> 静的型付けもうまく組み合わせて使える。
ん? ちょっとイメージできない。具体的にはどういうこと?
関係あるか分からないけど、SmalltalkにもObjective-Cみたいにオプショナルな
型チェック機構を持ったStrongtalkという処理系がある(あった)。これも変わり種だね。
http://www.strongtalk.org/
余談だけど型チェック機構とは別に、こいつのVM高速化技術はエポックメーキングで
会社ごとSunが買い取ってJavaに応用して作られたのがHotSpot VM。Sunの厚意で
オープンソース化後、JavaScriptで使われて作られたのがNode.jsを支えるV8のエンジン。
98uy
2012/07/29(日) 23:19:47.1799uy
2012/07/29(日) 23:31:19.65 実際のところいまのrubyは名前衝突を判定する手段がないから
フリーライブラリをrequireするなら、その中身を全部知っていないと危険
requireやりまくらないとしても、設計を完璧にして、ゴミカスPGはプロジェクト内から排除した上で
開発しなければならない
ただ、そこら辺の評価をマイナスにしてみてもrubyは現時点では最高の言語
大規模開発も出来る
ほかの言語がどれだけレベルが低いことか
使いこなすには難があるんだよ
たとえばC言語であればループかくって時に
基本的にイテレータなど使わないからfor文しか選択肢はないし、
処理分けをしたいって時なども、大抵はswitch case文でやるしかない
rubyの場合は、クロージャ、ラムダ、メソッド、module特異メソッド、class特異メソッド、case、when、イテレータ
さらに、独自定義のイテレータだの、eval使ってのメタだの
このくらいは選択肢がある
選択肢が多いことはいい事だ
ただしそれは使いこなせればの話
ドカタには無理
フリーライブラリをrequireするなら、その中身を全部知っていないと危険
requireやりまくらないとしても、設計を完璧にして、ゴミカスPGはプロジェクト内から排除した上で
開発しなければならない
ただ、そこら辺の評価をマイナスにしてみてもrubyは現時点では最高の言語
大規模開発も出来る
ほかの言語がどれだけレベルが低いことか
使いこなすには難があるんだよ
たとえばC言語であればループかくって時に
基本的にイテレータなど使わないからfor文しか選択肢はないし、
処理分けをしたいって時なども、大抵はswitch case文でやるしかない
rubyの場合は、クロージャ、ラムダ、メソッド、module特異メソッド、class特異メソッド、case、when、イテレータ
さらに、独自定義のイテレータだの、eval使ってのメタだの
このくらいは選択肢がある
選択肢が多いことはいい事だ
ただしそれは使いこなせればの話
ドカタには無理
100uy
2012/07/29(日) 23:33:18.42 ruby言語以外にもrubyと同じ機能はあったりするが、
結局それをいうならC++が最強
でも結局、言語の機能が整理されて使いやすくなってなければ
機能があってもないのと同じ
つ か え な い ん だ よ
そこにあってもな
rubyの場合は、言語の機能をひとつ残らず 使 え る よ う に 設計されてる
そこのあたり、「とりあえず実装してみた。」みたいなノリの言語とは違うと思う
情報の整理がちゃんとされてるrubyが最強
結局それをいうならC++が最強
でも結局、言語の機能が整理されて使いやすくなってなければ
機能があってもないのと同じ
つ か え な い ん だ よ
そこにあってもな
rubyの場合は、言語の機能をひとつ残らず 使 え る よ う に 設計されてる
そこのあたり、「とりあえず実装してみた。」みたいなノリの言語とは違うと思う
情報の整理がちゃんとされてるrubyが最強
101デフォルトの名無しさん
2012/07/29(日) 23:37:48.53 Rubyはせいぜい10万行が限界。
50万行越えのコードは組めたとしてもメンテなんかぜったい無理。
だいたいコード以前に20万行のテキストすらまともに扱えないんだから。
50万行越えのコードは組めたとしてもメンテなんかぜったい無理。
だいたいコード以前に20万行のテキストすらまともに扱えないんだから。
102uy
2012/07/29(日) 23:55:49.89 まともな設計するなら数万行単位で、なんらかの敷居を作れよバカ
なんで1個のプロジェクトに数十万行とか詰め込みたがるわけ、バカなの死ぬの
ちなみにまともにrubyでかいてればJAVAの5分1やら10分1程度のソースコード量になってもおかしくないわけで
rubyで10万行っていうとJAVAで50〜100万行の規模と考えていいよ
なんで1個のプロジェクトに数十万行とか詰め込みたがるわけ、バカなの死ぬの
ちなみにまともにrubyでかいてればJAVAの5分1やら10分1程度のソースコード量になってもおかしくないわけで
rubyで10万行っていうとJAVAで50〜100万行の規模と考えていいよ
103uy
2012/07/29(日) 23:59:56.90 そもそも10万行超えたらダメになるような設計しかかけない分際でレスされても困るよなぁ・・・
失敗談でも語っていくか?
君はどこで躓いちゃったの?
どこで間違えたの?
初心者は死ね
失敗談でも語っていくか?
君はどこで躓いちゃったの?
どこで間違えたの?
初心者は死ね
104デフォルトの名無しさん
2012/07/30(月) 00:06:53.12 rails10万行程度ですでにカオス状態の食べログェ…
http://d.hatena.ne.jp/kanz-labs/20110811/1313079667
http://d.hatena.ne.jp/kanz-labs/20110811/1313079667
105デフォルトの名無しさん
2012/07/30(月) 01:03:40.99 じゃあ俺は20万行かくよ
そもそも大規模になったからって管理できませーんなんて白旗あげちゃう奴は
何の言語触ったってダメじゃねえの????
他人が綺麗に設計した大規設計の上でドカタコードしか書かない奴には、ちょっと関係の話だったりする
そもそも大規模になったからって管理できませーんなんて白旗あげちゃう奴は
何の言語触ったってダメじゃねえの????
他人が綺麗に設計した大規設計の上でドカタコードしか書かない奴には、ちょっと関係の話だったりする
106デフォルトの名無しさん
2012/07/30(月) 01:04:37.66 >ちょっと関係の話だったりする
関係のない話
関係のない話
107デフォルトの名無しさん
2012/07/30(月) 01:12:40.95 よく知ってるRailsアプリが10万行クラスで破綻と聞いて、ずいぶんトーンダウンしたな。
108uy
2012/07/30(月) 01:53:22.77 動的言語で10万行ってさ
一体そんなに何かいてんの?
動的言語だぞ?
動的言語なのにJAVAと同じようにそっくりそのまま書いてるのかなって疑ってしまう
一体そんなに何かいてんの?
動的言語だぞ?
動的言語なのにJAVAと同じようにそっくりそのまま書いてるのかなって疑ってしまう
109uy
2012/07/30(月) 02:03:23.80 コードの大半はテストだろう。
動的言語だと、テストの量が
静的言語の数倍に膨れ上がる。
Rubyでテストをまともに書いている所は、
テストの量が膨れ上がるから
修正があった際のテストの修正で苦しんでるはずだよ。
動的言語だと、テストの量が
静的言語の数倍に膨れ上がる。
Rubyでテストをまともに書いている所は、
テストの量が膨れ上がるから
修正があった際のテストの修正で苦しんでるはずだよ。
110uy ◆DU14dte9SY
2012/07/30(月) 03:09:22.88 I am a hikikomori ,
So ,i have not participated in organization of the system.
my written message is all on my dream.
So ,i have not participated in organization of the system.
my written message is all on my dream.
111uy
2012/07/30(月) 05:10:48.69 つうかrubyのメンバ変数の@ってマジでどうにもならないのかな
俺様はOOではないのでそんな問題からは既に解放されているが、
ruby布教の観点から見ると、初心者が使えなければ意味がなく
OOでソース書くなら@つき変数は避けられない
rubyを使う奴が、JAVAと同じように書いていくなら、
@がうっとうしいという理由だけで使われない気がする
先日メンバ変数と、メンバ変数同士の演算が多く必要になってしまう処理を
ほんの気まぐれでクラスで書いたら
ちゃんと最低限のコードで書いているにもかかわらず
マジでひどい見た目になった、これは無理
俺様はOOではないのでそんな問題からは既に解放されているが、
ruby布教の観点から見ると、初心者が使えなければ意味がなく
OOでソース書くなら@つき変数は避けられない
rubyを使う奴が、JAVAと同じように書いていくなら、
@がうっとうしいという理由だけで使われない気がする
先日メンバ変数と、メンバ変数同士の演算が多く必要になってしまう処理を
ほんの気まぐれでクラスで書いたら
ちゃんと最低限のコードで書いているにもかかわらず
マジでひどい見た目になった、これは無理
112uy
2012/07/30(月) 06:15:27.56 いま今後言語を乗り換えることはないと覚悟してソースかいてる
ルビーはまだ粗はあるけどルビーの今後の成長に期待した
俺様の人生効率も左右されかねないのでルビーは頑張ってほしい
規模は現在一万行程度だけど年単位でやるので勝手に大規模なものになってるだろうよ
大規模開発はできる
ルビーはまだ粗はあるけどルビーの今後の成長に期待した
俺様の人生効率も左右されかねないのでルビーは頑張ってほしい
規模は現在一万行程度だけど年単位でやるので勝手に大規模なものになってるだろうよ
大規模開発はできる
113デフォルトの名無しさん
2012/07/30(月) 09:29:16.89 プロジェクトよりテストのコードのほうがでかくなる
本体120mbテスト600mbみたいな
本体120mbテスト600mbみたいな
114デフォルトの名無しさん
2012/07/30(月) 12:30:38.93 >>98
ruby の include の対象を、ヘッダと呼ぶことについて、Matz がどう言うだろうね、って話。
動的言語で大規模開発なんて、言語だけを問題にするなら、問題ないに決まってるだろ。
問題が出るのは、実際には優秀な人数を十分に確保できないからで、一山いくらの兵隊に作業させるなら静的の方がまだマシ、というに過ぎない。
XP のプラクティスの多くは Smalltalk の実践から生まれたわけだし、当然 ruby でも同様に有効だ。
ruby の include の対象を、ヘッダと呼ぶことについて、Matz がどう言うだろうね、って話。
動的言語で大規模開発なんて、言語だけを問題にするなら、問題ないに決まってるだろ。
問題が出るのは、実際には優秀な人数を十分に確保できないからで、一山いくらの兵隊に作業させるなら静的の方がまだマシ、というに過ぎない。
XP のプラクティスの多くは Smalltalk の実践から生まれたわけだし、当然 ruby でも同様に有効だ。
115uy
2012/07/30(月) 12:47:33.25 じゃあやってみろ
116デフォルトの名無しさん
2012/07/30(月) 12:58:18.64117デフォルトの名無しさん
2012/07/30(月) 14:08:36.23 誰だかわかんねー個人ブログ引っ張ってくる奴もゴミ
そんなブログにマジレスする奴もゴミ
そんなブログにマジレスする奴もゴミ
118デフォルトの名無しさん
2012/07/30(月) 18:03:04.44■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【実況】博衣こよりのえちえちダンガンロンパ6🧪
- マイナンバー更新、申請書が届くまでに一ヶ月。そして受付予約枠は2ヶ月先まで埋まってる...どうなってんだこの国 [237216734]
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 最近救急車やたら多いけどあれって本当に人を運んでるの?
- 実写映画「ストリートファイター」のキャラアートが公開。何か知らん人がいる…… [624898991]
- 🏡パン🍞つー✌まる👌見え👊😅👊
