1 :デフォルトの名無しさん2011/11/09(水) 19:01:54.58
まあいろんなところで証明済みなんだが、
反論したいなら語れや。


やっぱり動的型付け言語では安全なソフトは作れない 2
http://hibari.2ch.net/test/read.cgi/tech/1319212872/
2 :デフォルトの名無しさん2011/11/09(水) 19:02:50.31
転載

987 名前:979[sage] 投稿日:2011/11/09(水) 11:14:08.03
>>981
>えと、それなりの人数で開発していれば、普通にある話だよね?

ンっ、>>981の世界ではそれが普通なの?

少なくとも自分が過去に関わったプロジェクトでは、
(言語とは無関係に)コンポーネントの公開インターフェイスや
共通で使用される(=内部ライブラリである)モジュール/クラスは、
あらかじめ(暫定案でもいいから)固めて文書化しておくのが普通(常識)

そうしないとコンポーネントごと複数人数で分担する、あるいは
複数の会社で開発を分担して最終的に統合してプロダクトとするような
規模のプロジェクトでは、仕様変更に伴う大混乱が「間違いなく」発生する

それとも最近のIDEというのは、この辺りの仕様変更まで自動的に追従してくれるのかな?
3 :デフォルトの名無しさん2011/11/09(水) 19:13:17.56
>>987
完全なウォータフロー型の開発だね。

インターフェースならまだしも、プライベートな関数や
プライベートなクラスまで最初にきっちり決めてしまうってことが可能で、
そのあとは変わらないのが原則。そしてドキュメントを作るってならそれでいいよ。

だけどそれがアジャイルのやり方ではないってのは分かるね?
うちはアジャイルでやってるので、そういう最初にきちっと決めるやり方は合わない。
アジャイルは各イテレーションで仕様変更が入るもの。


> それとも最近のIDEというのは、この辺りの仕様変更まで自動的に追従してくれるのかな?
自動的に追従してくれるのは、リファクタリングブラウザで出来る範囲まで。
引数の入れ替えとか名前の変更とか長いコードを関数に追い出したり、
逆に関数をインライン化したり、クラスをまたがったメソッドの移動とか
ようするに機能的な仕様変更ではなく、アプリの動作を変えないコード上の仕様変更のうち
機械的に処理できるものだけ。

それでも十分便利だけど。たいてい機能的なの仕様変更には、
コード上の仕様変更が多かれ少なかれ含まれるものだからね。
8 :デフォルトの名無しさん2011/11/09(水) 19:32:51.00
>>3
>完全なウォータフロー型の開発だね。

いや、スパイラル型だ(ウォーターフォールとアジャイルの中間)
ウォーターフォールはもはや現状に追従できないし、
アジャイルは個人の力量に依存しすぎという判断

固めて文書化しておくのは公開インターフェイスまで
具体的にはコンポーネントの外部入出力と内部ライブラリの仕様
内部の詳細(プライベートなクラス/モジュール)はインプリメンタに自由に任せ、
コードレビューで品質を判断する

この公開インターフェイスを事前に設計するのが技術リーダの仕事で、
その設計品質がプロジェクト全体の品質確保に強く影響を与える
4 :32011/11/09(水) 19:15:31.44
ちなみに、アジャイルであっても、外部の会社との連携がある部分は
きっちりとインターフェース決めるよ。

だが、自分の会社で開発をするのであれば、
自分の会社の中で自由に決められる部分はあるだろ。
(ようするにプライベートなコードだ)

>>987の会社はそんなのが一切ない開発なのか?
5 :デフォルトの名無しさん2011/11/09(水) 19:20:09.04
> 998 名前:デフォルトの名無しさん[sage] 投稿日:2011/11/09(水) 17:29:33.14
> そんなに全てを静的に決めたいならsubtype polymorphismも含めて
> 全ての多相性を禁止にしろよ
> どのメソッドが呼ばれるか静的に決まるぞ

お前は、ずれてるw
すべてを静的に決めたいなんて誰も言っていない。

動的型付けを否定しているのであって、
動的を否定しているのではない。

「ポリモーフィズムを使うJavaは静的型付け言語です」

これを理解してから話してくれ。
10 :デフォルトの名無しさん2011/11/09(水) 20:26:53.34
>>5
前スレの>>995に言ったんだよ
お前が言ったかどうかなんて知るかよ

例えば、完全にsubtype polymorphismを禁止すれば、メソッドを補完するときに
メソッドの中身すらIDEで表示することが可能になる
つまり、よりIDEが出来る範囲は増える
そのかわりに言語の表現能力は落ちるがな

つまり何事もバランスなんだよ。何でもIDEで出来りゃ良いってわけじゃない
個人的には、Javaの言語仕様はIDEでやってほしい事にマッチしてるとは思う
6 :デフォルトの名無しさん2011/11/09(水) 19:26:38.20
なお、IDEを知らない人は、間違った想像をしてそうだから補足しておこう。

ポリモーフィズムを使ったら、どの関数が呼ばれるかわからないから
コード補完ができない。

たぶん、こう考えてるでしょう?


違う。ポリモーフィズムを使ってもコード補完は出来る。
まずインターフェースは同じだから、どんなメソッドがあるかは分かる。

どんなメソッドもがあるかはわかっても、実際に呼び出されるコードはどれかわからない。
たしかにそうだ。だがその場合、候補が出る。
インターフェースを実装しているクラスの候補が出る。
これもコード補完だ。候補すらわからない動的型付け言語より何倍も良い。

そして、インターフェースを変えると、その内容に応じて自動〜半自動で
実装クラスの修正が行える。これも静的型付け言語ならではのIDE機能だ。
20 :デフォルトの名無しさん2011/11/10(木) 06:05:58.99
>>6
動的型付けでもメソッド名補完できるし
メソッド実装しているクラスを探して修正できる。

っていうか君がドヤ顔で語ったその機能、
動的型付け言語のIDEが発祥なんだけどw
7 :デフォルトの名無しさん2011/11/09(水) 19:28:56.42
ウォーターフォールでの開発でも
ある程度自由にできるところはあるでしょ?

何もかもきっちりと決まっていて開発はそれに従うだけ。
そんなドカタみたいな堅苦しい開発はやりたくないな。
9 :デフォルトの名無しさん2011/11/09(水) 20:24:14.41
IDE信仰者はREPLを余り知らない。逆に、REPL信仰者はIDEを余り知らない。
13 :デフォルトの名無しさん2011/11/10(木) 01:18:26.20
>>9
んなこたーない
15 :デフォルトの名無しさん2011/11/10(木) 01:48:02.45
>>13
だったらいいんだけど。ここを読んでてpythonでipythonやrubyでirbを一
度触ってみればいいのにな。と思うことはある。Rでもいいな。vimや
textmate,emacs使いが絶滅しない理由も分かりそうなのに。
11 :デフォルトの名無しさん2011/11/09(水) 20:54:40.89
14 :デフォルトの名無しさん2011/11/10(木) 01:25:39.66
>>11
今時VBAとかねーよw
501 :デフォルトの名無しさん2011/11/13(日) 09:49:11.19
すでに>>11でJavaはVBA以下と結論が出てるのに
Java vs. Smalltalk で盛り上がるとか
504 :デフォルトの名無しさん2011/11/13(日) 11:47:43.40
>>501
だれも>>11なんてふーんぐらいとしか思ってないからw
505 :デフォルトの名無しさん2011/11/13(日) 11:59:25.47
>>504
ふーんで 284もブックマークがついて、原著がacmに載せられるんだ。
面白い解釈だと思う。:-)
510 :デフォルトの名無しさん2011/11/13(日) 14:07:15.47
>>504
Javaが最低なことくらい、わざわざ言われなくても誰でも知ってるもんなw
12 :デフォルトの名無しさん2011/11/10(木) 00:34:14.66
分かれればいいだけ
言語仕様の進化を止めて開発ツールIDEの進化を模索するか
さらなる言語仕様の進化を望むか

俺はこれ以上言語仕様を拡張したところでc++のようなカオス言語が増えるだけ
そう確信したから開発ツールの進化の道を選ぶべきと主張しました
REPLが何なのか知らないけど開発ツールだろ、動的静的関係ない
17 :デフォルトの名無しさん2011/11/10(木) 02:45:49.15
>>12
ここで言う「大規模」の数値は共通認識有るんだっけ?
それなしじゃ議論にすらならないよな。
16 :デフォルトの名無しさん2011/11/10(木) 01:59:28.62
プロトタイピングに便利なのはもちろんわかるが、
大規模なシステム開発で、そういったインタラクティブな
スクリプティング環境で仕事をするというイメージがわかない。

個人的には、そういう環境がよく適合するのはプログラマよりも
大学の研究者や学生という印象なのだが。
18 :デフォルトの名無しさん2011/11/10(木) 02:47:38.22
「大規模」=自分が書いてない(読んでもいない)コードのほうが多い。
21 :デフォルトの名無しさん2011/11/10(木) 09:00:49.13
動的言語のIDEのメソッド補完は、静的言語に比べて遙かにプア。それは動的言語の性格上、当たり前。
24 :デフォルトの名無しさん2011/11/10(木) 10:54:21.90
>>21
インターフェース型のメソッド補完と大して変わらんよ。
動的型付けといっても実装されるメソッドの組み合わせにはパターンがあるから。
25 :デフォルトの名無しさん2011/11/10(木) 11:07:15.91
>>24
確かに。
言語仕様、ライブラリの範囲では動的・静的に依らず、組込み可能だな。

困るのはJSONとかMaybeみたいに、型を固定化したくない場合だろうけど、スレ違いなんでやめておく。

あと「動的言語では補完が難しい」論の引き合いによく出されるRubyは便利だが、言語仕様が無いwって揶揄される位だからあまり参考にはならないだろうな。
22 :デフォルトの名無しさん2011/11/10(木) 09:15:36.54
動的で既存してよく使われているIDEを利用するメリットって
あまりないからね。むしろ、動的言語の良さを殺してるような
印象を持ってる。やはり静的専用のものなんだと思うよ。
23 :デフォルトの名無しさん2011/11/10(木) 10:50:10.50
IDEでの補完は、コード中の文脈の中で型が固定的な部分についての支援機能だからな。特定は困るんで使い分け例だけ書くと、固定的な型の集合を事前に決めて解決できる問題領域については、型からの補完を活用すれば良い。

一方、金融とか大規模シミュレーションのように刻々と変わるデータでアルゴリズムを自動調整(より正確にはある種のカタログとの照合)する、とかの問題領域だと、事前に型構成を決めてしまうこと自体が無意味。

世間のビジネスの9割は単純な事務処理の集合だから、静的型ベースでも問題ない。
26 :デフォルトの名無しさん2011/11/10(木) 11:56:20.35
動的型付けでまともに補完が使えるIDEってどれよ?
29 :デフォルトの名無しさん2011/11/10(木) 12:52:09.61
>>26
無いと言っていんじゃね

NetBeans とかはかなり頑張ってる部類だが、
それでも「使える」って言えるレベルではない
27 :デフォルトの名無しさん2011/11/10(木) 12:14:06.87
PyScripterのコード補完は中々レベルが高かった(もちろん静的型言語に比べると……だけど)

まあ、動的型言語のIDEのクオリティが上がって来てるのは事実だよ
http://pytools.codeplex.com/
(ちゃんとREPLウィンドウがあるのが評価高い)
28 :デフォルトの名無しさん2011/11/10(木) 12:37:34.46
ま、俺は色々試しても結局 vim + screen + REPL に戻って来ちゃうんだけどな
31 :デフォルトの名無しさん2011/11/10(木) 15:45:33.69
かなり頑張っても残念な程度のIDEが現実なのに
なんで動的厨は

その機能は動的型付け言語のIDEが発祥なんだぞ(ゝω・)vキャピ

とか言っちゃうんだろう
32 :デフォルトの名無しさん2011/11/10(木) 16:35:50.09
>>31
すべてを理解してから大きい口は聞くもんだな。知らないことがありありと
わかる
33 :デフォルトの名無しさん2011/11/10(木) 16:45:18.55
>>32
つ 隔離
型からの補完が少ないくらいで破綻する大規模開発wって楽しむスレだから。
34 :デフォルトの名無しさん2011/11/10(木) 16:46:24.93
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState # クラス名
supportsDataDefinitionAndDataManipulationTransactions # メソッド名

補完無しではやってられませんよね
38 :デフォルトの名無しさん2011/11/10(木) 17:23:05.93
>>34
スマンが、この言語は何?で、どんなフレームワーク(?)の一部なのか教えてくれ

Rubyでもこれくらいの長さの名前空間を使う事はあるけど、
Rubyならクラス名はモジュールで名前空間を分離できるから
以下のようになるから補完の必要性は少ない

InternalFrame::TitlePane::MaximizeButtonWindow::NotFocusedState # クラス名

メソッド名については短縮できないけど、
これは1個のメソッドに多機能を詰め込みすぎた設計の失敗例に見える

supports_data_definition_and_data_manipulation_transactions # メソッド名

結局、言語設計の欠陥とメソッド設計の失敗という負債を、
補完という形でプログラマが背負わされているだけじゃね?
40 :デフォルトの名無しさん2011/11/10(木) 17:31:03.66
>>38
Java
上がswing、下がJDBC
42 :デフォルトの名無しさん2011/11/10(木) 17:50:30.26
>>40
ありがと!!
35 :デフォルトの名無しさん2011/11/10(木) 16:57:32.25
静的厨かどうかの判別は簡単なんだけどな。
質問の一部は、ソースの内部表現にPrintableCharacterを使わない場合の積極的な理由は?と言うもの。
これで調べるやつは軽症。
36 :デフォルトの名無しさん2011/11/10(木) 17:18:27.46
IDEや開発ツールや言語を自分で作るという考えがないから
他人に困難な仕事を押し付けるんだろう
全部自分で実装するつもりで考えれば型を省略してひゃっはーという
アホな言語開発者はいなくなる
誰かが思慮浅い要求をする、自分の担当する部分には影響があまりないから取り込む
IDEや開発ツール担当が死ぬほど負担を押し付けられる
成果は言語仕様に奪われ、IDEやツールはできて当然と罵られる
発言力の強い連中が好き勝手やって楽に成果を得ている裏で
発言力の弱い連中に負荷がかかって死にそうになってるのが見える

みんな勝手なんだよ、俺のやってることはとてもすばらしい天才的な役割で
俺以外の連中がやってることはとてもくだらないバカでもできる役割だ
やったこともないくせにこう決め付けて、こう結論付ける
俺は天才なんだ俺以外は馬鹿なんだ
俺と同じようなことをしてる奴も俺の次に天才なんだ
九割の人間はこんな思想を振り回してる
39 :デフォルトの名無しさん2011/11/10(木) 17:25:20.03
>>36
自己紹介乙、次からは3行でまとめてくれ
37 :デフォルトの名無しさん2011/11/10(木) 17:22:02.97
動的型付けで大規模開発やってる奴なんていないから
効率以前の問題
43 :デフォルトの名無しさん2011/11/10(木) 18:09:57.52
>>37
知らないって幸せだね
41 :デフォルトの名無しさん2011/11/10(木) 17:34:49.90
動的厨は大規模開発なんてしたことないくせに
口だけはでかい
44 :デフォルトの名無しさん2011/11/10(木) 18:16:12.44
ちょっと気になったんだが、IDE自体が動的技術のかたまりだって事知らないまま会話してるひと居る?
単なる切り貼りエディタじゃないんだから、キーを押す度に静的コンパイラが走ってるなんて考えて無いよな?
47 :デフォルトの名無しさん2011/11/10(木) 18:23:04.07
>>44
動的脳ってここまで酷いのか
49 :デフォルトの名無しさん2011/11/10(木) 18:27:56.95
>>47
動的技術使ってないIDEの事をkwsk
55 :デフォルトの名無しさん2011/11/10(木) 18:48:47.76
>>44
静的型付け用IDEで本当に動的なサポートってあんまりない。
キータイプごとに反映されるのはソースの色付けぐらいなもので、
ファイルをまたいだ整合性チェックとかは定期更新待つか更新ボタン押さないと
再チェックされないとか、そんなポンコツなのが多いよ。
57 :デフォルトの名無しさん2011/11/10(木) 18:55:57.98
>>55
名前でカタログするか、型でやるかの設計の違いもあるから、静的型向けのIDEセットにそこまで望むのは可哀想な気もする。

単純な事務処理ベースのブロジェクトの場合は特に、IDE以外の問題が大きいしな。
45 :デフォルトの名無しさん2011/11/10(木) 18:22:32.05
このスレってどれくらいの規模からが大規模なの?
50 :デフォルトの名無しさん2011/11/10(木) 18:28:14.82
>>45
FedEx程度の国際物流ネットワークのシステムや
アメリカの金融系のシステム程度じゃ
大規模とは言えないらしいぞw
51 :デフォルトの名無しさん2011/11/10(木) 18:31:31.97
>>45
具体的な数字は誰も出してないようだ。
俺は10の6乗ステップ以上が目安だと思うが。
54 :デフォルトの名無しさん2011/11/10(木) 18:45:21.22
>>45
linuxのカーネル*程度*と思ってて、あれがIDEで開発されていると思ってる
スレ
60 :デフォルトの名無しさん2011/11/10(木) 20:28:02.91
>>50
金融系と言っても、勘定形と情報系じゃ規模もMC性も全然違うしな…。
46 :デフォルトの名無しさん2011/11/10(木) 18:22:48.56
スレを終わらせるなとあれほどw
48 :デフォルトの名無しさん2011/11/10(木) 18:23:45.83
>>46は44に
53 :デフォルトの名無しさん2011/11/10(木) 18:44:15.13
動的型だと短く書けちゃうから行数単価のプロジェクトで稼げない
静的型なら同じ案件でも効率良く大規模に膨らませられる、って意味なんじゃねーの?
56 :デフォルトの名無しさん2011/11/10(木) 18:49:02.14
>>53
最適化後のASTノード数での比較なら少しはマシかもしれん。
59 :デフォルトの名無しさん2011/11/10(木) 19:59:51.14
>>56
じゃば
int sum = 0;
for (int i = 0; i < array.length; i++) sum = sum + array[i];

または今時なら
int sum = 0;
for (int each : array) sum = sum + each;


大抵の動的型言語
sum = sum(array)

ASTサイズでも比較無理っすorz
61 :デフォルトの名無しさん2011/11/10(木) 21:07:14.38
REPLで aproposがある言語だったらREPLと連携させれば補完は難しくない
と思うよ。でも、ネーム空間の関係もあって、補完は大切な機能の一つでも
Javaのような じゅげむじゅげむほにゃららあほんだらくそったれ
と続くような馬鹿げた仕様にはなってないから、Java使いほど重要視してな
いかも。ある意味仕様の欠陥を埋めてるのがIDEなんだろうし。
63 :デフォルトの名無しさん2011/11/10(木) 21:21:10.46
特定の言語に入れあげてることがあったりすると、その言語で優れている
機能でや関連するもので鼻高々というのは言語スレを見たら時々見かける
けど、その機能が他の言語でほとんど無意味だったり、他の機能で問題なく
代用されてるってよくあることなんだよね。基準として持ってるのはいいけど
それがどんなものでも必要ですごい重要な機能なのかは、慎重に考えたほうがいいよ。
64 :デフォルトの名無しさん2011/11/10(木) 21:54:11.50

いいから

動的言語でまともなIDEの名前を

最高のもの一つでいいから言ってみ。
83 :デフォルトの名無しさん2011/11/10(木) 22:37:31.89
>>64
最高かは分からないけれど、いいなと思ったのは Dolphin Smalltalk X6 かな。
http://www.object-arts.com/

Win 専用なのと、UI ビルダが期待より貧弱なのが難点だけど、補完とかのコーディングサポートの方面は
しっかり作り込んである。もちろん Smalltalk 処理系全般の特徴である OODB みたいなものの中に
処理系自体が組まれていて、エンティティがすべて第一級オブジェクトとして扱えるとか、
それによって強力なメタプログラミングやイントロスペクションが可能であるとかはデフォとして。

XEROX 純正 Smalltalk-80 の直系の子孫にあたる VisualWorks と Squeak については
言語としてはともかく、IDE としては作り込みがいちいちゆるい感じ。
88 :デフォルトの名無しさん2011/11/10(木) 22:41:09.05
>>83
誰も静的型言語のIDEより良いとは言ってないんだな。これがw
66 :デフォルトの名無しさん2011/11/10(木) 22:02:45.89
smalltalkは言語名だ。
具体的なバージョンまで含めて言え。

使ったことなくて噂だけを信じてるようにしか見えんぞ。
68 :デフォルトの名無しさん2011/11/10(木) 22:14:12.94
>>66
言語でもあり、(仮想)OSでもあり、開発環境でもあるんだよ
Squeakなんて、まさにそう
VisualWorksは仮想OSってよりはjavaと同じVMって感じだが
71 :デフォルトの名無しさん2011/11/10(木) 22:26:23.65
>>68
IDEでも開発環境でもなんでもいいから、
具体的にバージョンを言えって。
86 :デフォルトの名無しさん2011/11/10(木) 22:39:31.76
>>71
バージョンって…
誕生当初より言語でOSで開発環境ってスタンスは変わってないから、どれでも良いとしか…
自分が使ってた頃はsqueak 3.4とかだったけな
今はどこまでバージョン上がってるか知らん
勝手にググってくれ
89 :デフォルトの名無しさん2011/11/10(木) 22:41:29.94
>>86
だから今話しているのは、IDEの機能の話なんだから
具体的なバージョンを言わないと、わかり用がないだろ。

どうせ使ってないんだろうなって思ったとおりの答えのようだな。
67 :デフォルトの名無しさん2011/11/10(木) 22:07:39.47
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?PostIntelliJ

マーチン・ファウラー

2000年の後半、私はツールに注目していた――特にJavaのリファクタリング ツールにだ。 その頃、
まともなJavaリファクタリング ツールは存在しなかった。 Smalltalk Refactoring Browserによって実証されてはいたが、
私はRefactoring Rubiconを超える者を待っていた。 それは(現在JetBrainsと呼ばれる会社の)IntelliJ IDEAを最初に触ったときに表れた。

そのリファクタリング機能には感動した――Javaにおける最初のリファクタリング ツールであった。
しかし、私が注目したのはそれ以外の機能だった。 このツールの機能のエッセンスは、編集時にメモリ内に解析ツリーを作成することだった――
この解析ツリーを使ってユーザーを支援する。

この時、静的型はコンパイラによって警告されるものではなく、 エディタが正しい型のメソッドを補完してくれるものとなった。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

IntelliJの最大の支持は、ThoughtWorksの開発者から出てきた。 ThoughtWorksでは、誰かがプロジェクトで使う標準IDEを提案すると、 暴動をおさえるための催眠ガスが必要だった。
JBuilder信者、textpad信者、slickedit信者がいたからだ――頼むからemacs信者は刺激させないでくれ。

しかし、6ヶ月以内に、ほぼすべての人間がIntelliJを使うようになった。 自発的に使っている者もいれば、一生懸命使おうとしている者もいた。
Simon Harrisも諦めて使うようになった。

私は「SmalltalkのIDEはどんなものよりも優れている」と言ってウザがられていたのだが、 もうそんなことはない。
私にとってIntelliJとは、Smalltalk以来のIDEとなった。 そのパワーとユーザビリティは、他を寄せ付けなかった。 我々はポストIntelliJ時代に突入したのだ。

IntelliJがこの世界の唯一のIDEではない。 Eclipseが非常に早いスピードで後を追っている。 Eclipseには、IntelliJを好きになった機能の多くが搭載されている。
だが、Eclipseのことも敢えて「ポストIntelliJのIDE」と呼ぶことにする。 Eclipseがどんなに優れていようが、ThoughtWorksではIntelliJの方が好まれているようだ。
103 :デフォルトの名無しさん2011/11/11(金) 06:45:28.59
>>90
かの有名な、

マーチン・ファウラー様も

動的型付け言語をべた褒めしてますからね。

生産性が向上した!と。

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RubyAtThoughtWorks
(この記事は>>67より後に書かれたもの)
156 :デフォルトの名無しさん2011/11/11(金) 23:54:20.08
別にIDEのカタログスペックの優劣だけで
開発効率が決まるわけじゃないしなぁ

>>103のリンク先では、IDEの出来がお粗末なRubyでさえ
優秀なIDE+Javaで開発するよりも優れてると結論付けてるわけだし

このスレが「動的型付け言語用の優秀なIDEは開発出来ない」ならまだ分かるよ
といっても、それもSmalltalkの存在が反証になってしまうけど
157 :デフォルトの名無しさん2011/11/11(金) 23:58:02.05
>>156
リンク先のは優秀な開発者がいれば、
Rubyでもそれなりに開発できるってだけだよ。
162 :デフォルトの名無しさん2011/11/12(土) 00:33:11.17
開発者は一人だけのケースに限るとか、書く効率だけで読む効率は考慮しないとか
そういったことは>>103のどこにも書いてないんだが……
164 :デフォルトの名無しさん2011/11/12(土) 00:40:45.11
>>162
じゃあ答えは出てる。
そういった情報が書いてない記事を信用するな。
69 :デフォルトの名無しさん2011/11/10(木) 22:22:46.53
簡単に言うとEmacsってことか。
なるほど信者がうざいわけだ。
70 :デフォルトの名無しさん2011/11/10(木) 22:25:32.04
> ―頼むからemacs信者は刺激させないでくれ。
72 :デフォルトの名無しさん2011/11/10(木) 22:28:33.85
俺はemacsをかなり使い込んでるから、信者かもしれないけど、黙って聞いてる。
彼らが井の中の蛙の自慢なのかどうかというのを見極めるために、口を挟まない
ほうがいいから。
74 :デフォルトの名無しさん2011/11/10(木) 22:31:06.28
>>72
ようするに、井の中の蛙って罵倒したいんだろ?
十分口挟んでる。
75 :デフォルトの名無しさん2011/11/10(木) 22:31:23.34
>>72
わざわざ書かなくても皆わかってるって。
人を試すようなことをするのは、いろんな人がいるといえども、Emacs信者くらいだろ。
77 :デフォルトの名無しさん2011/11/10(木) 22:32:21.59
>>74
何言われようと、とりあえず口にチャックしてます。
79 :デフォルトの名無しさん2011/11/10(木) 22:33:44.86
>>77
アメリカンジョーク?

口にチャックしてるから喋れない。
だから手を使ってカキコする。みたいな?
73 :デフォルトの名無しさん2011/11/10(木) 22:30:00.57
IDEの話をしてたのか。
俺が使ったことのある動的言語のIDEといえばDWなんだが、使いづらかったな。
まあ、人によってはIDEと認めないかもしれないな。
IDEなんだけどな。
76 :デフォルトの名無しさん2011/11/10(木) 22:32:10.50
ほらほら、emacs信者の勘違いぶりが露呈してきてるぞw
俺は詳しいんだ的な発言。それこそ井の中の蛙だろう。
80 :デフォルトの名無しさん2011/11/10(木) 22:34:19.28
これだけemacsの名前を出して釣れるとは。。。。 いずれにしても高みの見物
してます。
82 :デフォルトの名無しさん2011/11/10(木) 22:37:02.36
本当は気になってしょうがないんだろう。だからどうしてもレスしてしまう。我慢ができないw
85 :デフォルトの名無しさん2011/11/10(木) 22:39:23.27
口は動かしてないよ。 でもこれでレスはやめとく。かまってくれてありがとう
ニヤリ
87 :デフォルトの名無しさん2011/11/10(木) 22:40:17.11
Eclipseにはかなわないけど、Dolphin Smalltalk は
動的言語の中では中々やれてると俺も思うよ。
90 :デフォルトの名無しさん2011/11/10(木) 22:42:34.93
かの有名な、

マーチン・ファウラー様も

静的型付け言語のIDEをべた褒めしてますからね。

ただの文法チェックが
コーディング支援機能に化けた!と。
94 :デフォルトの名無しさん2011/11/10(木) 22:47:52.33
VBは動的型付け言語っぽいコードを書くことも出来る。
だがそうやって書かれた部分はもちろんコード補完やコンパイルチェックなど出来ず、
IDEが有効活用されているとは思えない。
VBがIDEとしての真価を発揮できるのは、やはり静的型付けで書いた部分。
95 :デフォルトの名無しさん2011/11/10(木) 22:57:54.79
VBの流れんとこスマン。Dolphin Smalltalk のコーディングの様子が分かるムービー。
http://www.youtube.com/watch?v=8pkyOm1Mxug&t=1m40s
98 :デフォルトの名無しさん2011/11/10(木) 23:18:07.23
>>95
Squeak Smalltalk のしょぼさにくらべると、補完機能の出来がすばらしいですね
100 :デフォルトの名無しさん2011/11/10(木) 23:46:09.02
>>98
OCompletion もがんばっているんだけど、まず Squeak でまともにインストールできない
(いまんところ誰でも使えるのは Pharo に組み込みのやつってことになる)のと、なんとか動かせても
組み込みの alt/cmd-q とかを壊しちゃう。個人的には alt/cmd-j が踏みつぶされるのが非常につらい。
97 :デフォルトの名無しさん2011/11/10(木) 23:13:37.32
正直に白状すると、困った時にgoogleで解決できる言語が効率がよい
検索しても答えが見つからない言語は効率が悪い
オレっちは所詮そんなもんです
みんなが使ってる言語がいい
マイナー言語はマイナーという理由で効率が悪い
言語仕様とか関係ないっす
101 :デフォルトの名無しさん2011/11/11(金) 05:05:58.78
結局、静的厨はSmalltalkが言語でありライブラリであり環境であり仮想計算機だということも
ましてやSmalltalkでは実行環境=開発環境だということの意味もまるで理解しないまま
動的環境を小馬鹿にしてたってこと?
105 :デフォルトの名無しさん2011/11/11(金) 07:51:41.81
>>101
別に動的環境を小馬鹿にはしていませんが、Smalltalk は使っていないのでよく知りません。

ところで、大規模開発という場合には IDE そのものの出来もさることながら
VCS (バージョン管理システム) や ITS (タスク管理システム) とのシームレスな
連携が必須だと思います。

Eclipse は、やはりコミュニティの大きさもあってその辺りがよくできていると
感心するのですが、Smalltalk での開発の場合はどのようになるでしょうか。
Subversive や Mylyn と同等な仕組みはありますか?
109 :デフォルトの名無しさん2011/11/11(金) 08:07:43.20
>>105
Squeak・Phoroレベルのおもちゃでもいいから、チュートリアルを読みつつ
一回さわってみたらいいと思うよ。
http://squeakbyexample.org/
http://pharobyexample.org/
130 :デフォルトの名無しさん2011/11/11(金) 18:04:09.19
>>105
バージョン管理も構成管理も分散レポジトリも
標準で組み込まれていて、
デバッガのソース表示上でコード書き換えても
全自動でバージョン登録されるぐらい
IDEのあらゆる部分とシームレスに結合されてますが、
何か?
153 :デフォルトの名無しさん2011/11/11(金) 23:14:38.94
>>130
標準で組み込まれているというのは、果たしてメリットと言えるのでしょうか?
そういったものは言語とは独立のシステムなのですから、
チームが使い慣れたものを選べるようにプラグインとして提供されるのが
あるべき姿ではないかと思います。
154 :デフォルトの名無しさん2011/11/11(金) 23:26:00.47
>>153
泥仕合になる前にとりあえずこれに目を通して Smalltalk の基本的な考え方を知っておいて欲しい。

「Smalltalkの底を流れる設計思想」
http://web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24

あと svn が使いたければ、そういうのもあるから。130は不必要に挑発的だけど、ようするに
組み込みのヤツの方がいろいろ便利なことも多いと思うメンバーが多ければ、チーム合意の上で
そのまま組み込みのを使えばいいというだけ。
187 :デフォルトの名無しさん2011/11/12(土) 13:46:00.53
>>185
土方を集める方が遙かに容易で安価だからその等式がほんとならむしろ必然じゃない?

というのは半分冗談として、マジレスすると、処理系にいろんなコストがかかりすぎたのが敗因。

今でこそフリーの処理系があるし、ネットブックレベルでマシンパワーも十分だけれども、
かつては処理系からEWSまでまともに揃えていたら数百万〜一千万仕事だった。

VisualAge Smalltalk の身売り先での価格を見れば受け継がれた強気度がうかがえる。
http://www.instantiations.com/products/purchase.html

もしろんその特殊性な設計思想(>>154 ) ゆえに、
既存の処理系に熟達した人ほど頭の切り替えが難しいというのもある意味コスト高かも。
102 :デフォルトの名無しさん2011/11/11(金) 05:15:56.42
俺はVisualWorksに自作の補完機能つけて使ってる。
Smalltalkerならみんなやってるよね、開発環境の自作拡張。
104 :デフォルトの名無しさん2011/11/11(金) 07:47:59.01
Smalktalkを知っているファウラーやベックがRubyを持ち上げる意味がわからん。
Javaを使ってて頭が狂ったか、たんに老害か、
あるいはまさかの、ぢつわSmalltalkよくわかっていませんでしたーとかか?
ベックは最近だとMongoDBエンジンもまともに組めない体たらくだと聞くし。
106 :デフォルトの名無しさん2011/11/11(金) 08:01:02.75
>>104
RubyだけでなくRuby on Railsを褒めてる
Smalltalkを知っててもSeasideを知らない可能性はある
107 :デフォルトの名無しさん2011/11/11(金) 08:02:47.06
>>104
Ruby on Rails がよいと言っているのではないでしょうか。
私の経験では、Web 系はプログラミング言語そのものは何ら問題ではなく、
フレームワークの出来不出来で全てが決まります。

108 :デフォルトの名無しさん2011/11/11(金) 08:06:35.45
>>104
っていうか、

> 我々は、Groovy、F#、Python、Smalltalkなどを使うべきだろうか? 
> これまでRubyについて見てきたトレードオフが、その他の言語についても同じ結果になったとしても、私はさほど驚かない。
> いずれこれらも我々の道具箱に入って欲しいと願っている。

と書いてるから、内心では「皆Ruby使ってるけど、ぶっちゃけSmalltalk最強だろ、言わないけど(うざがられるから)」とか思ってるかも
110 :デフォルトの名無しさん2011/11/11(金) 08:10:06.25
その記事に書かれている次の部分が、動的言語の長所でもあり短所でもあると思います。

>我々の強みは、典型的なIT企業では引き込めないような非常に有能な人たちを雇用しているという点だ。
>Rubyには、あまり有能ではない開発者をエラーから守るよりも、
>有能な開発者がさらにうまく物事を成し遂げられる環境のほうがよいという哲学がある。

率直に言って、能力の高い経験豊富な開発者は動的言語の方が効率的に開発を進められると思います。
問題は、プロジェクトが大規模になればなるほど、そういった精鋭を揃えることが難しい点です。
113 :デフォルトの名無しさん2011/11/11(金) 09:30:40.09
>>110
rubyの良さがわかる人って、ハッカー系には多いよね。結局その引用のとおり
だから
111 :デフォルトの名無しさん2011/11/11(金) 09:21:07.61
TDD Static vs. Dynamic
http://www.youtube.com/watch?v=RLAZjiK4UHc
http://www.youtube.com/watch?v=wXW9WN9ay2E

Java(Eclipse)とSmalltalk(Pharo)とで同じプロダクトのTDDの様子とかかった時間を比較
結果がどうとかはともかく、Smalltalkでの開発のライブ感みたいなものを見ておくのにいい資料。

Javaサイドは分かると思うので、Smalltalkサイドでやっていることを以下に簡単にまとめてみた。
▼パート1
4:40 Test1クラス定義 4:50 test1メソッド記述 5:30(コンパイル操作)→テンポラリ変数pc宣言忘れ指摘→宣言挿入
5:40 Productクラス未定義指摘→宣言 5:45テンポラリ変数erectonic宣忘指摘→宣言→同eletronicスペルミス指摘→訂正
5:50コンパイル完了 5:58(テスト実行操作)→category:のコールでエラー→デバッガ起動
6:15 category:メソッド仮作成→実行継続→エラー 6:20デバッガ内で定義変更→(コンパイル操作)
6:38インスタンス変宣忘指摘→追加 6:47実行継続→categoryコールでエラー 以下同作業
7:28説明抜きで再計測 12:15メソッド名変更→assert:式変更→electronicのクラス変更
→(コンパイル操作)→Categoryクラス未定義指摘→定義→コンパイル完了(テスト実行操作)
→includes:がエラー→Categoryに仮定義→実行続行→デバッガ内で定義変更→(コンパイル操作)
▼パート2
04:37メソッド名変更→assert:をdenny:へ→(コンパイル操作)→コンパイル完了 (テスト実行操作)
→デバッガ起動→巻き戻してincludes:の定義へ→デバッガ内で定義変更→(コンパイル操作)
5:20Categoryクラスブラウズ用にウインドウ開く→初期化メソッド定義 5:35デバッグウインドウに戻り
メソッド再実行後実行継続 6:20(テスト実行)→デバッグウインドウ→巻き戻し・逐次実行→
category:メソッドで定義変更→実行継続→addProduct:メソッド仮定義→実行継続→エラー→
定義変更→実行継続→完了 5:56(テスト実行操作)→test1失敗→デバッグウインドウ→
test1メソッド変更(ObjectをCategoryへ)→実行継続→成功(完了)
609 :デフォルトの名無しさん2011/11/15(火) 19:52:53.32
>>607
とりあえずこれでも見てみてくれ。>>111
ここで使われているPharoっていうのはSqueakと実質同じSmalltalk IDEだ。
611 :デフォルトの名無しさん2011/11/15(火) 19:54:27.93
>>609
あ、Smalltalkはもうお腹いっぱい。

それ以外の動的言語でまともなIDEは無いんだねって
結論になってるのをくつがえそうぜ。
114 :デフォルトの名無しさん2011/11/11(金) 09:47:57.41
Javaはドカタがほにゃらら
ブルーカラーの言語うんたらかんたら
115 :デフォルトの名無しさん2011/11/11(金) 09:59:50.90
動的で効率が悪いと言ってるのって、ファウラーの文章にある
>RubyはUNIXの世界で生まれた。そして、このプラットフォームに集まる人たちは、
>ディレクトリパスにスラッシュを使う。 Windowsプラットフォームでも、Rubyの
>実行、デプロイ、開発は可能だが、いくぶん扱いにくいものとなっている。我々
>のアドバイスとしては、開発はすべてUNIXプラットフォームで行ったほうがいい。

この点が影響してるんじゃないの?rubyに限らないけど、関数型言語やオープンソースで
作られてる言語の多くはwindowsでの開発はかなり不利だよ。
117 :デフォルトの名無しさん2011/11/11(金) 11:15:20.19
PythonもPHPもWindowsとLinux両方で全く問題ないのだが
WindowsでおかしくなるのRubyだけだろ
125 :デフォルトの名無しさん2011/11/11(金) 14:27:17.14
>>117
視野が狭い。
118 :デフォルトの名無しさん2011/11/11(金) 11:20:52.56
PHPの場合、本番環境のサーバはLinuxが多いだろうけど、開発はWindowsのXAMPPでやってる人はかなり多いと思う。
119 :デフォルトの名無しさん2011/11/11(金) 11:23:09.41
少数精鋭だと動的言語が有利なのはそうだと思うけど、そういうプロジェクトも開発が継続して規模が大きくなると、動的言語は不適切になる事が多い。
TwitterがRuby捨ててScalaになったみたいに。
121 :デフォルトの名無しさん2011/11/11(金) 11:27:40.08
それもあるし、型がないと自前の型チェックが増える一方でやってられないからって。Twitterのエンジニアが座談会で答えてる。
123 :デフォルトの名無しさん2011/11/11(金) 11:37:13.65
かっちりしたものをきっちり作り込んで安全に動かそうとすると断然静的言語だけど、
もやっとしたものをもやっとさせたまま長期運用でどんどん拡張するとなると早期結合な設計や
言語じゃ駄目だってパパがいってたお。ttp://metatoys.org/oxymoron/oxymoron.html
ただ「これができるのはLISPとSmalltalkだけ!(キリッ」って言い切っちゃってもいるけどねー。
124 :デフォルトの名無しさん2011/11/11(金) 14:18:09.19
IDEやリファクタリングに詳しいファウラーの出した結論

動的型言語 > 最高のIDE + ドカタ言語
126 :デフォルトの名無しさん2011/11/11(金) 14:33:40.07
Rubyはコード汚くて読みにくい上に
Windowsでまともに動かないなんて
129 :デフォルトの名無しさん2011/11/11(金) 15:20:41.65
Pythonで型のこと心配だったら、assertとisinstanceを利用して、最適化前に
洗い出しそうな気もするが。python -Oつけると、assertは無視する仕様になるし。
131 :デフォルトの名無しさん2011/11/11(金) 19:26:08.56
マーチンファウラーは動的静的にこだわってないんだが
開発効率を上げるものは全部褒めてる
高機能なIDE最高
DSL書きやすいruby最高
オブジェクト指向書きやすい言語最高

ちなみにrubyに関してはこう言ってる
ruby書いてて楽しいけど、ときどき何やってるかわからなくなるから困る
ついでに書くとruby開発者のおっさんはrubyのIDE作るのすげームズイと言ってる

マーチンはオブジェクト指向言語で
DSL開発をしやすく、そのDSL用のIDEをすばやく作れればいいな
という考え、今のところは
132 :デフォルトの名無しさん2011/11/11(金) 19:54:58.02
html5ブラウザの時代に突入しようというときに
windowsだのlinuxだの言ってる奴は頭が古いな
osと心中しなくて済むjavaの方がよほど前向き
133 :デフォルトの名無しさん2011/11/11(金) 20:03:14.65
html5使わんでも
普通にwindowsでもlinuxでも動くから
Ruby以外は
140 :デフォルトの名無しさん2011/11/11(金) 21:16:29.95
autoitってなんやねんって調べたら、windows専用か すでに
矛盾してるで おっさん>>133
136 :デフォルトの名無しさん2011/11/11(金) 20:45:27.60
rubyよりもahkやautoitの方が便利だから使ってる
rubyが悪いとは言わないけどautoitの方が便利
137 :デフォルトの名無しさん2011/11/11(金) 20:45:32.42
Rubyは書いているときは楽しいけど
気が付いたらメンテナンス不能のゴミの山
138 :デフォルトの名無しさん2011/11/11(金) 21:00:23.64
やはり視野が狭い。と言うより、他の言語たまには勉強したほうがいいよ。
141 :デフォルトの名無しさん2011/11/11(金) 21:22:19.84
HTML DOMをトラバースして文単位にSPANで切り分けるって処理をPHPで書いたことがある。
めちゃめちゃ遅かったな。
スクリプトって単純にプログラムの実行も遅いんだろうけど、一番の原因は
メモリーを使いすぎるってことだね。
142 :デフォルトの名無しさん2011/11/11(金) 21:29:07.91
> HTML DOMをトラバースして文単位にSPANで切り分けるって処理をPHPで書いたことがある。
> めちゃめちゃ遅かったな。

ま、たいてい書いた奴が遅いコード書いただけってのが答えなんだけどなw
143 :デフォルトの名無しさん2011/11/11(金) 21:39:50.52
【DI】Java Spring Frameworkを語るスレ 4.0
http://hibari.2ch.net/test/read.cgi/tech/1227196176/

こっちで繰り広げられている、動的なバイトコードの書き換えとか
動的にサブクラスを作るとかいう話を聞くと、
動的型付け言語でしかできないと思えた機能は、
実は静的型付け言語でも出来るように思えてくるな。

静的型付け言語でここまで動的なコードの書き換え機能を
持っているのはJavaぐらいしか無いと思うけどね。
144 :デフォルトの名無しさん2011/11/11(金) 21:41:17.56
自己書き換えは昔からあるけど、最近はウイルスと誤検知されるからできない。
145 :デフォルトの名無しさん2011/11/11(金) 21:43:16.18
>>144
Javaなら問題なくできるよ。

そもそもバイトコードはネイティブコードじゃなく
ただのCPUから見ればただのデータなんだから。

ネイティブコードの書き換えはできなくても
バイトコードの状態であれば、ただのデータ編集だ。
148 :デフォルトの名無しさん2011/11/11(金) 22:00:27.52
答えは>>144に書いてある。

誤検知した場合は、できないと。

つまり>>144は自分で認めている。
それはウイルス対策ソフトの「誤検知」であると。
146 :デフォルトの名無しさん2011/11/11(金) 21:47:45.80
ネイティブコードでも自己書き換えはできる。

できないのは、データではなくコードとマークされている部分を
バッファオーバーフローなどによって無理やり書き換えること。

もともと、自己書き換えをするという前提で作られたものは
当然書き換え可能。実行ファイルを圧縮して、実行時に
展開して実行するPackerなどと呼ばれているプログラムは
そうやって作られている。
147 :デフォルトの名無しさん2011/11/11(金) 21:50:04.36
ところが、書き換えたとたんにビヨンとお知らせが届いちゃうから。
やっぱりできない。
149 :デフォルトの名無しさん2011/11/11(金) 22:05:54.04
じゃあマニュアルにそう書いとくか。

【ウイルスと思われる動作を検出しましたと表示され停止する問題について】

この動作は当社製品に起因する問題ではありません。
市販のセキュリティー製品には粗悪なコードが使われており誤動作を引き起こす場合があります。

【対策】
当社製品と同時にセキュリティー対策を行わないでください。
150 :デフォルトの名無しさん2011/11/11(金) 22:07:33.61
>>149
いやさ、自己コード書き換えは出来るんだよ。

お前嘘つくなって話なんだが。
151 :デフォルトの名無しさん2011/11/11(金) 22:08:17.71
動的言語なんて、自己書き換えコードのオンパレードだしなw
152 :デフォルトの名無しさん2011/11/11(金) 23:05:59.14
Squeak Smalltalkでバイトコード列の書き換え。

plus := [3+4]

plus value
=> 7

plus method symbolic
=>'
25 <8F 00 00 04> closureNumCopied: 0 numArgs: 0 bytes 29 to 32
29 <20> pushConstant: 3
30 <21> pushConstant: 4
31 <B0> send: +
32 <7D> blockReturn
33 <81 C2> storeIntoLit: flipFlop
35 <7C> returnTop'

plus method byteAt: 31 put: 16rB8

plus method symbolic
=>'
25 <8F 00 00 04> closureNumCopied: 0 numArgs: 0 bytes 29 to 32
29 <20> pushConstant: 3
30 <21> pushConstant: 4
31 <B8> send: *
32 <7D> blockReturn
33 <81 C2> storeIntoLit: plus
35 <7C> returnTop'

plus value
=> 12
214 :デフォルトの名無しさん2011/11/12(土) 15:10:35.40
>>212
おk、おk。じゃあそれで、>>152をさくっとやってみてくれ。
216 :デフォルトの名無しさん2011/11/12(土) 15:11:28.81
>>214
めんどくえから、ソースコードでも読んでろ。

ttps://src.springframework.org/svn/spring-framework/trunk/org.springframework.aop/src/main/java/org/springframework/aop/framework/Cglib2AopProxy.java
Cglib2AopProxy#getProxy(ClassLoader classLoader)から抜粋

Class rootClass = this.advised.getTargetClass(); //これが元のクラス
Class proxySuperClass = rootClass; //元のクラスと同じ
if (ClassUtils.isCglibProxyClass(rootClass)) {
//元のクラスが既にCGLIBでエンハンスされてた場合なのでここは無視
}
enhancer.setSuperclass(proxySuperClass); //元のクラスをスーパークラスに設定
proxy = enhancer.create(); //動的にクラスを生成

CGLIBによって作られるクラスは元のクラスを継承したクラス
230 :デフォルトの名無しさん2011/11/12(土) 15:20:58.71
>>216
すまん。
これのどこに「3+4」のバイトコードを書き換えてかけ算をさせる要素が含まれるの?
155 :デフォルトの名無しさん2011/11/11(金) 23:31:29.42
別にSmalltalkがまともなIDEを備えていたとしても、

じゃあ、他の動的型付け言語は?
備えてないのなら、話しにならないよね。

静的型付け言語 or Smalltalk使ってないなら、黙っとれ。
158 :デフォルトの名無しさん2011/11/12(土) 00:06:09.28
その優秀な開発者は、Rubyで開発する方が
優れたIDE+Javaで開発するよりも効率的だと感じているようだね
159 :デフォルトの名無しさん2011/11/12(土) 00:07:31.35
そりゃ自分一人でやるなら、そうだろうさ・・・

でもそれは現実的ではない。
自分の知らないコードがたくさんになったら・・・。
現実を見ようぜ。
161 :デフォルトの名無しさん2011/11/12(土) 00:13:06.55
うん、いろんな人が書いたたくさんのコードを
把握して、バグを修正するという観点から
どっちが効率がいいか調べる必要があるだろうな。
163 :デフォルトの名無しさん2011/11/12(土) 00:37:41.74
つーか日本の標準的な組織でどうかって話じゃないと意味なくね?
ファウラーの環境を引用してどうすんの?
君らファウラーに匹敵するスキルを持っていて、周りもそういうレベルの奴に囲まれた環境で仕事してんのか?

165 :デフォルトの名無しさん2011/11/12(土) 00:42:56.66
>>163
つまり日本の底辺ドカタに動的型は使いこなせるか?を議論すればいいのか

じゃあスレタイも「動的型付け言語ではドカタは大規模開発できない」に変更しなきゃな
166 :デフォルトの名無しさん2011/11/12(土) 00:46:08.38
>>165
そうしたけりゃそれでもいい。
そうやって皮肉を言おうと蔑もうとそれが日本の現実だ。
172 :デフォルトの名無しさん2011/11/12(土) 07:34:34.84
>>163
> 君らファウラーに匹敵するスキルを持っていて、周りもそういうレベルの奴に囲まれた環境で仕事してんのか?

はい。
167 :デフォルトの名無しさん2011/11/12(土) 00:46:16.75
rubyハカーの俺天才と言ってる奴が
マーチンファウラーの本を読んでるとは思えないんだけど
この人の本ってjavaやc#使ってる人の方が読んでるだろうから
javaをバカにしてる奴は絶対に読まない
169 :デフォルトの名無しさん2011/11/12(土) 01:02:05.15
Ruby使ってるのは、開発者が日本人だからだからね。
英語の論文なんて読まないでしょうね。
170 :デフォルトの名無しさん2011/11/12(土) 01:47:52.51
>>163
我田引水なんだって、欲しい答えが決まってて、その答えに合わすために
問題を変えるって事自体が。
>>169
いま実装の人ってとーだいのせんせーちゃうん?
171 :デフォルトの名無しさん2011/11/12(土) 02:04:19.11
ああささだはだめだ。ろくに論文なんか読んでねーし、YARV程度で力出し切ったって感じ。
174 :デフォルトの名無しさん2011/11/12(土) 08:08:11.22
昔、JavaはC++の20倍速いって話が有ってね。
最近はRubyがJavaより速いって話があるね。
すると、RubyはC/C++の400倍速い可能性があるんだよね。
ってことはだ、C/C++で書かれたコードをRubyで書き直せば、100円の
チップで4万円の性能が出せる。
175 :デフォルトの名無しさん2011/11/12(土) 09:22:01.93
>>174
素人さんはお帰りください
176 :デフォルトの名無しさん2011/11/12(土) 10:49:30.03
>>175
踊り子さんに手を出さないで(≧∇≦)
178 :デフォルトの名無しさん2011/11/12(土) 11:45:00.51
smalltalk製のソフトが使われているの見たことないけど
smalltalkerは実在してるの?
184 :デフォルトの名無しさん2011/11/12(土) 13:20:32.12
>>178
まあSmalltalk処理系・IDE自身やScratchとかはSmalltalkで組まれているんだが
そういうことを聞きたいわけじゃあないとおもうんで他の例を挙げると、

比較的名の知れたところではVisualAge for JavaをはじめとするかつてのIBM開発環境付き処理系製品群
Twitterに買収されたDabbleDB。http://dabbledb.com/demo/
米海軍での採用やインテルの技術/資本参加でニュースになったTeleplace(旧Qwaq)http://www.teleplace.com/
アジャイル界隈では名前の挙がることの多いMetaEdit+ http://www.fuji-setsu.co.jp/products/MetaEdit/index.html

…とかかな。あと、Smalltalkユーザーのイベントとか結構定期的に行なわれていて、
海外だと ESUG とかよく聞くしhttp://www.esug.org/wiki/pier/Conferences/2011
日本では東京と京都で月いちペースで勉強会が催されている。http://www.smalltalk-users.jp/
179 :デフォルトの名無しさん2011/11/12(土) 12:14:32.30
fortran製のソフトが使われているの見たことないけど
fortran programerは実在してるの?

cobol製のソフトが使われているの見たことないけど
cobol programerは実在してるの?
181 :デフォルトの名無しさん2011/11/12(土) 12:48:59.90
>1 Smalltalk developer = 2.5 C++ developers

FortranもCOBOLもこんなふうなこと言わないわけで
182 :デフォルトの名無しさん2011/11/12(土) 13:08:51.07
1 Smalltalk developer = 3.75 Java developers. うーん。
密度的な事なら 1 Sml. dev. = 20 Java dev. くらい?
知識量だったらたぶん 1 sml. dev. = 5 Java dev. たぶんsmalltalkerだったら
他の言語も使えると思うんで。
183 :デフォルトの名無しさん2011/11/12(土) 13:10:56.07
そうか、Javaの人ってakb商法なんだ。一盛りなんぼで売り出している
ようなものなのか 謎
185 :デフォルトの名無しさん2011/11/12(土) 13:24:13.59
VisualAge for Java
昔ちょっと使ったわ
あれsmalltalkで出来てたんか
1 Smalltalk developer = 3.75 Java developers. が本当なら
なんで廃れてしまったんだろうね
186 :デフォルトの名無しさん2011/11/12(土) 13:40:36.29
環境を揃えるのが大変だったんだと思うよ。費用的にもね。
188 :デフォルトの名無しさん2011/11/12(土) 13:51:44.99
売れない商品は高くなるってだけじゃないのか?
190 :デフォルトの名無しさん2011/11/12(土) 14:02:39.14
>>188
もちろんあるだろうね。だからクオリティが低くてもSqueak/Pharoとかのほうが賑わっちゃう。
で、SqueakはSqueakで人が集まるからTraitsとかの新機能が生まれ他言語へ輸出されたり
する反面、あちこちいろいろいじられてクオリティの低下を招くって面もあって痛し痒し。
189 :デフォルトの名無しさん2011/11/12(土) 14:01:01.58
twtterってrubyからScalaに移ったんでしょ?
ScalaとかOCamlとか、LL系と同じくらい記述が簡潔な言語を使えたら、静的のほうがいいでしょ。
LLがもてはやされるのって、動的だからってより記述が簡潔だからってほうが大きいんじゃないの。
191 :デフォルトの名無しさん2011/11/12(土) 14:08:33.53
>>189
機能や仕様が流動的なうちは動的言語の方がベターだけど、
だいたい決まったら静的言語で書き直す―っていうのが古くからのよくあるパターン。
193 :デフォルトの名無しさん2011/11/12(土) 14:12:34.19
>>191
それいうなら、動的型付け言語だろ。
今の言語はほぼすべて動的言語だ。
(インターフェースなどで実行時に呼び出す関数が決まる)
192 :デフォルトの名無しさん2011/11/12(土) 14:12:20.53
仕様が流動的で試行錯誤する場合でも
IronPython使うより
C#使った方が楽なんだけど
194 :デフォルトの名無しさん2011/11/12(土) 14:13:58.38
動的型付けは型を省略できるという点で楽を出来るのであって、
修正するという点では楽ができないからな。

静的型付け言語だと、修正するときが楽になる。
修正漏れがあったら警告してくれるからね。
196 :デフォルトの名無しさん2011/11/12(土) 14:20:36.17
>>194
よく考えて作ってないと動的はごちゃごちゃするのは仕方がないかも。
設計がうまい人ならば、問題はないと思うが、作る前に熟考を要する
からなぁ。
私が知る中で、書く人がタイピングよりも考える事に費やす時間が長い言語は、SQL, Lisp, Haskellだけだ。 - Philip Greenspun
195 :デフォルトの名無しさん2011/11/12(土) 14:18:02.32
大学にいけばNeXTとかxeroxのwsとかIRISなどは1000万単位でも簡単に
見られて触れる所があったけど、普通じゃかえないもんな。
197 :デフォルトの名無しさん2011/11/12(土) 14:25:00.61
select * from user where name = 'hoge';

絶対、考えるよりもタイピングする時間のほうが長いよw
198 :デフォルトの名無しさん2011/11/12(土) 14:26:29.01
いや、
君ら静的型派の言う「仕様が流動的で試行錯誤する」レベルは
動的型派の言う「だいたい決まったら」フェーズのうちだから。^^;
199 :デフォルトの名無しさん2011/11/12(土) 14:29:04.61
>>198
つまり動的型は勘違いしてるってことかw
200 :デフォルトの名無しさん2011/11/12(土) 14:37:07.46
動的型付けが効率がいいのは、ちゃんと設計もできて
最初から書くときだけ。つまり修正する必要がないときだけ。

試行錯誤するフェーズというのは、そこで書いたコードは捨てるレベル。
捨てるのだから修正する必要はない。だからここでも動的型付けは効率がいい。
だいたい決まったフェーズとか完全に間違い。

実際のプロジェクトの多くは、修正がメインになる。
プロジェクトが大きい物ほど、すでに作られたものを修正することのほうが多い。
そしてプロジェクトが大きい物ほど、人の入れ替わりも多く
つまり「なにも知らない人がいきなり修正を任される」ってことが多くなる。

バグの原因は、想定外のことが発生したから。
なぜ想定外のことが発生するかというと知るべきことに気づかなかったから。
なぜ気づかなかったかというと、その知るべき情報を手に入れられなかったから。

これが静的型付け言語だと、簡単の情報を手に入れることができる。
メソッドを右クリックしてぽちっと押すだけで、そのメソッドを使っている箇所が
すべて判明する。これは一例であり静的型付け言語だともっと多くの情報を手に入れられる。

よって、動的型付け言語はなぐり書きするのは効率がいいが
修正するときには静的型付け言語のほうがはるかに効率が高い。
207 :デフォルトの名無しさん2011/11/12(土) 15:02:45.72
>>200
Smalltalk環境を体験したことない童貞がしそうなドヤ顔だな。
209 :デフォルトの名無しさん2011/11/12(土) 15:06:12.82
>>200
> メソッドを右クリックしてぽちっと押すだけで、そのメソッドを使っている箇所が
> すべて判明する。

その機能、動的言語のIDEでは遅くとも70年代には実装されていたのだが…

> これは一例であり静的型付け言語だともっと多くの情報を手に入れられる。

Squeakなら今実行しているソース、バイトコード、そのバイトコードを実行するVMのソースまで簡単に手に入れられるのだが、
Javaの場合はどうなんだい?
211 :デフォルトの名無しさん2011/11/12(土) 15:07:32.94
>>209
> その機能、動的言語のIDEでは遅くとも70年代には実装されていたのだが…

じゃあ、今の動的型付け言語で
同じことが出来るIDEを教えて下さい。

smalltalkは知らないし、あまり使われていないので

それ以外で!
212 :デフォルトの名無しさん2011/11/12(土) 15:08:34.92
>>209
> Squeakなら今実行しているソース、バイトコード、そのバイトコードを実行するVMのソースまで簡単に手に入れられるのだが、
> Javaの場合はどうなんだい?

CGLIBやJavassistはバイトコード(クラスファイルの中身)を操作するライブラリ
代表的なのはこの3つ

・ASM
ttp://asm.ow2.org/
低水準なライブラリ
JVM言語の処理系では自作を除けばこれが定番
Java7リリース前からinvoke dynamic に対応するなどJSR292チームと連携して開発されてる

・CGLIB
ttp://cglib.cvs.sourceforge.net/viewvc/cglib/cglib/
ASM上に作られたやや高水準のライブラリ
SpringやHibernateで使われたため有名だが開発は停滞してる
Springが依存するcglib-nodep-2.2.jarにはASMのクラスファイルが含まれてる

・Javassist
ttp://www.csg.is.titech.ac.jp/~chiba/javassist/
東工大の千葉先生が開発した高水準のライブラリ
現在はJBossでメンテされてる
HibernateやSeasar2で使われてる

これらを使うと動的にクラスを作ったり、クラスファイルを読み込んで
フィールドやメソッドの追加、メソッドの書き換えができる
217 :デフォルトの名無しさん2011/11/12(土) 15:12:41.00
>>211
おまえは馬鹿すぎて話しにならん
220 :デフォルトの名無しさん2011/11/12(土) 15:14:45.40
>>211
>smalltalkは知らないし、あまり使われていないので
>
>それ以外で!

ついには静的厨もSmalltalkには敗北を認めざるをえなかったみたいだなw
レベルの低い相手にしかイバルことができない卑屈なヤシwww
201 :デフォルトの名無しさん2011/11/12(土) 14:49:35.66
試行錯誤は修正ってことじゃないかと言うかもしれないが、
そういう話ではない。

試行錯誤の段階は、コード量は少ない。
少ないから、それを書き換えるのは楽。

俺が言っている修正っていうのは、
一旦は完成されたものとして、出来上がってしまったものに
手を入れるという話。影響範囲が大きく、一つ変更するだけでも
他に修正しないといけない箇所が出てくる状態。
それを動的型付け言語で把握するのは大変な作業。
204 :デフォルトの名無しさん2011/11/12(土) 14:56:25.82
>>201
> それを動的型付け言語で把握するのは大変

そこらへんはもう分かっていることで、だから「だいたい決まった」フェーズでは
静的型のほがいいし、動的型で引っ張るなら修正が入る前にテスト書いとけっていうのが
最近の流れなんじゃないの?
205 :デフォルトの名無しさん2011/11/12(土) 15:00:14.87
>>201
設計変更の影響がどこまで出てくるかを見極めるのは設計者の技量でも
あるよ。何も考えずにだらだら作るのと、変更する箇所を予めよそくして
変更しやすい設計にしておくことでは、全然違うから。
206 :デフォルトの名無しさん2011/11/12(土) 15:02:33.04
>>201
> それを動的型付け言語で把握するのは大変な作業。

それは能力が低すぎるぞ。
210 :デフォルトの名無しさん2011/11/12(土) 15:06:48.63
>>206
動的型付け言語だと、能力が必要になることなのかい?w
218 :デフォルトの名無しさん2011/11/12(土) 15:13:20.30
>>210
つまり静的言語では能力は必要ないってことか?
だから静的厨はみんなバカなんだなw
224 :デフォルトの名無しさん2011/11/12(土) 15:19:18.30
>>218
お前日本語おかしいよ。

簡単なことに能力は必要ないって言ってるだけ。

なぜ、「簡単なこと」を省略して
どんなことにも能力は必要ないってことに
しちゃうのか?
228 :デフォルトの名無しさん2011/11/12(土) 15:20:40.78
>>224
> なぜ、「簡単なこと」を省略して

元レスのどこに「簡単なこと」なんて書いてあるの?

>>210
> >>206
> 動的型付け言語だと、能力が必要になることなのかい?w

おまえ、日本語つーより頭おかしいよ?
202 :デフォルトの名無しさん2011/11/12(土) 14:52:35.43
> これが静的型付け言語だと、簡単の情報を手に入れることができる。

だうと
203 :デフォルトの名無しさん2011/11/12(土) 14:53:44.26
>>202
それは、反論とは言わんよw
215 :デフォルトの名無しさん2011/11/12(土) 15:10:40.10
少なくとも今の動的型付け言語のIDE機能が
静的型付け言語用に比べて大きく劣っていることは事実だろう。
219 :デフォルトの名無しさん2011/11/12(土) 15:14:33.37
センダサーチぐらい、なんならgrepでもできるだろw
静的厨ってEclipseがないと何もできないの?

もっとも、Eclipseがあっても何もできないようだがww
221 :デフォルトの名無しさん2011/11/12(土) 15:15:59.93
実際に、中国人が作ったバグだらけ、重複コードだらけ、
継承関係もおかしいコードをリファクタリングしたことあるけど、
Javaじゃなければ無理だと思ったよ。

リファクタリングフェーズでは、人間による修正は
最小限コードの順番を整えるだけにして、
あとはEclipseに付いているリファクタリングブラウザを使って
自動的にメソッドの移動を移動したり継承関係を整えていった。

あれが他の動的型付け言語だと完全に不可能だね。
まず、リファクタリングブラウザがついてるIDEあるの?

まあ無いことはないけど、ローカル変数書き換え程度しかないような
とても実用レベルには達しないものだった。
225 :デフォルトの名無しさん2011/11/12(土) 15:19:19.79
>>221
リファクタリングブラウザの元祖はSmalltalkだということすら知らないの?
227 :デフォルトの名無しさん2011/11/12(土) 15:20:20.72
>>225
Smalltalkは使われてないんだよ。

実用レベルの話しようぜ。
232 :デフォルトの名無しさん2011/11/12(土) 15:21:07.08
>>227
FedExは実用されてないの?www
234 :デフォルトの名無しさん2011/11/12(土) 15:22:07.66
>>232
俺はFedEx社員じゃないもの(笑)
237 :デフォルトの名無しさん2011/11/12(土) 15:22:47.38
>>225
それはやばい。
238 :デフォルトの名無しさん2011/11/12(土) 15:23:05.53
>>234
つまり知らないってことね。

知らない事は恥じゃないよ。知らないということを自覚していないことが恥なんだ。
覚えておこうね。
222 :デフォルトの名無しさん2011/11/12(土) 15:16:38.83
でさ、Smalltalk厨ってさ、
やっぱり他の動的型付け言語用のまともな
IDE知らないんじゃないか。
223 :デフォルトの名無しさん2011/11/12(土) 15:18:46.83
>>222
そこまでしてSmalltalkを避けたいわけ?
226 :デフォルトの名無しさん2011/11/12(土) 15:20:02.82
>>223
お前仕事したことある?

Smalltalkを避けたいのではなく、
使われてないんだよ。

実用レベルの話しようぜ。
229 :デフォルトの名無しさん2011/11/12(土) 15:20:53.92
でさ、Java厨ってさ、
やっぱり他の静的型付け言語用のまともな
IDE知らないんじゃないか。
231 :デフォルトの名無しさん2011/11/12(土) 15:21:03.40
くだらん奴は相手にせず、本題に戻そう。


最初から書くときだけ。つまり修正する必要がないときだけ。

試行錯誤するフェーズというのは、そこで書いたコードは捨てるレベル。
捨てるのだから修正する必要はない。だからここでも動的型付けは効率がいい。
だいたい決まったフェーズとか完全に間違い。

実際のプロジェクトの多くは、修正がメインになる。
プロジェクトが大きい物ほど、すでに作られたものを修正することのほうが多い。
そしてプロジェクトが大きい物ほど、人の入れ替わりも多く
つまり「なにも知らない人がいきなり修正を任される」ってことが多くなる。

バグの原因は、想定外のことが発生したから。
なぜ想定外のことが発生するかというと知るべきことに気づかなかったから。
なぜ気づかなかったかというと、その知るべき情報を手に入れられなかったから。

これが静的型付け言語だと、簡単の情報を手に入れることができる。
メソッドを右クリックしてぽちっと押すだけで、そのメソッドを使っている箇所が
すべて判明する。これは一例であり静的型付け言語だともっと多くの情報を手に入れられる。

よって、動的型付け言語はなぐり書きするのは効率がいいが
修正するときには静的型付け言語のほうがはるかに効率が高い。
235 :デフォルトの名無しさん2011/11/12(土) 15:22:09.50
>>231
> メソッドを右クリックしてぽちっと押すだけで、そのメソッドを使っている箇所が
> すべて判明する。

Smalltalkでは70年代から実装されている機能ですが何か?
236 :デフォルトの名無しさん2011/11/12(土) 15:22:34.00
>>235
Smalltalkは使われてないんだよ。

実用レベルの話しようぜ。

241 :デフォルトの名無しさん2011/11/12(土) 15:24:19.74
>>236
じゃあ、スレタイを「やっぱりSmalltalkを除く動的型付け言語は…」に変えとけ。
それまではSmalltalkアリだ。
233 :デフォルトの名無しさん2011/11/12(土) 15:21:42.90
コピペミスったw

動的型付けが効率がいいのは、ちゃんと設計もできて
最初から書くときだけ。つまり修正する必要がないときだけ。

試行錯誤するフェーズというのは、そこで書いたコードは捨てるレベル。
捨てるのだから修正する必要はない。だからここでも動的型付けは効率がいい。
だいたい決まったフェーズとか完全に間違い。

実際のプロジェクトの多くは、修正がメインになる。
プロジェクトが大きい物ほど、すでに作られたものを修正することのほうが多い。
そしてプロジェクトが大きい物ほど、人の入れ替わりも多く
つまり「なにも知らない人がいきなり修正を任される」ってことが多くなる。

バグの原因は、想定外のことが発生したから。
なぜ想定外のことが発生するかというと知るべきことに気づかなかったから。
なぜ気づかなかったかというと、その知るべき情報を手に入れられなかったから。

これが静的型付け言語だと、簡単の情報を手に入れることができる。
メソッドを右クリックしてぽちっと押すだけで、そのメソッドを使っている箇所が
すべて判明する。これは一例であり静的型付け言語だともっと多くの情報を手に入れられる。

よって、動的型付け言語はなぐり書きするのは効率がいいが
修正するときには静的型付け言語のほうがはるかに効率が高い。
239 :デフォルトの名無しさん2011/11/12(土) 15:23:17.14
Smalltalk以外の動的型付け言語はクソっていう
結論になっていることに気づけ馬鹿ども
自滅したいのか
240 :デフォルトの名無しさん2011/11/12(土) 15:23:40.44
>>239
それでいいよw
246 :デフォルトの名無しさん2011/11/12(土) 15:28:41.20
>>239
えーと、それは

・動的型付け言語であっても大規模開発規模に対応可能なIDEは実現可能である

という事実を認めたということでいいのかな?
248 :デフォルトの名無しさん2011/11/12(土) 15:30:21.87
>>246
> ・動的型付け言語であっても大規模開発規模に対応可能なIDEは実現可能である

いいえSmalltalkだけです。ちゃちなIDEが作れるのはw
242 :デフォルトの名無しさん2011/11/12(土) 15:25:30.33
リファクタリングはSmalltalkで始まったけど
リファクタリングブラウザは、Smalltalkじゃろくな実装作れなかっただろ。
知らないのか?
244 :デフォルトの名無しさん2011/11/12(土) 15:26:14.53
>>242
ラルフにそう言ってみれば?
243 :デフォルトの名無しさん2011/11/12(土) 15:25:48.82
静的厨って、リファクタリングもデザパタもSmalltalk由来だってことすら知らないの?

それってプログラミングのプロとしてすごく恥ずかしいことだと思うんだけど。
251 :デフォルトの名無しさん2011/11/12(土) 15:31:21.44
>>243
知ってる。

Smailtalkから始まって、その他の言語に移っていった。
そして今はSmailtalkは殆ど使われていない。

0号機が一番強いなんて設定は
アニメの中だけだよw
253 :デフォルトの名無しさん2011/11/12(土) 15:33:04.72
>>251
知らないってことは恥ずかしいことじゃないが、
知らないことを自覚していないことはすごく恥ずかしいことなんだぜ?
255 :デフォルトの名無しさん2011/11/12(土) 15:35:00.09
>>253
自分に言うようにw
259 :デフォルトの名無しさん2011/11/12(土) 15:37:58.41
>>255
Smalltalkで開発されたシステムなら、ウォールストリートにいっぱいあるぜ?

人は見たいものだけを見るものだってカエサルの言葉が、お前見てると頭によく浮かぶよw
261 :デフォルトの名無しさん2011/11/12(土) 15:40:25.80
>>259
他人が何を作ったかなんか関係ないよ。
Smalltalk に限らんが、一般にマイナー言語厨は人の褌で相撲取りすぎ。
264 :デフォルトの名無しさん2011/11/12(土) 15:42:59.42
>>261
おまえはキチガイか?
使われていないというから、使われていることを示したのだが?

そんなに自分が書いたコードに限定したいなら、
まずはお前が書いたコードを示せ。今すぐだ。
269 :デフォルトの名無しさん2011/11/12(土) 15:46:16.88
>>264
コードっつーか実体験で書いてるっつーレスがないから
全然なんだよ。

大規模開発の話だろ?
今まで「協力会社さん」の面接100人以上やってるが、
業務経歴書のプログラミング言語欄にSmalltalkなんて書いてる奴いねーよ。
人も集まらん言語でどうやって大規模開発するんだ?
245 :デフォルトの名無しさん2011/11/12(土) 15:27:43.70
Smalltalk童貞のくせにEclipse自慢のやつって、
ジョブズがSmalltalk GUIをパクったことを知らないでドヤ顔の
旧マカに似ててかわいいな。
278 :デフォルトの名無しさん2011/11/12(土) 15:53:24.38
>>245
言えてる

「アップル以外のマウスじゃボタンがいっぱいで使いにくい!」とか
言ってたアフォなおっさんが昔いたのを思い出したわw
247 :デフォルトの名無しさん2011/11/12(土) 15:29:41.36
これが現存するSmailltalk用の一番まともなリファクタリングブラウザだけど
こんなくだらない機能しかないんだぜ。
http://st-www.cs.illinois.edu/users/brant/Refactory/
undoとかリファクタリングと関係ない機能まで書いてあるしw
252 :デフォルトの名無しさん2011/11/12(土) 15:32:47.55
>>247
ググるにして何年前の資料だよ!w
256 :デフォルトの名無しさん2011/11/12(土) 15:35:27.37
>>247
なつかしいな、それ、15年ぐらい前だったか?
よく探してきたな、そんな初期のパッケージ。

おまえ、実はロートルスモールトーカーなんじゃねーの?
249 :デフォルトの名無しさん2011/11/12(土) 15:30:52.31
おもちゃとは言えフリーでSmalltalkいじれるいい時代に、なんで触っておかないのかね。
http://pharobyexample.org/
254 :デフォルトの名無しさん2011/11/12(土) 15:34:56.28
>>249
おもちゃを触るほど暇じゃないし
250 :デフォルトの名無しさん2011/11/12(土) 15:31:14.80
Smalltalkを知らずにIDEを語るヤシって
自分じゃ恥ずかしくないのかな?
258 :デフォルトの名無しさん2011/11/12(土) 15:37:49.80
Smalltalkのリファクタリングの限界を知りたいなら
これを見るといい。何も出来ないといってもいいから。

ST 4U 105: Using the Refactoring Browser in VA Smalltalk
http://www.youtube.com/watch?v=jih7QVlbzj8
260 :デフォルトの名無しさん2011/11/12(土) 15:39:39.88
>>258
だってそれ、標準との差分の説明だから。おまえ、英語大丈夫?
263 :デフォルトの名無しさん2011/11/12(土) 15:41:27.90
Smalltalkのリファクタリングが凄いと言い張っているやつが
動画なり資料を見つけてくるべきだな
267 :デフォルトの名無しさん2011/11/12(土) 15:45:17.66
>>263
Smalltalkのリファクタリングが凄いつーより、
Java厨が例示する「静的型付言語の最強リファクタリング機能」ってのが
Smalltalkでは黎明期から実装されている常識的基本機能だと言ってるだけ。

文句あるならJava厨に言えw
265 :デフォルトの名無しさん2011/11/12(土) 15:44:38.35
動的型付け言語だと、メソッドの引数の順番を変えるとか
継承関係にあるクラスのメソッドを修正するとか
そういったことを自動的にするのが壊滅的だよ。

修正したら、何かを壊してしまう。
Smalltalkもそれは例外じゃない。
271 :デフォルトの名無しさん2011/11/12(土) 15:46:41.02
>>265
それは仕方ないね。

型がないから、同じものなのか、同じ名前で違うものなのか区別できない。
動的型付け言語で機能が限定的になるのは仕方ないこと。
273 :デフォルトの名無しさん2011/11/12(土) 15:47:06.00
>>265


それ、本気で言ってんの?
すげえ面白い冗談だなw
275 :デフォルトの名無しさん2011/11/12(土) 15:47:35.54
今から>>273が証拠つきつけてくれるらしいw
さあ、正座してまとうw
277 :デフォルトの名無しさん2011/11/12(土) 15:50:55.52
>>275
証拠もなにも、
Squeak/Pharoの標準ブラウザのmethod refactoringに
add parameterとremove parameterがあるが、

それがどうかしたか?www
279 :デフォルトの名無しさん2011/11/12(土) 15:53:33.93
>>277
それはいつからあったの?
SqueakでもPharoでもよいけど、世に出た最初のバージョンから
既に標準ブラウザのmethod refactoringにadd parameterとremove parameterがあったの?
282 :デフォルトの名無しさん2011/11/12(土) 15:57:04.65
>>279
どうしてそうなるの? 可不可の問題じゃないの? 馬鹿なの? 死ぬの?
283 :デフォルトの名無しさん2011/11/12(土) 15:57:42.71
>>279
Sun JDKが世に出た最初のバージョンではリファクタリングはどうだったのよ?
284 :デフォルトの名無しさん2011/11/12(土) 15:57:43.47
>>282
えっ黎明期から当たり前だったんじゃないの?違うの?
286 :デフォルトの名無しさん2011/11/12(土) 15:59:48.92
>>284
おまえ、完全に頭おかしいぞ
311 :デフォルトの名無しさん2011/11/12(土) 16:16:30.13
>>283 への答えは?
322 :デフォルトの名無しさん2011/11/12(土) 16:25:19.68
>>283 への答えは?
静的厨は煽ることしかできないのか?
266 :デフォルトの名無しさん2011/11/12(土) 15:44:43.72
>Smalltalkで開発されたシステムなら、ウォールストリートにいっぱいあるぜ?
これは示したことにならんだろw
268 :デフォルトの名無しさん2011/11/12(土) 15:45:44.53
>>266
FedExは?
270 :デフォルトの名無しさん2011/11/12(土) 15:46:23.50
そろそろ厚顔無恥無断転載じじぃきむら(K)がやってくるレベル。
272 :デフォルトの名無しさん2011/11/12(土) 15:46:51.84
「静的型付言語の最強リファクタリング機能」ってのは
具体的にどのリファクタリング機能を指しているんだ?
276 :デフォルトの名無しさん2011/11/12(土) 15:47:46.50
>>272
senders w
274 :デフォルトの名無しさん2011/11/12(土) 15:47:29.99
教えてくれよ。Smalltalkで開発できる技術者って人月いくらだよ。
相場教えてくれよ。なあ。
281 :デフォルトの名無しさん2011/11/12(土) 15:56:03.98
な?
言語自慢は威勢がよくても>>274みてーな大前提でだんまりだよ。

結論:
人がいなけりゃ開発できない
285 :デフォルトの名無しさん2011/11/12(土) 15:59:09.64
>>281
俺は良い時で人月250万ぐらいだったな。今は200万ぐらいか。
一番景気悪い時でも150万まで落ち込んで、マジで落ち込んだわ。
287 :デフォルトの名無しさん2011/11/12(土) 16:00:12.66
>>285
高すぎる
289 :デフォルトの名無しさん2011/11/12(土) 16:01:19.33
さて、では>>274と>>281の人月単価を晒してもらおうか。
他人様に要求した以上は、当然自分の人月単価を晒すよな?

これで答えないようなら、人間として最低のクズだぞw
290 :デフォルトの名無しさん2011/11/12(土) 16:04:02.19
さあ! さあっ! >>274 >>281
296 :デフォルトの名無しさん2011/11/12(土) 16:06:17.33
>>285
それ個人だろw
「Smalltalk開発者5人よろしく」
って話なんだよ。わかってねーなー
280 :デフォルトの名無しさん2011/11/12(土) 15:54:38.72
教訓:
1. IDEをネタに動的言語をDISって遊ぶときは、めんどくせーからSmalltalkはあらかじめ除外しておけ。
2. 動的言語を尻目にEclipseの自慢をするときは、事前にSmalltalkの機能くらいはさらっておけ。
292 :デフォルトの名無しさん2011/11/12(土) 16:04:41.51
Smalltalker1人いれば、少なくともJavaドカタ10人チームよりは開発能力あるからなーw
単価200万とか、バーゲン価格だろ
295 :デフォルトの名無しさん2011/11/12(土) 16:06:12.80
>>292
リアルでそんな事言っている奴がいたから、
じゃあSmalltalk使っていいから1/10の給料で働いてくれって
言ったら黙ったよw
299 :デフォルトの名無しさん2011/11/12(土) 16:07:21.20
>>295
で、おまえの単価はいくらか答えろ。命令だ。
293 :デフォルトの名無しさん2011/11/12(土) 16:05:16.84
smalltalk使って仕事ができないから
八つ当たりしてるんだろうw
298 :デフォルトの名無しさん2011/11/12(土) 16:06:36.36
>>293
答えろ。(マジ
294 :デフォルトの名無しさん2011/11/12(土) 16:06:03.08
他人様に人月単価を言わせといて、荒らし呼ばわりか。
静的厨って、みんなこんな程度の人格なの?
297 :デフォルトの名無しさん2011/11/12(土) 16:06:32.52
口だけで10倍とか言ってないで
実力を見せたらどうだw
300 :デフォルトの名無しさん2011/11/12(土) 16:07:58.71
1億万円
303 :デフォルトの名無しさん2011/11/12(土) 16:09:31.31
>>300
お前は技術論以前の、人間として最低なクズ野郎だ。
軽蔑にも値しない。消えろ。
301 :デフォルトの名無しさん2011/11/12(土) 16:08:40.92
相場を聞いているのに
自分の単価を言って
いちゃもんつける
真性のキチガイか
304 :デフォルトの名無しさん2011/11/12(土) 16:10:13.44
>>301-302
それが言い訳か?おまえはその程度の倫理観の人間なんだな。よくわかった。
469 :デフォルトの名無しさん2011/11/12(土) 18:05:05.90
>>289
>>290
>>294
>>298
>>299
>>303
>>304

これが動的厨の品性
302 :デフォルトの名無しさん2011/11/12(土) 16:09:15.89
自己申告は嘘の可能性が高いから
相場を聞いているわけだな。
305 :デフォルトの名無しさん2011/11/12(土) 16:11:29.50
結論:静的型言語をつかっていると技術以前に人間として狂ってしまう。
308 :デフォルトの名無しさん2011/11/12(土) 16:12:46.08
相場と自分の単価の区別もつかないのに大規模開発は無理だろw
仕様書読めるかどうかも怪しい
310 :デフォルトの名無しさん2011/11/12(土) 16:14:57.62
RubyやPythonやPerlやPHPのIDEの話をしよう。

それぞれの言語で、最高のIDEはどれだ?
最低限リファクタリングツールの機能は付いているもので。
312 :デフォルトの名無しさん2011/11/12(土) 16:16:39.73
ScalaNinjaの@maeda_さん主催のSmalltalk勉強会@名古屋 そろそろ始まるらしい。
http://twitter.com/#!/maeda_/status/135253704063451137
321 :デフォルトの名無しさん2011/11/12(土) 16:24:40.21
>>312
いーなー、俺も勉強会に出れるような都会にいれば良かった。
ttp://bit.ly/mWaBd7
313 :デフォルトの名無しさん2011/11/12(土) 16:19:23.90
単価は上限が決まってるから、
どれだけ本当に凄腕でも無理なもんは無理。
ご縁が無かったということで
314 :デフォルトの名無しさん2011/11/12(土) 16:19:24.34
おまえら、関数型の人も頑張ってSmalltalk勉強してみようって言っているこの時期に
おもちゃなんか触っているひまねーとか…
315 :3102011/11/12(土) 16:20:32.19
ちくしょー、やっぱり動的型付け言語だと無いのか!
317 :デフォルトの名無しさん2011/11/12(土) 16:22:25.84
>>315
Smalltalkは別格。ザクとは違うのだよ、ザクとは!
318 :デフォルトの名無しさん2011/11/12(土) 16:22:31.60
いい加減、動的言語と動的型付けの区別ぐらいつけろよ。
無能ども。
319 :デフォルトの名無しさん2011/11/12(土) 16:23:04.12
一番優れた動的型付け言語が
一番使われてないのはなぜ?w
323 :デフォルトの名無しさん2011/11/12(土) 16:25:33.98
>>319
おまえ、本気でJavaやWindowsが一番優れているとか思っているの?
326 :デフォルトの名無しさん2011/11/12(土) 16:27:31.84
>>323
JAVA+IDE+Windowsって一番多いんじゃないの?ここでいう土方ならほぼ100%
だろ?
324 :デフォルトの名無しさん2011/11/12(土) 16:25:34.27
Smalltalk は今という時期の理由がわからん
関数型は、マルチコアマルチスレッドやGPGPUといった流れの中で、
参照透過性と並列処理との相性の良さが理由になって持て囃されるのはわかる
むしろ今こそ KL1 でどうだ
327 :デフォルトの名無しさん2011/11/12(土) 16:27:56.95
>>324
ダイナブック論文を読めば、Smalltalkの真価が発揮されるのはこれからだとわかる。
325 :デフォルトの名無しさん2011/11/12(土) 16:26:54.88
はいはい。Smalltalk童貞のまま年喰ったおじいちゃんはあっちいっていようね。
328 :デフォルトの名無しさん2011/11/12(土) 16:29:20.55
多ければ優れているというドカタ言語の論理は、
大腸菌こそが至高の生物だと言っているようなもの。
329 :デフォルトの名無しさん2011/11/12(土) 16:29:24.21
正直論文とか勘弁してください。
ム板だからしょうがないか。スレがマ板向けだよなこれ。
332 :デフォルトの名無しさん2011/11/12(土) 16:31:00.36
>>329
論文とか言ってもケイのは読み物の類。
http://swikis.ddo.jp/abee/74
330 :デフォルトの名無しさん2011/11/12(土) 16:30:16.43
Smalltalk勉強会って
ちょっと古文や漢文読んでみるみたな軽いノリだろ
Smalltalkをメインに使っていこうって感じじゃないでしょ
337 :デフォルトの名無しさん2011/11/12(土) 16:34:24.29
>>330
(アジェンタより)

今後なにやるか
- Amber Smalltalk http://amber-lang.net/ の開発に貢献
- メディアアート向けのフレームワークの開発
(ProcessingやOpenFrameworksのような)
- Smalltalkを改造
 + パターンマッチ
 + モナド用の構文(F# のコンピュテーション式)
 + trait(amberにはない)
- blue bookを和訳
-プログラミングのローレベルな部分(コンパイラ・インタプリタなど)のコードを読む・いじる
331 :デフォルトの名無しさん2011/11/12(土) 16:30:43.24
そんなにSmalltalkが使われていないと言うんだったら
その証拠持ってきてみなさいよ。
333 :デフォルトの名無しさん2011/11/12(土) 16:31:04.61
はいどうぞ
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
1 1 Java 17.874% -0.63% A
2 2 C 17.322% +0.61% A
3 3 C++ 8.084% -1.41% A
4 5 C# 7.319% +1.61% A
5 4 PHP 6.096% -1.72% A
6 8 Objective-C 5.983% +2.79% A
7 7 (Visual) Basic 5.041% -0.43% A
8 6 Python 3.617% -2.06% A
9 11 JavaScript 2.565% +0.90% A
10 9 Perl 2.078% -0.39% A
11 10 Ruby 1.502% -0.40% A
12 20 PL/SQL 1.438% +0.78% A
13 13 Lisp 1.182% +0.09% A
14 15 Pascal 0.991% +0.21% A
15 21 MATLAB 0.955% +0.32% A--
16 12 Delphi/Object Pascal 0.872% -0.77% A
17 23 ABAP 0.847% +0.25% A--
18 22 Lua 0.635% +0.02% A-
19 16 Ada 0.622% -0.07% B
20 19 RPG (OS/400) 0.620% -0.04% B
21 Logo 0.592%
22 Transact-SQL 0.550%
23 Visual Basic .NET 0.533%
24 Assembly 0.529%
25 COBOL 0.522%
26 Scratch 0.522%
27 R 0.500%
28 Scheme 0.453%
29 NXT-G 0.447%
30 Fortran 0.440%
340 :デフォルトの名無しさん2011/11/12(土) 16:37:01.38
>>333
いや。TIOBEって10位より下はあてになんないから。メディアリテラシー欠如なの?
352 :デフォルトの名無しさん2011/11/12(土) 16:48:17.15
>>340
10位以上と10位より下で区切る根拠は?
もしかしてPerl厨ですか?
334 :デフォルトの名無しさん2011/11/12(土) 16:31:25.78
31 ActionScript 0.405%
32 Erlang 0.404%
33 VHDL 0.398%
34 C shell 0.393%
35 SAS 0.386%
36 Go 0.364%
37 Prolog 0.353%
38 Forth 0.331%
39 D 0.322%
40 Haskell 0.314%
41 APL 0.277%
42 Tcl 0.264%
43 Smalltalk 0.263%      ← ここ
44 ML 0.261%
45 Ladder Logic 0.251%
46 Awk 0.247%
47 PL/I 0.242%
48 Alice 0.234%
49 F# 0.230%
50 Q 0.221%
342 :デフォルトの名無しさん2011/11/12(土) 16:40:42.01
>>334を見れば分かる通り
実際に選ばれてないからなぁw
346 :デフォルトの名無しさん2011/11/12(土) 16:43:28.64
>>342
いやいや。TIOBEはネットでの言及ランキングだから。メディアリテラシー皆無なの?
348 :デフォルトの名無しさん2011/11/12(土) 16:44:56.08
>>342
みてわかるのは、おまえが統計データの読み方を知らないということ。
349 :デフォルトの名無しさん2011/11/12(土) 16:46:47.83
>>346
反論したいなら、お前が信じるデータもってこいと言う話だよ。
351 :デフォルトの名無しさん2011/11/12(土) 16:47:41.99
>>349
それがナナメ上なデータでドヤ顔した言い訳か?
354 :デフォルトの名無しさん2011/11/12(土) 16:50:33.14
>>349
メディアリテラシー欠如者にどんなデータ持ってこいと…
はっ。もしかして「メディアリテラシー」すら分からないのか?
335 :デフォルトの名無しさん2011/11/12(土) 16:31:26.78
勉強会ってのは横のつながりを作るために開催/参加するもので
ぶっちゃけネタは何だっていいんだよ
336 :デフォルトの名無しさん2011/11/12(土) 16:34:08.40
Smalltalk的なシステムはマイナーと言いたいようだが、、、

Objective-Cはオブジェクト指向部分は動的型付けだしC系では一番Smalltalk的だな。
Objective-Cって、アプリのインストール数でいえばマイナーなのかな?
338 :デフォルトの名無しさん2011/11/12(土) 16:35:53.56
>>336
いや「的」じゃなくてSmalltalkがマイナーだと名指しで言われてるだけだろ
343 :デフォルトの名無しさん2011/11/12(土) 16:40:42.49
>>336
Objective-CはC/C++のコードも動かせるからな
大部分のコードはC/C++だよ
344 :デフォルトの名無しさん2011/11/12(土) 16:42:21.37
>>343
え、それ、本気でそう思ってる?

なんともはや…
345 :デフォルトの名無しさん2011/11/12(土) 16:43:25.42
>>343
正直に答えてくれ。あんた、Objective-Cで開発したことないだろ?
367 :デフォルトの名無しさん2011/11/12(土) 17:00:09.16
>>343
>Objective-CはC/C++のコードも動かせるからな
>大部分のコードはC/C++だよ

痛イ、痛スグルwwwーーー

これだから静的厨ってのは....
487 :デフォルトの名無しさん2011/11/12(土) 19:23:01.66
>>345
いや、Objective-CにはC++のコードを混ぜられるって知ってから、ほとんどC++で書いてる。
496 :デフォルトの名無しさん2011/11/13(日) 05:21:00.39
>>487
自分がそうしてるからって、みんなObjective-CをC++として使ってると思い込んじゃったの?
503 :デフォルトの名無しさん2011/11/13(日) 11:45:17.16
>>496
いやおれは>>343じゃないから。
「Objective-Cを使ったことがないだろ」に対するツッコミ。
339 :デフォルトの名無しさん2011/11/12(土) 16:36:03.34
プログラミング言語を使って
ものづくりをする人間は
smalltalkを選ばない法則
341 :デフォルトの名無しさん2011/11/12(土) 16:37:56.13
>>339 を読むと、静的型付け言語を使う人の品性がわかるね♪
350 :デフォルトの名無しさん2011/11/12(土) 16:47:36.19
忙しくても、とりあえずこれくらいでならSmalltalk触っておけるだろ。
http://amber-lang.net/learn.html
355 :デフォルトの名無しさん2011/11/12(土) 16:51:01.71
>>350
触る価値がない
353 :デフォルトの名無しさん2011/11/12(土) 16:50:27.04
あんまり土方をいじめるなよw
こいつら、どうせ開発言語を選ぶ権利なんてない底辺肉体労働者なんだからww
357 :デフォルトの名無しさん2011/11/12(土) 16:51:33.54
そのデータは信じない!
じゃあなにを信じるの?

信じるのは己だけだ!
つまり、何のデータもない、妄想を信じると?
360 :デフォルトの名無しさん2011/11/12(土) 16:52:33.47
>>357
やっぱ馬鹿だこいつ。
358 :デフォルトの名無しさん2011/11/12(土) 16:52:03.24
単価60万が休日に2chやってるのと
単価250万が休日に2chやってるのと
どっちが滑稽かって話だろうな
359 :デフォルトの名無しさん2011/11/12(土) 16:52:20.25
Smalltalkが使われてないのは事実なんだから
そんな勝ち目のない所に口を出さなきゃいいのに・・・。

それとも勝ち目があるの?
なら勝ってみせてよ。
361 :デフォルトの名無しさん2011/11/12(土) 16:53:03.99
Smalltalkに単価なんてないだろw
募集してないんだからwww
362 :デフォルトの名無しさん2011/11/12(土) 16:54:25.59
>>361に単価60万も払えねえよww
363 :デフォルトの名無しさん2011/11/12(土) 16:55:34.87
別に誰もSmalltalk自体が糞言語だなんてdisってないのに。
大規模開発のスレなんだから、その言語がいくら優れていたとしても、
現実問題として、大規模開発に使えない技術以外の要因があるんだから
しょうがないでしょと。それだけなのに。
369 :デフォルトの名無しさん2011/11/12(土) 17:00:42.17
>>363
> 別に誰もSmalltalk自体が糞言語だなんてdisってないのに。

このスレの今日分のログ読んでもそう思うのなら、日本語を勉強しなおしたほうがいいよ。
煽りじゃなく、アドバイス。
364 :デフォルトの名無しさん2011/11/12(土) 16:55:48.16
金は言語に対して払うんじゃない。
作ったものに対して払うもんだ。
365 :デフォルトの名無しさん2011/11/12(土) 16:57:14.65
ぶっちゃけさー。

なんでみんなエスペラント勉強しないの?馬鹿なの?

って言ってるようなもんですよ。
ここのSmalltalkの人。
368 :デフォルトの名無しさん2011/11/12(土) 17:00:21.34
>>365
学がないのは分かったから、ぶっちゃけるならせめてラテン語に喩えておけ。
366 :デフォルトの名無しさん2011/11/12(土) 16:58:03.93
優秀なSmalltalkプログラマ1人と
優秀なJavaプログラマ10人なら
後者のほうがはるかに開発量は多いだろうな。
371 :デフォルトの名無しさん2011/11/12(土) 17:03:43.03
>>366
開発量を行数で測るなら、そうだろうな。
開発量を、同じ案件を実装した時の工期の逆数として測るなら、おそらく前者のほうが上。
370 :デフォルトの名無しさん2011/11/12(土) 17:03:34.39
一時的に仮付けした名前を
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
みたいなステキな名前に変更するためにIDEのリファクタリング機能必要でしょ
最初からこんな名前考えるのも面倒だし
372 :デフォルトの名無しさん2011/11/12(土) 17:04:28.36
>>370
逆。そんな長い名前をつけてしまったものを
あとから正しく直すのがリファクタリング機能の一つ
373 :デフォルトの名無しさん2011/11/12(土) 17:05:26.43
>>370
開発中に自分用メモとして仮付けした名前を仕様書にあわせて
F5291 みたいなステキな名前に変更するためのリファクタリング機能です
376 :デフォルトの名無しさん2011/11/12(土) 17:07:00.27
Smalltalkに関しては色々あるが簡単に特定されそうなので黙っておこう
一応アランケイとは面識がある
377 :デフォルトの名無しさん2011/11/12(土) 17:08:39.08
ぶっちゃけ、今の若いエンジニアはJavaなんて相手にしてないでしょ。
大学で情報系やってきた就活生は、大抵はObjective-CかHaskellあたりに興味を示す。
あとはC++とか、たまにRだな。
Javaとかやってもスキルの商品価値はあと5年も持たないと知ってるからね。
379 :デフォルトの名無しさん2011/11/12(土) 17:09:17.60
>>377
学生の興味とかどうでもいいわw
383 :デフォルトの名無しさん2011/11/12(土) 17:10:18.19
>>379
今のうちにコボルオヤジの体験談を聞いて対策しておけ、ってことだろw
378 :デフォルトの名無しさん2011/11/12(土) 17:08:43.11
関係者の言うことは、宣伝が入っているから
話半分に聞くことにしている。
381 :デフォルトの名無しさん2011/11/12(土) 17:09:44.14
>>378
話半分で聞かれることを想定して話しているので半分も聞いてはいけない
384 :デフォルトの名無しさん2011/11/12(土) 17:10:32.86
>>381
わかった。全く聞かないことにするw
380 :デフォルトの名無しさん2011/11/12(土) 17:09:43.84
一応ストラウストラップとは会ったことがある
相手は覚えてないだろうけど
382 :デフォルトの名無しさん2011/11/12(土) 17:09:50.04
学生は所詮、素人だからね・・・。
389 :デフォルトの名無しさん2011/11/12(土) 17:11:38.63
>>382
くやしいのおw
385 :デフォルトの名無しさん2011/11/12(土) 17:10:47.06
エスペラント語とか馬鹿にして、動的言語に何年か遅れて静的言語にもTraitsが入ってきたとき
Smalltalkに呪いに言葉を吐きつつ土方たちが必至こいて勉強する姿が目に浮かぶようだ。
388 :デフォルトの名無しさん2011/11/12(土) 17:11:37.58
>>385
結局、静的言語に取り入れられるのかよw
392 :デフォルトの名無しさん2011/11/12(土) 17:12:57.42
>>385
もうScalaには入ってるんじゃなかったか?
このスレでは静的型言語=Javaなのか?

実際のところ、Javaは「ブルーカラーの言語」だから難しい機能は入らない可能性が高いよ
393 :デフォルトの名無しさん2011/11/12(土) 17:13:05.17
>>388
そりゃそうだろ。
今までもずっと、動的言語で発案された技術が静的型言語に移植されて、ドカタがドヤ顔で自慢してきた。
歴史は繰り返すのさ。
394 :デフォルトの名無しさん2011/11/12(土) 17:13:47.45
>>388
うん。動的型付け言語は実験的な言語の意味合いが強い。
そこで研究されてから、そののち静的言語に洗練された形で
統合される。

今までの歴史がそうだろう?
395 :デフォルトの名無しさん2011/11/12(土) 17:14:31.97
>>392
あ、「難しい機能」なんだw お前にとっては?w
396 :デフォルトの名無しさん2011/11/12(土) 17:14:58.71
>>385
何にせよ、プログラミング言語一つ覚えるときに一々必死にはならんだろ

というか必要な時期に勉強する方が
それこそ先駆者が必死に作ってくれた「ドカタでも分かりやすい」情報が
溢れているから楽だ。
庶民には庶民の知恵がある。先頭を走る奴とは価値観が違うんだよ
398 :デフォルトの名無しさん2011/11/12(土) 17:15:06.17
>>395
だってクロージャごときが「難しい機能」としてマジで議論される言語だぜ?
399 :デフォルトの名無しさん2011/11/12(土) 17:15:47.14
>>398
お前の周りで?w
401 :デフォルトの名無しさん2011/11/12(土) 17:17:55.28
>>399
http://www.infoq.com/jp/news/2007/12/closures-preserving-feel-of-java
「Javaはブルーカラーの言語」
「「Javaらしさ」にさらなるダメージを与える危険を冒してはならない」
「ジェネリクスは大失敗でした。Javaの習得や理解は難しくなりましたが、それを避けることはできないのです」
402 :デフォルトの名無しさん2011/11/12(土) 17:18:39.94
>>399
え?
405 :デフォルトの名無しさん2011/11/12(土) 17:21:33.74
>>394
くしくも戻ってきた。w
動的言語の「試行錯誤するフェーズ」っていうのは、言語それ自体も対象になるそういうものだ。
http://metatoys.org/oxymoron/oxymoron.html
407 :デフォルトの名無しさん2011/11/12(土) 17:23:06.05
>>392
Scalaのあれは名前だけで中身はただの抽象クラスの多重継承。
410 :デフォルトの名無しさん2011/11/12(土) 17:24:03.05
>>405
だから、研究用なんだよね。

なぐり書きするのは最適、
でもそのあとで大きく作るのは大変。

大きくしてしまったら、そのあとは修正がメインになる。
修正フェーズでは、コードを把握するのが楽な静的型付け言語が有利となる。
416 :デフォルトの名無しさん2011/11/12(土) 17:27:22.09
>>410
いや、だからSmalltalkはSmalltalkで書かれていて修正もされつつ運用されているわけで。
つーかリンク先ぜんぜん読んでねーだろ?
420 :デフォルトの名無しさん2011/11/12(土) 17:30:39.48
>>416
「できる」と簡単に出来るかどうかってのは話は別。
たとえば、ヨットでだってアメリカにいける。
421 :デフォルトの名無しさん2011/11/12(土) 17:33:03.03
>>410
Javaでのチーム開発とSmalltalkでのチーム開発を比べた経験から言えば、
メンテはSmalltalkのほうが遥かに簡単だ。

なにせコード量が違う。ドカタコードはメソッドが長いし、クラスも大きなクラスが多い。
Smalltalkのほうが単機能なメソッド、単機能なクラスにまとめやすい。

なぜかそうなるのかというと、それぞれの言語の既存のライブラリのコードがそうなっているから。
新しく書き下ろしたコードも既存のライブラリを使えば、どうしても既存コードの粒度に引きずられる。
書き下ろされたコードをリファクタリングしたりデバッグしたり機能拡張する時は、
Javaのほうが周囲のコードからの束縛が強いことが多い。
だからJavaのコードをいじるときには本当に神経を使う。Smalltalkのほうが分解しやすい。

以上、俺個人の経験だから、そうじゃないという経験がある人は反論してくれ。
423 :デフォルトの名無しさん2011/11/12(土) 17:35:15.47
>>416
仕事じゃねーから読みたいと思うもんしか読まねーよ。
長文ならなおさら。
読みたい!と思わせるような紹介ができないのが問題。
マイナー言語を宣伝するなら宣伝力を身につけよう!
426 :デフォルトの名無しさん2011/11/12(土) 17:36:28.39
>>420
そもそも静的言語で出来ていないことをSmalltalkはやっているだろ?
静的言語で組まれたソフトで、30年動き続けているものがあるのか?
修正がラクなら出来るんだよな? つーか動かしながら修正すらおぼつくまい。
427 :デフォルトの名無しさん2011/11/12(土) 17:36:39.89
>>421
次はチームが使う言語を逆にして比べるべきだね。

Smalltalkを使っていたチームがJavaを使うと、ドカタコードになるのか。
JavaチームがSmailltalkを使うと、驚異的にコードが良くなるのか。

それを経験してからまたおいでw
428 :デフォルトの名無しさん2011/11/12(土) 17:37:24.12
>>423
> 仕事じゃねーから読みたいと思うもんしか読まねーよ。

カエサルの言うとおりだな。凡人は事実を見ずに、見たいと思うものだけを見る。
432 :デフォルトの名無しさん2011/11/12(土) 17:39:04.46
>>427
ほぼ同じメンバーのチームで、ほぼ同じ内容のシステムの開発を比較したんだけど。
ちなみに、Smalltalkが先で、Javaは後で開発。それでもSmalltalkのほうが整理されていた。
433 :デフォルトの名無しさん2011/11/12(土) 17:39:34.17
>>432
それはJavaの経験が浅かっただけだなw
436 :デフォルトの名無しさん2011/11/12(土) 17:40:32.41
>>433
いや、ほとんどのメンバーは5年以上の経験を持っていた。
むしろSmalltalkのほうが初めてという形だった。
437 :デフォルトの名無しさん2011/11/12(土) 17:41:33.19
>>436
いやさ、だから先とか後とか関係ないんだよ。
両者を”入れ替えれ”と言ってる。
440 :デフォルトの名無しさん2011/11/12(土) 17:44:24.54
>>437
だから、ほぼ同じメンバーだと言っている。 >>432
443 :デフォルトの名無しさん2011/11/12(土) 17:45:25.67
>>440
だから経験の違いだろ。
445 :デフォルトの名無しさん2011/11/12(土) 17:46:54.74
>>443
だから、ほとんどのメンバーはJavaのほうが経験が長かった、と言っている。>>436
386 :デフォルトの名無しさん2011/11/12(土) 17:11:08.28
じゃあ全く関係ない俺の話。

SmallTalkは現場では全く使われていない。
397 :デフォルトの名無しさん2011/11/12(土) 17:14:59.28
関数型言語というパラダイムも動的型付言語が発祥だな。
オブジェクト指向というパラダイムも動的型付言語が発祥だな。

もっと遡れば、
チューリングマシンも動的型付だし、ラムダ計算も動的型付だ。
400 :デフォルトの名無しさん2011/11/12(土) 17:15:52.83
動的言語には洗練されないまま残るわけだ
smalltalkのリファクタリングみたいに
406 :デフォルトの名無しさん2011/11/12(土) 17:21:45.77
基本的に年寄りは新しいことを覚えるのが遅い。
だからSmalltalkも拒否する。
408 :デフォルトの名無しさん2011/11/12(土) 17:23:15.36
新しいものが好きな奴は、今時2chにいない。
ネラーのユーザ構成は基本年寄りだと認識しなさい。
409 :デフォルトの名無しさん2011/11/12(土) 17:23:27.08
もしもJavaのジェネリクスが完全だったら、
ヌルポとは永遠におさらばできていたんだよな..... (遠い目)
411 :デフォルトの名無しさん2011/11/12(土) 17:24:40.14
>>409
nullで初期化できるんだから型の問題じゃなくね?
417 :デフォルトの名無しさん2011/11/12(土) 17:28:13.68
>>409
そこでモナドでしょう!
413 :デフォルトの名無しさん2011/11/12(土) 17:25:32.89
こんどPHPが、PerlのRoleとかより比較的ちゃんとしたTraits入れてくるよね。
418 :デフォルトの名無しさん2011/11/12(土) 17:28:17.88
mixinと何が違うんだ?
419 :デフォルトの名無しさん2011/11/12(土) 17:30:33.25
422 :デフォルトの名無しさん2011/11/12(土) 17:34:14.96
> ドカタコードはメソッドが長いし、

これが答えなだけじゃんか。

結局違いが出てるのは、プログラマの技術力に違いがあったからってだけだろ。
俺の所の優秀なJavaプログラマなら、コード量は少ない。
424 :デフォルトの名無しさん2011/11/12(土) 17:36:08.80
>>422
Smalltalkでの経験をベースにして、比較した上で言っている?
それとも単にJavaのコードしては短いほうだと思う、という話?
425 :デフォルトの名無しさん2011/11/12(土) 17:36:26.45
優秀なJavaプログラマより
10倍優れているという
Smalltalkのコードを見せてみ?
429 :デフォルトの名無しさん2011/11/12(土) 17:37:57.29
>>425
Scratchのコードでもダウンロードして読んでみれば?
434 :デフォルトの名無しさん2011/11/12(土) 17:39:44.25
>>429
このレベルのプログラムなら
Javaには無数にあるだろ
10倍優れたのを出せよw
435 :デフォルトの名無しさん2011/11/12(土) 17:40:19.61
>>434
Springのソースコードとかどうだい?
430 :デフォルトの名無しさん2011/11/12(土) 17:38:09.83
> 静的言語で組まれたソフトで、30年動き続けているものがあるのか?
それはバージョンアップなしで?

Smalltalkならそういうのがあるというの?
名前は?


バージョンアップしていいのならWindowsとかもう30年立つだろう。
438 :デフォルトの名無しさん2011/11/12(土) 17:41:47.22
>>430
VisualWorksとかSqueakとかXEROX Smallalk-80直系の子孫はみんなそうだよ?
再起動(と呼べるかどうか分からないけれど、オブジェクトの再配置)すら、数度しかない。
442 :デフォルトの名無しさん2011/11/12(土) 17:44:55.58
>>438
VisualWorks 1.0がでたのって、90年代なんだけど、
30年前から動き続けてる?
お前なに言ってるの?w
444 :デフォルトの名無しさん2011/11/12(土) 17:46:31.29
>>442
1.0より前があるんだろ
447 :デフォルトの名無しさん2011/11/12(土) 17:47:47.07
>>444
VisualWorksという新参者の1.0がどうかしたって?
450 :デフォルトの名無しさん2011/11/12(土) 17:48:54.85
>>444
そういう理屈なら、Visual Basic.NETは1.0より前の
Visual Basic 1.0の前のQuickBasic 1.0の前の
Basicとかさかのぼって、30年前から使ってるといえるよな。
453 :デフォルトの名無しさん2011/11/12(土) 17:50:54.21
>>450
Smalltalk-80の流れの処理系は、基本的なアーキテクチャはあまり変わってないのだが。
456 :デフォルトの名無しさん2011/11/12(土) 17:52:36.00
>>453
アーキテクチャが変わってないから何?
465 :デフォルトの名無しさん2011/11/12(土) 17:59:49.44
>>442 >>453
いや。むしろ文法やアーキテクチャは変わったがイメージファイル(オブジェクトがつまった袋)が引き継がれている。
つまり動かしながら変えていっている。つーかSmalltalkは止めて機能改変できない。
つねに動きっぱなし。エターナル・コンピューティング。
http://tele-task.de/archive/video/flash/14029/
467 :デフォルトの名無しさん2011/11/12(土) 18:02:14.13
>>465
そうなんだよね。独特すぎてなんかようわからんかった。
そのイメージファイルってのが、ぬか床みたいなもんだね。
470 :デフォルトの名無しさん2011/11/12(土) 18:06:10.80
>>467
そうそう。秘伝のタレだね。VisualWorksとSqueakは元は一緒なんだけど
のれん分けした一つをアップルが腐らしていたの(Apple Smalltalk)をフェローだった
アラン・ケイが見つけてまた育てた。
431 :デフォルトの名無しさん2011/11/12(土) 17:38:58.47
Javaドカタは他の言語をマスターできないから比較は不可能じゃん
439 :デフォルトの名無しさん2011/11/12(土) 17:43:42.45
へー、もしかしてstarlogoのことかな?
でも、starlogoとscratchじゃ、断然scratchのほうが高度だし、より多くのユーザ数だと思うけど。
それ以外に分散並行logo環境のJava実装があるなら、教えてくれ。面白そうだから使ってみたい。
446 :デフォルトの名無しさん2011/11/12(土) 17:47:24.43
また他人の褌になってきたな。

一ついいか。少なくとも国内の事例を紹介してくれんか。
451 :デフォルトの名無しさん2011/11/12(土) 17:49:14.07
>>446
俺は俺自身が入ったプロジェクトでのjavaとsmalltalkの開発結果を比較して書いている。
具体的な案件名を挙げるとほぼ個人特定されるから勘弁してくれ。
455 :デフォルトの名無しさん2011/11/12(土) 17:51:59.23
>>451
その時、JavaとSmalltalkで使った
ライブラリとフレームワークを教えてくれ。
あと言語のバージョン。

それが答えだと思うから。
457 :デフォルトの名無しさん2011/11/12(土) 17:53:21.08
>>455
あーなるほど。Smalltalkでは便利なものを使っていて
Javaは全部まるまる自分らで作ったとか
そういう流れかw
458 :デフォルトの名無しさん2011/11/12(土) 17:55:54.54
>>455
すまんけど、それ言うとマジで個人割れる。
460 :デフォルトの名無しさん2011/11/12(土) 17:56:44.92
>>458
ということは、何の情報もないチラ裏ということだ。
同意も反論もしようがない。
463 :デフォルトの名無しさん2011/11/12(土) 17:58:42.97
>>460
ま、信じる/信じないはあんたの内心に任せるよ。
繰り返すが、あんたのためにこんな所で個人割れのリスク冒すほど馬鹿じゃないんで。
464 :デフォルトの名無しさん2011/11/12(土) 17:59:26.71
>>463
だから信じる根拠も信じない根拠も何もないってことだよ
448 :デフォルトの名無しさん2011/11/12(土) 17:48:38.45
で、お前は優秀なsmalltalkerなの?
何か優秀なJavaプログラマが書くプログラムより
10倍優れたプログラム書いてみてよ
449 :デフォルトの名無しさん2011/11/12(土) 17:48:47.29
NでもFでもHでも構わん。国内の大手でSmalltalkって例は一つでもあるのかいな。
459 :デフォルトの名無しさん2011/11/12(土) 17:56:41.40
>>449
わかりやすいドカタ世界観だなw
452 :デフォルトの名無しさん2011/11/12(土) 17:50:27.38
勘弁しない。

それが通用するというのなら、俺の入ったプロジェクトでは
Smalltalkを使っていたチームよりも
Javaを使っていたチームの方が優秀だったという結論も
事実として受け止めよう。
454 :デフォルトの名無しさん2011/11/12(土) 17:51:54.19
>>452
なら結構。
おまえの自己満足のために個人特定のリスクを冒すつもりは毛頭ない。
バイバイ
461 :デフォルトの名無しさん2011/11/12(土) 17:57:31.33
結論:Javaドカタはクレクレ言うばかりで自分では何もしないw
462 :デフォルトの名無しさん2011/11/12(土) 17:57:43.51
smalltalkのプログラマってどこで募集してるの?
検索しても出てこないんだが
466 :デフォルトの名無しさん2011/11/12(土) 18:01:34.43
信じない根拠はあるだろw
相場を聞かれたのに、自分の単価を勝手に言って
他人に単価を言うのを強制するくらい馬鹿なんだから
468 :デフォルトの名無しさん2011/11/12(土) 18:02:37.73
>>466が静的厨の品性だね♪
473 :デフォルトの名無しさん2011/11/12(土) 18:08:09.48
>>466が「俺の敵は全部自作自演」という被害妄想の持ち主だということは、よくわかったw
475 :デフォルトの名無しさん2011/11/12(土) 18:12:38.31
>>473
こんなとこに馬鹿なsmalltalkerが
一度に二匹も来るわけないだろw
471 :デフォルトの名無しさん2011/11/12(土) 18:06:54.58
個人的には、Smalltalk は普通のプログラミング言語とかなり概念が違うので
静的型、動的型なんていう対立の枠外にあるという印象しかない。

出自から、オブジェクト指向言語のルーツというような言い方をされるが
手続き型、関数型、オブジェクト指向、論理型、そういうパラダイムで
オブジェクト指向言語の一つと捉えることも、適切じゃないような。

SmalltalkはSmalltalk。Smalltalkという世界。
プログラミング言語の一つという理解が、そもそも間違っていると思う。

Smalltalkを学ぶのは、プログラミング言語を一つ学ぶという話とちょっと違う。
得体の知れない未知の体験
472 :デフォルトの名無しさん2011/11/12(土) 18:08:07.66
もうイイから、みんなでoz/mozartやろうぜ。いいIDEついてるぜ ワラヒ
474 :デフォルトの名無しさん2011/11/12(土) 18:09:19.13
IDE云々という話も、Smalltalkのそれを、EclipseだのVisual Studioだのという
ものからの類推で理解するのは違うと思う。
IDEがSmalltalkであり、SmalltalkはIDEである。世界。
480 :デフォルトの名無しさん2011/11/12(土) 18:15:46.75
オブジェクトはSmalltalkの世界の中で生きているって感じか。
生物だから、何か言えばちゃんと言う事を聞く。
言う事を聞いて、Smalltalkの世界の中での生き様が変わる。

コンパイルとか再起動とか。なにそれ意味がわからない。
僕らはみんな、Smalltalkという大宇宙に生きています。

それがSmalltalk!
481 :デフォルトの名無しさん2011/11/12(土) 18:20:54.95
イメージが保存されたり再起動されたりはイベント取れるけどね。
あとSmalltalkの規格外ぶりはGemStoneが顕著だな。
あんなDBMS他にないだろ。
482 :デフォルトの名無しさん2011/11/12(土) 18:25:18.28
ちなみに俺はマニアな知り合いから熱く布教活動されただけで
自分ではSmalltalkを使ったことがない。480はその時の印象で適当に書いただけ
484 :デフォルトの名無しさん2011/11/12(土) 18:45:53.47
「お前だったのか…」「私だ…」 暇を持て余したSmalltalker達の遊び。
485 :デフォルトの名無しさん2011/11/12(土) 18:57:46.44
いろいろ積み残しがあるなぁ…。Smalltalk以外でこれをどう書けるか見たかった。

plus := [3 + 4]

plus value
=> 7

plus method byteAt: 31 put: 16rB8; decompile
=> DoIt ^plus := [3 * 4]

plus value
=> 12
488 :デフォルトの名無しさん2011/11/12(土) 19:24:27.17
俺面接する立場にあるから、俺偉い立場にあるから
俺部下がたくさんいるから、だから有能だから
俺の単価は一千万、選ばれたエリートだから
俺の言ってることは正しいから

>ま、信じる/信じないはあんたの内心に任せるよ。
>繰り返すが、あんたのためにこんな所で個人割れのリスク冒すほど馬鹿じゃないんで。
490 :デフォルトの名無しさん2011/11/12(土) 20:08:13.81
個人割れがこわければ、都合悪いことはおとなしくスルーしてたらいい。
ここは匿名掲示板で嘘もハッタリも真実も何でもある。ただひとつ、
真面目な議論をする場ではないよ。
497 :デフォルトの名無しさん2011/11/13(日) 05:28:54.05
>>490
> ここは匿名掲示板で嘘もハッタリも真実も何でもある。ただひとつ、
> 真面目な議論をする場ではないよ。

そうか、他の人はともかく、おまえは議論する気なんて持ち合わせちゃいないんだな。
じゃ、おまえが出ていけばいい。
荒らしは禁止って、2ちゃんルールにもローカルルールにもあるよ。
500 :デフォルトの名無しさん2011/11/13(日) 09:46:03.71
>>497
そんなことよく考えたらわかることじゃない?ここは匿名だからな。
キチガイも出入りしてくるのは当然だし。ちょっとした恨みで、道理が通じず
個人割れに力を入れるような奴もいる。まだfacebookで議論するというならば
わかるけどな。
491 :デフォルトの名無しさん2011/11/12(土) 20:22:21.66
接待議論に慣れてる奴は頭が悪いから
立場が上の奴が発言力を行使して意見を言ったら
みんな黙るからな
そうすると万能感を得られる
つまり会議の場が接待の場になってるのと同じ
匿名で議論するのは合理的
頭が悪い奴が自分の意見を押し通したい場合には最悪だけどな

ここでまともな議論にならないのはスレタイが悪い
討論風になってるから無理
最初から荒れることを想定してるからな
わしがこのスレを育てたという全能感が欲しいんだろ
ネトウヨも最初は政治板にいたけどぼこられて追い出されたから
こいつもム板でぼこられて逃げてきたんだろう
ずれた居場所で大声を張り上げるとみんな避けていくから
俺最強感を得たり勝利した気分になれる
そう考えると哀れすぎて嘲笑する気も起きないから
精神分析して遊びたいのでもっと挑発してください
492 :デフォルトの名無しさん2011/11/12(土) 20:26:05.32
それとマーチンファウラーの本を読んでるなら
数百文字程度の文なんて一瞬で読めよな
それくらいできないと理解できるはずもない
493 :デフォルトの名無しさん2011/11/12(土) 21:12:10.05
ゆとり世代に「ゆとり」っていうとホントにきれますね。
「好き好んでゆとりになったんじゃない!」とか。怒るなよ。
495 :デフォルトの名無しさん2011/11/12(土) 21:43:13.94
予定調和会議
あらかじめ結論が決まってるのに会議すること
理由は失敗してもみんなで決めただろと責任転嫁するため
こういう会議が繰り返される組織は独裁されていると考えてよい

逆らう奴にはレッテル貼って個人攻撃だ
それが信者の義務であり社畜の義務でもある
難しいことがわからないんなら下品な口げんかで数押しするしかないだろ
一体感を感じれ
498 :デフォルトの名無しさん2011/11/13(日) 07:14:09.37
どんなに単価が高くてもSmallTalkは案件数ゼロだから、売上ゼロだな ギャハハ
502 :デフォルトの名無しさん2011/11/13(日) 11:15:31.16
ここでSmalltalk系の話が出てるから、ちょっと触ってみようと思って調べたけど
Pharoの情報は少ないし、squeakの情報は子供向けだし。
取っ掛かりがちょっと面倒ですね。Pharoのwelcomeを読むことしかしてないけど
509 :デフォルトの名無しさん2011/11/13(日) 12:48:48.78
>>502
Pharo なら http://pharobyexample.org/ がお薦めです。チュートリアルの内容に合わせて
処理系は 1.0を https://gforge.inria.fr/frs/download.php/26828/Pharo-1.0-OneClick.zip
イメージとチェンジは同じページの https://gforge.inria.fr/frs/download.php/27023/PBE-1.0.zip を展開して
Pharo-1.0.app\Contents\Resources\Pharo-1.0.image と 同.changes と置き換えて使ってください。

Squeak も同様に http://squeakbyexample.org/ があります。
処理系は 3.9 が推奨で ftp://ftp.squeak.org/3.9/Squeak3.9-final-7067.zip
ftp://ftp.squeak.org/3.9/ から使用OS 向けの VM を入手して同じフォルダ入れます。
イメージ、チェンジはやはり http://gforge.inria.fr/frs/download.php/4624/SqueakByExample-1.3.zip
を展開してやはりフォルダに入れます。起動は .image を VMアプリでドロップインで開きます。
ドロップインして直接開くのであれば名称の変更は必要ありません。

あと、VisualWorks だと日本語のチュートリアルもあります。フリー版(非商用版)を入手して試せます。
http://smalltalk.cincom.jp/main/products/visualworks/
529 :デフォルトの名無しさん2011/11/13(日) 15:56:24.70
>>509
ありがとう。最初pharo 1.3を入れたけど、pharobyexampleの内容(画像)が若干違うことの
戸惑いがあって
いろいろ仕様変更してるんだな。と思って見てた。1.0出始めるのが良いってことですね。
543 :デフォルトの名無しさん2011/11/13(日) 16:30:38.37
>>529
Smalltalkは良くも悪くもパーソナルゆえ動的で仕様や機能も流動的なので、まず
お手元のドキュメントやチュートリアルのバージョンに合わせた環境(イメージと呼ばれます)を
動かせるように心掛けるのが初学時にはよいと思います。古いバージョンでもコツをつかめば
その後の変化を吸収することは難しくないので、必ずしも最新版を追いかけなくても大丈夫です。

あと、疑問な点が環境の中で解決できたり、Programming by Example というスタイルも
他の言語には見られにくい慣習で、Smalltalk を学ぶのにまず Smalltalk を知らないといけない
という学習時のブートストラップ問題みたいな奇妙な障壁があります。
ググるにしても検索キーワード選びにもコツがいるので、最初わからないこと、試してみたいことが
あれば、自力解決に拘らず、臆せず気軽にSmalltalkスレでもここでもどこでもどんどん訊いてください。

http://hibari.2ch.net/test/read.cgi/tech/1131349633/
559 :デフォルトの名無しさん2011/11/13(日) 18:42:04.23
>>543
またおじゃまします。OOPの本拠だからちょっと楽しみです。:-)
JavaともCLOS(Common LispのOOP)ともまた違うものですから、どのような発想が
あるのか時間をかけて感じたいと思います。:-)
560 :デフォルトの名無しさん2011/11/13(日) 18:59:54.32
>>559
自由自在Squeakという入門書オススメ
英訳して海外でも出版していい出来
561 :デフォルトの名無しさん2011/11/13(日) 20:11:36.52
>>560
あいにく絶版みたいですね。
506 :デフォルトの名無しさん2011/11/13(日) 12:02:42.81
acm?どこの系列だ?N?F?H?
508 :デフォルトの名無しさん2011/11/13(日) 12:36:21.04
>>506
www
507 :デフォルトの名無しさん2011/11/13(日) 12:09:36.15
acmを理解できないってのは、ちょっと・・・ 土方と揶揄されても仕方がないよ。
512 :デフォルトの名無しさん2011/11/13(日) 14:34:46.11
もしかしてXcodeのObjective-CにC++も書けるというのを
Objective-Cの言語仕様だと思ってる香具師がいるのか?
513 :デフォルトの名無しさん2011/11/13(日) 14:42:33.82
Javaは5年前からずっと右肩下がりだな。
514 :デフォルトの名無しさん2011/11/13(日) 14:47:24.24
>>513
トップに向かって、右肩下がりだねぇといっても、
虚しくない?
516 :デフォルトの名無しさん2011/11/13(日) 14:53:12.58
周回遅れのランナーが、トップに向かって
ペースが落ちてきたなって言うようなもんか。

周回どころか動的型付け言語トップのPHPでさえJavaの1/3程度でしか無いけど、
動的型付け言語トップのPHPも、右肩下がりだけどね。

その次に頑張ってる動的型付け言語PythonはPHPの半分しかなく、
こっちも右肩下がり。

動的型付け言語で頑張ってるのはJavaScriptぐらいか?
javaの1/7だけどな。
520 :デフォルトの名無しさん2011/11/13(日) 15:27:45.18
JavaはVBAよりも糞な言語だけど、ドカタに大人気だよ

どんなプロジェクトも持ち前の冗長さで大規模開発にしてしまうから、
大量のドカタの雇用を守ってるよ
521 :デフォルトの名無しさん2011/11/13(日) 15:33:35.23
githubのプロジェクト数とかStack Overflowの質問数とかを総合したデータがあればTIOBEよりおもしろいかもね
522 :デフォルトの名無しさん2011/11/13(日) 15:38:31.71
>>521
つまり、オープンソース限定にするってこと?
528 :デフォルトの名無しさん2011/11/13(日) 15:55:29.25
>>521

Ranking the popularity of programming languages
(StackOverflow Questions Tagged vs. Projects on Github)
http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/
523 :デフォルトの名無しさん2011/11/13(日) 15:39:35.84
そうだね。オープンソース限定なら、Javaは少なそうだから
動的型付け言語というかスクリプト言語に有利な結果が出そうだ。
524 :デフォルトの名無しさん2011/11/13(日) 15:42:13.62
526 :デフォルトの名無しさん2011/11/13(日) 15:46:56.76
>>524
上位はC/C++、Javaなどの静的型付け言語、ついでPHPとJavaScriptとPythonが頑張る。
そのあとはそこそこ有名な言語が入り乱れて、
マイナーな関数型言語やSmalltalkなんかが尾を引っ張るって感じか。
531 :デフォルトの名無しさん2011/11/13(日) 16:02:02.11
>>526
Cを静的型付言語と呼んでもいいのか?
呼ぶのなら、Cが抱えた型に関する欠陥は静的型付の欠陥ということになるが
532 :デフォルトの名無しさん2011/11/13(日) 16:04:02.36
535 :デフォルトの名無しさん2011/11/13(日) 16:09:35.22
>>532
で、このスレで主張している静的型のメリットというのはCでも享受できるのかい?
サポートしている具体的なIDEを挙げて説明してみろ。
545 :デフォルトの名無しさん2011/11/13(日) 16:33:52.21
>>535 も指摘していますが
このスレッドでリファクタリングや静的分析ができることが静的型付の長所です
しかしCには当てはまりません
なぜならCの型付けは弱く、静的型付のようには依存関係を保証できません

分析可能性としては、Cは動的型付言語よりも弱いです
なのでCを持ち上げることはこのスレッドで主張されている静的型付の利点を
否定することになります
525 :デフォルトの名無しさん2011/11/13(日) 15:42:49.12
オープンソースならこんなデータがあったよ。
http://sourceforge.jp/magazine/09/08/13/0423202

C 40.91%
C++ 14.02%
Java 10.95%
Shell 8.96%
JavaScript 5.55%


533 :デフォルトの名無しさん2011/11/13(日) 16:05:22.74
Cを動的片付けって言うやつはいない。
534 :デフォルトの名無しさん2011/11/13(日) 16:06:27.03
>>533
え?静的型付けと動的型付けの二択だと思ってるの?どこのドカタ?
537 :デフォルトの名無しさん2011/11/13(日) 16:12:32.79
>>534
あーまた変な理屈言い出したよ。
ドカタとか煽りだしたってことは、もうまともな議論できませんって敗北宣言だね。
まともな反論がくるまで無視するからそのつもりで。
538 :デフォルトの名無しさん2011/11/13(日) 16:15:06.51
>>537
そう言えば、動的でなければ静的型付だとかいうアフォの言い訳になると思ってるのか?
539 :デフォルトの名無しさん2011/11/13(日) 16:18:46.50
一般的には静的だといわれていますね。
これは屁理屈をこねてもくつがえせません。
540 :デフォルトの名無しさん2011/11/13(日) 16:20:16.17
524=527=528=532=536
俺はドカタなので説明はできない。
IDE も知らない。C は C でいいと思ってる。
古い言語なので文句を言っても始まらない。
レガシーシステムを一から他言語に移植するコストとの比較だろう。
言語は仕事に応じて使い分けるだけ。

http://en.wikipedia.org/wiki/Type_safety

CCured: Type-Safe Retrofitting of Legacy Software
http://www.eecs.berkeley.edu/~necula/Papers/ccured_toplas.pdf
CCured in the Real World
http://www.utd.edu/~kxh060100/Papers/ccured_pldi03.pdf
541 :デフォルトの名無しさん2011/11/13(日) 16:22:49.03
Cは変数は型があるけど、値には型はないって言い方を見たことあって、
これは納得できたけど「動的でないけど静的ともいいきれない」とか屁理屈がすぎるな。

まあ、自分の主張が弱くなったら、言葉の定義がどうこうとか細かい議論に逃げるとか
いつものことだけど。
542 :デフォルトの名無しさん2011/11/13(日) 16:26:23.18
学術的にはCは弱い型付け言語ですね…
一方静的型付けというのは通常強い型付けのうちの1つです
544 :デフォルトの名無しさん2011/11/13(日) 16:30:44.48
>>542
出典を。
546 :デフォルトの名無しさん2011/11/13(日) 16:41:13.96
548 :デフォルトの名無しさん2011/11/13(日) 16:57:10.59
>>546
thanks, 読んでみた。この辺か。

3 ページ目
Execution errors and safety

Typed languages may enforce safety by statically
rejecting all programs that are potentially unsafe. Typed languages may also use a mixture
of run time and static checks.

4 ページ目
Lack of safety

In reality, certain statically checked languages do not ensure safety. That is, their set of forbidden
errors does not include all untrapped errors. These languages can be euphemistically
called weakly checked (or weakly typed, in the literature) meaning that some unsafe operations
are detected statically and some are not detected. Languages in this class vary widely in the extent
of their weakness. For example, Pascal is unsafe only when untagged variant types and
function parameters are used, whereas C has many unsafe and widely used features, such as
pointer arithmetic and casting.

5 ページ目冒頭の Table 1


静的型付け = static checks
弱い型付け = weakly checked

C は `certain statically checked languages do not ensure safety.'
静的型付けだが型安全性を保証できない。
549 :デフォルトの名無しさん2011/11/13(日) 16:59:05.57
>>546

> In reality, certain statically checked languages do not ensure safety.
> That is, their set of forbidden errors does not include all untrapped errors.
> These languages can be euphemistically called weakly checked (or weakly typed, in the literature)
> meaning that some unsafe operations are detected statically and some are not detected.
> Languages in this class vary widely in the extent of their weakness.
> For example, Pascal is unsafe only when untagged variant types and function parameters are used,
> whereas C has many unsafe and widely used features, such as pointer arithmetic and casting.

> Weakly checked language: A language that is statically checked but provides no clear guarantee of absence of execution errors.
547 :デフォルトの名無しさん2011/11/13(日) 16:52:33.38
Visual StudioでもEclipseでも
C言語もリファクタリングも静的解析も
できるんだから、やっぱり静的型付け言語であってるんじゃね?
551 :デフォルトの名無しさん2011/11/13(日) 17:04:08.78
弱い静的型付けってことは
動的型付けってことですよね?
552 :デフォルトの名無しさん2011/11/13(日) 17:05:34.67
>>551
しつこい。いい加減諦めろ

いくら言ったってお前の好きな動的型付け言語の
一位はPHPで、Smalltalkははるか下なのは変わらん。
553 :デフォルトの名無しさん2011/11/13(日) 17:45:20.21
>>551
ドカタは黙ってろ!
554 :デフォルトの名無しさん2011/11/13(日) 17:47:25.19
>>551-552
自演してまで煽りたいのか? おまえは惨めなウンコ虫だなw
555 :デフォルトの名無しさん2011/11/13(日) 18:12:21.45
>>554
いくら言ったってお前の好きな動的型付け言語の
一位はPHPで、Smalltalkははるか下なのは変わらん。
556 :デフォルトの名無しさん2011/11/13(日) 18:24:49.50
>>553
おいおい

大規模開発に向く言語=土方用言語。だろ
土方でも使えて、バッチリ土方の量産するバグを取れる動的言語を提示しないか

558 :デフォルトの名無しさん2011/11/13(日) 18:32:09.01
「木を隠すなら森」

バカが自分のバカさを隠す目的で
糞レスをばら撒いてバカを集めようとすること
562 :デフォルトの名無しさん2011/11/13(日) 20:33:46.39
Squeak入門書では新しい方なんだが、Squeak入門書自体、ほとんど出ないからな…
こればっかりは、洋書当たるよりは中古で自由自在Squeak探してくれ
洋書と和書合わせても、これ以上のSmalltalk入門に適した本は多分無い
565 :デフォルトの名無しさん2011/11/13(日) 22:43:43.65
>>562
なるほど、
566 :デフォルトの名無しさん2011/11/13(日) 22:49:56.90
>>565
自由自在Squeakプログラミング、アカデミアにまだ在庫あるみたいですよ。
でも Squeak4.2 向けに改訂版出して欲しいですね。

http://www.academianetwork.co.jp/service/book6/index.html
567 :デフォルトの名無しさん2011/11/14(月) 00:25:31.53
>>566
丁寧に調べてもらってありがとう :-)
568 :デフォルトの名無しさん2011/11/14(月) 00:35:50.56
>>567
自分の手柄っぽくなってて、本当に手柄を立てた>>566に悪いから言うけど、
>>560=>>562(自分)だが、>>566は別の人。

お礼は>>566に捧げてくれ。
570 :5662011/11/14(月) 00:44:58.86
俺が>>566だよ。

どういたしまして。

でも、静的型付け言語のほうがいいよ。
563 :デフォルトの名無しさん2011/11/13(日) 20:48:06.29
スレ違いが分からん馬鹿ではないだろうから、嫌がらせでやっているのだろう。
変なのに居つかれてしまったものだ。
議論のストレスを嫌がらせで発散する輩というのはあちこちで見かけるが、
どうにも有効な対策がない。
匿名掲示板というのはこの手の厄介な知能犯に極めて無力だ。
564 :デフォルトの名無しさん2011/11/13(日) 21:02:23.45
自分の思い通りにならないと発狂する精神病みたいな奴が多いからな
日本人は頭がおかしいのがデフォ
特に完璧主義な奴多いだろプログラマは
自分の想定していた人間関係が完璧じゃないと発狂する奴がいるんだよ
そいつはバグを潰すためにどんな手を使ってでも追い出しにかかる
他に居場所がある場合は逃げるのが普通だけど
日本は狭すぎて逃げ場がなかったりしたせいでとどまる性格の奴が多い
閉鎖的な集団がいじめを発生させるのも、精神病の頭のおかしな奴がいるのと
逃げ場がない二点に原因がある
そして頭のおかしな奴も親や周りの大人がおかしいので洗脳されてる
その連鎖が今の日本を作り出した
569 :デフォルトの名無しさん2011/11/14(月) 00:36:30.63
他にも入手できるところはあるけど、仮に入手が難しかったら近くの図書館で
借りるリクエストをしてみれば、持ってる図書館から回してくれる。継続はで
きないけど2週間OKかな。大学なら多分情報系があればあるんじゃない?
572 :デフォルトの名無しさん2011/11/14(月) 00:51:32.03
ちなみに、アカデミアでは買わないほうがいい。
SSLを使っていないから。
573 :デフォルトの名無しさん2011/11/14(月) 00:57:46.69
アマゾンで検索したら
smalltalkの本
30冊もあるじゃん
わりとメジャーなんじゃないか
575 :デフォルトの名無しさん2011/11/14(月) 10:09:05.54
SmalltalkのIDEまわりで面白いと思うのは、
メソッドもオブジェクトでソースはその属性扱いであることと、
加えてインクリメンタル(つまりメソッド単位)コンパイルである特性を活かし、
ごく初期からメソッド単位でバージョン管理が非常にシンプルな形で実現されていたところ。

もっとも、その流れでチェンジセット(変更点集合)みたいなものの必要性が生じ、
それによる変更点の管理がややこしいことになっていたのが
古典的Smalltalkにおけるバージョン管理運用の欠点か。
576 :デフォルトの名無しさん2011/11/14(月) 12:28:21.19
Smalltalkのバージョン管理は多分、他の言語とは違うと思うんだよね。
その辺りに興味があるので、教えてくれると嬉しいです。

素朴な疑問としては、イメージ(バイナリ)をマージできるの?とか。
コンフリクトの解消はどうやってるの?とか。
577 :デフォルトの名無しさん2011/11/14(月) 14:15:05.43
>>576
イメージファイルはデータベースのバイナリのようなものなので、
特殊な事情でその必要に迫られない限りマージとか差分をとったりはしませんね。

コミットごとのコンフリクトの解消は、初期はチェンジセット(変更点の集合)が非力だったので
ほとんど手作業でしたが、その後徐々に改善されてきて、最近は通常のバージョン管理システム同様
ある程度半自動化できるようになっています。それでも、最後は人間が取捨選択しないといけないのと、
メソッド単位のマージではdiffライクな機能を支援に使ったソースレベルでの作業に落とし込む必要があります。
579 :デフォルトの名無しさん2011/11/14(月) 20:07:09.74
>>577
ありがとう。上の方でイメージファイルが秘伝のタレ状態になると
書いてあったので、イメージのままマージしてるのかと思ってました。
578 :デフォルトの名無しさん2011/11/14(月) 18:28:10.03
ここはマイナー言語の利用者とメジャー言語の利用者のしのぎをはる場
になってるな。つぎスレは計算機言語バトル・ロワイヤル。にしたほうがいいかも。
580 :デフォルトの名無しさん2011/11/14(月) 23:35:18.04
次の展開は、Smalltalk スレで大規模開発の話が始まる、だぞ。
わかってるな?>ここでスレ違いやってる奴ら
581 :デフォルトの名無しさん2011/11/14(月) 23:38:38.96
Smalltalkスレってどこにあんの?
582 :デフォルトの名無しさん2011/11/14(月) 23:39:29.89
583 :デフォルトの名無しさん2011/11/14(月) 23:53:39.26
>>581
Squeakでマターリ語りましょうや
http://hibari.2ch.net/test/read.cgi/tech/1131349633/
584 :デフォルトの名無しさん2011/11/15(火) 01:06:23.75
すれ違い? はて? ネタ切れなんだろ。IDEカラ始まって、動的IDEの
smalltalk系の話が出てきただけじゃない。
大規模開発に向いてるかどうかは触れないが
違ったパラダイムも触ろうとせずに理解もできないからね。
ここの人がマルチの言語使いばかりではないのは仕方がないが
頭を柔らかくすることも少しはやってみてもいいんじゃないか?
smalltalk系って知識を持ってる人より知識がない人のほうが習得
しやすいみたいだって話があるな。lisp系でも同じようなことは
感じてるけど、やっぱり一つのパラダイムに浸ってしまったら
融通が効かないというのはあるのかもね。たしかに、squeakを最初に
さわって、今までの経験を忘れて触ったほうがとっつきやすいとも
思った。
585 :デフォルトの名無しさん2011/11/15(火) 01:19:59.46
もうそろそろSmalltalk以外の動的型付け言語の
IDEの話も聞きたい所。
586 :デフォルトの名無しさん2011/11/15(火) 08:54:23.61
>>585
まずはEclipse以外の静的型IDEから始めようか…
Eclipse自体がSmalltalkの脱け殻なんだから…
589 :デフォルトの名無しさん2011/11/15(火) 10:08:51.86
EclipseとSqueakを比べると、北朝鮮とフリーセックスの国の違いみたいに
感じる。謎 一つのOSみたいだもん
590 :デフォルトの名無しさん2011/11/15(火) 10:39:46.44
IDEつーか、OS上の全てが何処からでもソースやオブジェクト階層見れるって感じだしな
591 :デフォルトの名無しさん2011/11/15(火) 12:18:17.54
触ってみて思ったことは589なんだけど、結局触らずして、語る人が
いかに多いかというのもよくわかったよ。やはり批評する前に少しでも
触ったほうがいい。
593 :デフォルトの名無しさん2011/11/15(火) 13:19:19.55
>>591
あれ、今は違うの?
昔、トランスクリプトをクリックしてクラスブラウザ呼び出して眺めた記憶あるんだけど。。。
594 :デフォルトの名無しさん2011/11/15(火) 13:32:32.70
>>593
> 昔、トランスクリプトをクリックしてクラスブラウザ呼び出し

'70年代の暫定ダイナブックOS色を排除するためにデスクトップを無くしたSmalltalk IDEでは、
トランスクリプトウインドウに各種機能(クラスブラウザなど)を呼び出すための
ボタンを配置するUIがよく用いられますが、それのことですかね。
595 :デフォルトの名無しさん2011/11/15(火) 13:39:44.27
>>594
いんやSqueak
ああ、VsualWorksとか、そっちのSmalltalkの話か
596 :デフォルトの名無しさん2011/11/15(火) 13:39:56.18
>>593
バージョンによって使い勝手かなり変わってる。
597 :デフォルトの名無しさん2011/11/15(火) 15:25:51.49
トランスクリプトもクラスブラウザも、自分で簡単にどうにでも変えられるところもSmalltalkらしさ
598 :デフォルトの名無しさん2011/11/15(火) 18:29:26.92
動的のREPLはterminalの代わりの感じになるし、
動的系はやっぱり柔らかさがある感じがする。
アップデート後の再起動の必要もあまりないし、動的系言語で
静的言語IDEを作らせて見たらいいような気もする。
Javaで言えば、ClojureでJava用のIDEを作るみたいな感じ。
599 :デフォルトの名無しさん2011/11/15(火) 19:08:11.50
>>598
気持ちは分かるが、javaで作られたEclipseでさえ遅い遅い言われてんのに、その上で走る動的言語にIDE作らせたら、どんだけ遅くなるのよ
600 :デフォルトの名無しさん2011/11/15(火) 19:12:41.18
Squeak SmalltalkはJavaからすれば100倍くらい遅いのに(マイクロベンチマーク比べ)、
IDEではそんなに遅くは感じない、というか、Eclipseよりはるかにキビキビうごくんだよね。なんでだろう。
602 :デフォルトの名無しさん2011/11/15(火) 19:29:19.61
>>600
Javaの場合、JavaVM本体の起動に時間がかかるから・・・
何だかんだで起動時間以外は体感できんよ
601 :デフォルトの名無しさん2011/11/15(火) 19:19:00.28
アルゴリズムが悪いとか
Squeakにない機能を積んでいるとか
CPU以外がボトルネックになっているとか
あたりじゃね?
603 :デフォルトの名無しさん2011/11/15(火) 19:35:31.78
Eclipseはメモリフットプリントでかすぎ
静的言語で無理にIDE作るから、無駄に複雑になってるんだろうな
604 :デフォルトの名無しさん2011/11/15(火) 19:41:47.44
まだSmalltalk以外の動的言語用IDEは
でてないのかよ。
開発すらされてないのか?
607 :デフォルトの名無しさん2011/11/15(火) 19:47:17.63
動的言語で作られたIDEが見てみたい。

もちろんIDEなんで、コード補完とかバックグラウンドで
リアルタイムで処理しているものね。


なにもやってないから軽いとか
ジョークにしかならないから。
608 :デフォルトの名無しさん2011/11/15(火) 19:51:13.37
補完君は、開発時にセンダーサーチとメソッド名補完しかしないのかな?
610 :デフォルトの名無しさん2011/11/15(火) 19:53:29.27
>>608
リアルタイムコンパイルで、構文エラーを
すぐに教えてくれる機能も便利だよ。
612 :デフォルトの名無しさん2011/11/15(火) 19:56:05.12
>>610
そうだよね
構文チェックぐらいはSmalltalkどころかemacs上でも
とっくの昔に実現されているよね
614 :デフォルトの名無しさん2011/11/15(火) 19:57:08.19
>>612
リアルタイムではないぞ。
617 :デフォルトの名無しさん2011/11/15(火) 20:09:10.21
>>614
そうだね
emacsの場合はリアルタイムじゃなくてキー押下イベント毎だね
615 :デフォルトの名無しさん2011/11/15(火) 19:58:40.65
動的でIDEは商用ならLispworksとaclはあるが、使ったことがないので
評価できない。どちらも無料版はあるんだけどね。lisp系はemacs+slime
があまりに強力すぎて、IDE,IDEと言わなくなってしまう。common lispや
clojureではemacs+slimeがIDEの役目をしているかな。
あとは、schemeならdrrachetがある。こちらはオートインデントなどは
効くけど、補完はあるとしたら誰かが作ってるかもという程度。
616 :デフォルトの名無しさん2011/11/15(火) 20:00:27.86
rubyならide的に使われてそうなのがtextmate/redcarだろうけど触ったことがない。
ちなみに、slimeの強力なのは、lispのREPLの強力さに由来する。
618 :デフォルトの名無しさん2011/11/15(火) 20:10:18.62
>617
キー押下イベントごとにmake実行すんの?
とんでもなくイライラしそうだなw
621 :デフォルトの名無しさん2011/11/15(火) 20:14:01.02
REPLは実行してしまうので、
間違った行に戻れません。
622 :デフォルトの名無しさん2011/11/15(火) 20:16:44.69
>>621
え?www
お前がREPL使った事無いのは分かったwww
624 :デフォルトの名無しさん2011/11/15(火) 20:19:13.65
>>622
どこが間違ってるというのかい?w
書いてる時に実行したくないんだよね。

実行してしまったら間違って実行してしまったらどうする。

そんな行き当たりばったりの開発。
小さなスクリプトでしか使い物にならない。
623 :デフォルトの名無しさん2011/11/15(火) 20:18:43.62
いつものアサッテな人なんだろうけど、何人だろ?
1人でここまでオールラウンドにアサッテなのは難しいと思うんだ
629 :デフォルトの名無しさん2011/11/15(火) 20:24:08.49
>>623
凄腕の釣り師なんじゃないかと思ってる
625 :デフォルトの名無しさん2011/11/15(火) 20:19:31.90
clojureはプロジェクト管理システムはまた別にあって、leiningenという
ものでまかなわれている。
626 :デフォルトの名無しさん2011/11/15(火) 20:20:16.78
REPLは関数型言語では
それなりに使い物になると思うけどな。

副作用があるような開発では使えないよ。
627 :デフォルトの名無しさん2011/11/15(火) 20:23:42.72
副作用のせいかどうかは知らんが、GNU Smalltalkは一種の精神修養だw
SmalltalkはGUIも込みの言語だということがよくわかる
628 :デフォルトの名無しさん2011/11/15(火) 20:23:46.69
VB6使っていたことあるけどREPL機能があるよね。
ブレークポイントで止めて、イミディエイトウィンドウから
いろんな関数を実行できる。

あれはあれで便利だけど、これはIDEの一機能ではあるが、
IDEを置き換えるものではないだろう。
630 :デフォルトの名無しさん2011/11/15(火) 20:26:41.09
scalaのプロジェクト管理システムはsbtがある。
プロジェクト管理システムは分けてるから、IDE使わない派が出てくる。
631 :デフォルトの名無しさん2011/11/15(火) 20:26:44.67
なんでREPLの話になってるんだ?
リアルタイムなコード補完からか。

REPL環境にならないとコード補完ができないっていうのは
制約だろう?常にREPL環境にいるわけじゃないし、
エディタ状態でもコード補完ぐらい出来なくては。
632 :デフォルトの名無しさん2011/11/15(火) 20:28:21.36
大抵の動的言語のIDEがエディタのemacsである件
(あれ、静的言語もか?)
634 :デフォルトの名無しさん2011/11/15(火) 21:18:07.34
607の質問に答えたらemacsとreplの話になってしまったんだが。
これほど拒絶反応があるとは・・・ ある意味面白い。
635 :デフォルトの名無しさん2011/11/15(火) 21:20:18.98
動的言語で作られたIDEの名前はやっぱりでないのか。
EclipseやNetBeansを出してくると思ったんだけどな。
(中途半端ながら採用している)
638 :デフォルトの名無しさん2011/11/16(水) 00:36:52.49
補完はできて当然として
クイックリファレンスを自動的にチップ出して表示するぐらいが最低ライン
関数の呼び出し元や先、定義実装辺りも同時に表示すべき
コードを書くという行為以外の全てを自動的にバックグラウンドで行うのが理想
639 :デフォルトの名無しさん2011/11/16(水) 05:05:10.28
その全てが可能だとしても、Javaはうんこ
メモ帳で書くRubyの1/10の生産性
641 :デフォルトの名無しさん2011/11/16(水) 06:55:37.97
emacsを拡張するよりもahkで拡張した方が楽だと気づいた
エディタ以外でも使えるし
ブラウザでも使える、そしてhtml5の時代
emacsに求めていたものが本質の人は移行すると思うし
emacsそのものを求めている人はそこで化石になればいい
643 :デフォルトの名無しさん2011/11/16(水) 09:39:11.71
Smalltalkでおなかいっぱいなところに「emacsは環境」とか強調されても困惑する
644 :デフォルトの名無しさん2011/11/16(水) 09:53:13.70
でもeclipseみたいなもっさりIDEと比べたらemacsのが遥かにマシ
eclipse使って満足してる奴って思考速度が常人より数段劣ってる感じ
645 :デフォルトの名無しさん2011/11/16(水) 10:41:52.16
まだintelliJなら使えるなと思ったけど、eclipseは思考ツールとして使おう
と思ったら、厳しいと思った。淡々と資材を並べて組み立てていくなら問題ない。
646 :デフォルトの名無しさん2011/11/16(水) 11:14:59.89
言葉を選んでるけど、それってドカタ仕事専用ってことだよね
647 :デフォルトの名無しさん2011/11/16(水) 11:19:51.30
このスレって要するに

 「動的言語をドカタに使わせていはいけない」でFA?

ってことだったのか。
648 :デフォルトの名無しさん2011/11/16(水) 12:21:38.05
CUIでの開発作法を身につけた上で、
EclispみたいなGUIベースのIDEで作業効率化!! という話なら分かるけど、
どうもこのスレのJava厨はGUIしか使えないドカタだものなぁ....
650 :デフォルトの名無しさん2011/11/16(水) 12:40:01.27
Java厨にFizzBuzz書いてってお願いしたら
「FizzBuzzクラス無いんですか?じゃあメソッドは?無い?あばばばば」
って言い出すイメージ
652 :デフォルトの名無しさん2011/11/16(水) 13:29:01.09
Javaでは
printTheNumbersFromOneToOneHundredButForMultiplesOfThreePrintFizzInsteadOfTheNumber
AndForTheMultiplesOfFivePrintBuzzAndForTheMultiplesOfBothThreeAndFivePrintFizzBuzz
っていうメソッド名になるよ
補完無しでは打てないよ
653 :デフォルトの名無しさん2011/11/16(水) 13:37:42.99
"FizzBuzz" は変数じゃなくて文字列定数なんだから補完できない
正規表現もSQLも補完できない

なるべく定数を少なく変数を多くするためにフレームワークを発展させた
654 :デフォルトの名無しさん2011/11/16(水) 17:20:53.36
補完できないからフレームワークが発達した説が登場
常に補完を軸に考えるその発想が面白い

文字列定数だから補完できないって謎主張も面白い
655 :デフォルトの名無しさん2011/11/16(水) 17:27:37.10
現在選択している文字列に対して、全ソースコード中の文字列定数から補完する、とかならSmalltalkなら10行ぐらいで書けそうだな。
671 :デフォルトの名無しさん2011/11/17(木) 07:21:41.78
>>670
>>668
>>666
>>660
>>659
>>657
>>655

うむ
656 :デフォルトの名無しさん2011/11/16(水) 18:43:42.70
環境にこだわる人はプログラム作れない言い訳をしているのかね?
657 :デフォルトの名無しさん2011/11/16(水) 19:06:19.08
ギリギリ作れるか作れないかのプログラムを前提としている。
環境がなくても作れるプログラムや
環境があっても作れないプログラムでは勝負がつかない。
659 :デフォルトの名無しさん2011/11/16(水) 19:42:13.93
性的種なし言語とは違う。
660 :デフォルトの名無しさん2011/11/16(水) 20:48:20.58
http://www.javafesta.jp/2006/pdf/C3.pdf
JBoss Seam のプレゼン読んだらJSFの問題点が書いてあった。
第1位 URL が遅れる (Postback)
第2位 GET Method のパラメータは取得不可
第3位 戻るページ対策、二度押し対策の不備
javaすごいな!よくこんなんを標準採用したな!
661 :デフォルトの名無しさん2011/11/16(水) 21:17:39.14
emacsユーザーは勘違いしてる
あれはlispを使うためのエディタとして開発されたのであって
使いやすいエディタという思想はない
操作を見ればすぐにわかる
上下左右移動
ctrl-n ctrl-p ctrl-f ctrl-b
使いやすさじゃなくて覚えやすさでとりあえず決めてみました
使い慣れたのでこのままにしておきます、後はカスタマイズしてね

おかしいと気づけ
664 :デフォルトの名無しさん2011/11/16(水) 22:35:02.06
ストールマンがlisperなのは周知だが
gosmacsは別にlisp用じゃないぞ
確かにelispは強力だしあの拡張性のおかげで
20年以上も使い続けられてるんだしな
665 :デフォルトの名無しさん2011/11/16(水) 22:38:53.11
elispはあえてlispでも動的な仕様になってて
エディタ使いながら動的に機能追加や
変更が出来る
stもだが動的言語で環境作る利点だし
静的な環境でも参考にすべき特徴だと思うがね
666 :デフォルトの名無しさん2011/11/16(水) 23:02:23.50
eclipseもプラグイン開発環境で作業すれば動的に機能追加や変更はできるね。
emacsほど手軽ではないが。
667 :デフォルトの名無しさん2011/11/16(水) 23:38:44.52
やっぱり今日も、動的型付け言語は
大規模開発では効率が悪いって結論か
672 :デフォルトの名無しさん2011/11/17(木) 07:40:22.47
>>667-668
出来る事と言えば用意されたメソッドを順番に呼び出す事だけ、
自分一人ではFizzBuzzすら書けないドカタを使った大規模開発か

そういうドカタを片っ端から首切るのが一番効率が良さそうだが
676 :デフォルトの名無しさん2011/11/17(木) 08:44:01.82
>>672
開発にそんな奴いないからw

この仕事してるなら常識でわかるよね?
681 :デフォルトの名無しさん2011/11/17(木) 11:57:32.98
>>676
「FizzBuzz書ける」と言ってるドカタも、
ちょっと問題をアレンジしたら書けなくなるけどね。
ネットに落ちてるコードを探してコピペしてるだけで、
実際には自分で書いてないから。

例えば、端末へ出力する代りに結果をリストで返すようにして、
さらに戻り値のリストの中の数値の総和を計算するとかね。
もちろんリストで戻すときは、数値は数値型のまま、"Fizz"や"Buzz"は文字列型で。
668 :デフォルトの名無しさん2011/11/17(木) 01:08:25.41
大規模開発がドカタを一人でも雇わなければ成り立たない現状、その結論でやむを得んな。
669 :デフォルトの名無しさん2011/11/17(木) 01:33:43.39
emacsではautoitやahkみたいなのには勝てんよ
環境としてもos相手に戦えるほど高機能じゃない
初心者には使いづらい
しかもemacsを使い続けると保守的になりすぎて他のエディタが使えなくなる
emacs村の住人として永住を決めない限り無理
670 :デフォルトの名無しさん2011/11/17(木) 02:28:37.30
autoitやahk?ウィンドウズ専用か そりゃ違う世界だな。
どうぞゲイツの尻でも舐め続けてください。
673 :デフォルトの名無しさん2011/11/17(木) 08:23:07.26
だいたいこの流れ↓になるよね。

・動的型付け言語だと〜は? → Smalltalkは〜できる
・静的型付け言語はリファクタリングが強力 → Smalltalkが元祖
674 :デフォルトの名無しさん2011/11/17(木) 08:25:13.28
Smalltalkのリファクタリングって、どの程度のことまで出来るん?
677 :デフォルトの名無しさん2011/11/17(木) 08:44:37.95
・動的型付け言語だと〜は? → Smalltalkは〜できる
・静的型付け言語はリファクタリングが強力 → Smalltalkが元祖
・Smalltalk以外は? → 動的型付け言語だめだめじゃんw
678 :デフォルトの名無しさん2011/11/17(木) 08:46:06.82
・動的型付け言語だと〜は? → Smalltalkは〜できる
・静的型付け言語はリファクタリングが強力 → Smalltalkが元祖
・Smalltalk以外は? → 動的型付け言語だめだめじゃんw
・でもSmalltalkはでk → でも仕事でSmalltalk使われてないじゃん。お前も使ってないでしょ?
・ぐぬぬ
679 :デフォルトの名無しさん2011/11/17(木) 08:49:33.69

動的型付け言語は大規模開発で使えるか? → Smalltalkなら可能 → ただし大規模どころか小規模開発でも使われない言語
680 :デフォルトの名無しさん2011/11/17(木) 11:41:20.60
抽象化が得意な人ならどうでもいい技術なんだろうな。結局センスの悪い
プログラムが多いから、リファクタリングを騒いでる感じ。 CSを学んでる
人だったら、そのへんのセンスは改善されるだろう。力技に夢見るより
ちょっとくらい勉強したほうがいいよ。
ガウディ本を勉強するならozと遊ぶことになるだろうがoz/mozartはIDEで
騒いでいる人には悪夢かもしれない。
682 :デフォルトの名無しさん2011/11/17(木) 12:09:20.53
FizzBuzzレベルを自力で書けない奴には
実際には使われないダミーのコード書かせている
685 :デフォルトの名無しさん2011/11/17(木) 12:42:13.71
>>682
CUIでなおかつ動的型付けなら、テストコード書かせればいいと思うけど

GUIはテスト自動化できないし静的型付けはテストしたら損かなと思う
この閉塞感はたぶん脳に悪い
686 :デフォルトの名無しさん2011/11/17(木) 12:46:26.69
>>685
テストに失敗するたびに
条件分岐が増えるから
ダミーを書かせた方がいいよ
683 :デフォルトの名無しさん2011/11/17(木) 12:23:13.72
究極の動的言語とは実行時に自らの言語仕様を変化させる
684 :デフォルトの名無しさん2011/11/17(木) 12:42:11.78
>>683
Qiやmaximaを調べてみればいい。
691 :デフォルトの名無しさん2011/11/17(木) 13:58:19.79

大規模開発の定義を静的派が一向に明示しない事からしても、ここが隔離スレなのは明らかだが、何れにしても、雇用に影響しない程度のしょぼい規模では話にならないだろう。
公共事業レベルだと、品質は勿論重要だが、それ以上にスキルのばらつきが多い要員をあえて採用して(公共事業だからね)、如何にプロジェクトを軟着陸させるかがポイントになる。
つまり熟練者には邪魔でしかない機能や、一貫性がなくても世間的にそういうものだと思われている方法、回りくどい手続きが外せなくなる。

動的派が見落としているのはまさにこの点で、彼らは自分のスキルを基準に考えるからおかしくなる。
「大規模」というのは、信じがたいほど低スキルの人間もあえて使わざるを得ない、という現実を知っておいた方がいい。
692 :デフォルトの名無しさん2011/11/17(木) 14:04:58.56
昔出てた話じゃが 少数精鋭が 大規模に勝るのは当然という結論ですね。
697 :デフォルトの名無しさん2011/11/17(木) 18:40:56.61
ダミーコードのメソッドをIDEで延々とリネームし続けるわけですね
699 :デフォルトの名無しさん2011/11/17(木) 18:50:14.31
職場ではダミーコードしか書かせてもらってないドカタが
このスレで「動的言語は効率が悪い」と言ってると思うと
なんだか悲しい気分になるな
700 :デフォルトの名無しさん2011/11/17(木) 19:02:14.60
学生なんですがFizzBuzz書けなくてもお金もらってる人がいるってそれ本当なんですか?特異な例ではないのですか?

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006