動的言語で大規模開発

■ このスレッドは過去ログ倉庫に格納されています
1uy
垢版 |
2012/07/24(火) 09:10:42.04
たててみた
247uy
垢版 |
2012/09/17(月) 15:37:21.11
2chってほんとに変な情報操作が流行るよねなんだこの急激な関数型叩き
使える奴は世界のどこかにはいるって
しかしほとんどのバカはそれに憧れて効率的な開発できるフリをしてるだけ
でも大勢が使えばいつかは伸びる
ドカタ以上に人柱になってくれてる奴らなんだから大切にしろwwwww
2012/09/17(月) 17:26:33.49
>>223
お前はPharoとかSqueakとかのオモチャをちょろっと触ったくらいでSmalltalk知った気になるな。

九大の事件はSmalltalkの問題とされがちだけど、実際はIBMの問題で、
動的言語じゃなくても(IBMが自社製品をごり押しすれば)きっと起こったろうよ。
http://d.hatena.ne.jp/kwatch/20080702/1215014534
2012/09/17(月) 18:17:10.21
VB >>>>>> Smalltalk (IBMにとっては)
2012/09/17(月) 18:30:33.84
Smalltalkはビジネスユースも多かった言語だけど
うんこすぎて他言語に駆逐された
まさに「業務に使ってみたけどゴミだからそっぽ向かれた」言語
2012/09/17(月) 20:02:21.07
smalltalk?javaやMySQLなんてない時代だっけ?
2012/09/17(月) 21:02:35.51
>>246
仕様変更に強くなるようなOO固有の特徴ってあったっけ?
2012/09/17(月) 21:18:11.19
どっちかっていうと関数型の方が仕様変更に強くないか?
破壊的操作を関数化されてたりしたら目も当てられないし
追いかけたくもないぞ(よくあるけどな)
254uy
垢版 |
2012/09/17(月) 21:21:00.75
バカか
2012/09/17(月) 21:45:30.87
>>252
私の開発手法のせいかもだけど、顧客の要求中の関数に当たると思う相互関係より、登場するオブジェクトの方が先に安定するから。
2012/09/17(月) 22:59:28.72
デザパタの達人とかだと想定外な仕様変更なんてないんだろうかね
いつもSEが想定外な仕様変更持ってきてうちのチームの綺麗なコードを台無しにしやがる
ええ無能ですみません

staticなリエントラント関数しか使いまわせてないは
2012/09/17(月) 23:41:14.03
>>256
デザパタ関係ねーよw

仕様変更だろ? 工数がかかるってことをちゃんと伝えたか?

修正っていうのは、仕様変更にとりあえず対応するまでではなく、
綺麗なコードに対応するまでが修正だ。
そこまでの工数がかかるってだけだよ。

その後は技術とは関係ないところの話だろ。
1週間かかります → 3日でやれ とか技術とは関係ない。
258uy
垢版 |
2012/09/18(火) 00:05:09.40
デザパタの達人wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
デザパタセカンドや3、4がリリースされたら意味はあるかもしれない
現時点のデザパタはゴミカスってより
当たり前すぎる設計に名前を付けただけなんで
教材にしかならない
2012/09/18(火) 00:29:36.01
よくあるのが
アジャイルという単語に踊らされたオッサンが取ってくる
最初っから仕様変更前提のプロジェクト(受託)
工数も仕様変更にかかる予定日数もどう変わるかわからないのに
予算・スケジュールは固定っていうIT土方ならではの仕事
役所関係からこの手の仕事が来たとかいう日には地獄を覚悟すべし
2012/09/18(火) 01:25:10.18
営業がJavaと言ってとってきた仕事を数週進めたら、JavaScriptの仕事だった。何度もjavaでいいんですねと確認したのになぁ。
2012/09/18(火) 02:42:32.29
>>259
あーそういうの仕事って言わないで欲しいわーあるわー
進捗報告しろとかさえ無理ゲー状態から始まる奈落へのアバンチュール
2012/09/18(火) 22:04:12.71
動的言語ってアジャイル開発には向いてそうだよね
使用変更でクラスや型をどうこうって死にそうでない?
2012/09/18(火) 22:11:07.84
>>262
棄却型プロトタイプ開発ならいいんじゃない。
型変更した時の影響が静的型付のがわかりやすい。動的だと見逃してたとこがたまたま動いてたなんてこともあったり。ハマる。
2012/09/18(火) 22:46:03.31
プロトタイプを動的型付け言語で作り
仕様が固まってきたら静的型付け言語で作り直す
これ最強
2012/09/18(火) 22:51:03.62
静的型付のスクリプト言語
2012/09/18(火) 23:01:40.91
とりあえずCommonLispで書いて
型記述を追記するなり
GCLでCのソースに変換するなりすれば
一番効率がいいんじゃねぇの
Lisper見習いだからホントに出来るかはわからんが
2012/09/18(火) 23:10:03.44
静的型付けの利点を
最適化による速度向上に置いてるか
静的型チェックによる型安全性に置いてるかで変わる
2012/09/18(火) 23:44:33.93
Cのソースに変換すればコンパイル必要になるし
型安全性も保たれるんじゃないかと
2012/09/19(水) 00:00:53.89
そんなわけないのはObjective-Cみれば分かるだろ
2012/09/19(水) 03:30:17.57
動的オブジェクトの型が全部object型とかになった
型チェックが意味のないCソースに変換されるわけだ
271uy
垢版 |
2012/09/19(水) 08:38:37.94

>>>>lisper見習い

初心者死ね!!!
2012/10/02(火) 23:24:04.32
Microsoft、JavaScript系の新言語、TypeScriptのデベロッパー・プレビュー版を発表
http://jp.techcrunch.com/archives/20121001microsoft-previews-new-javascript-like-programming-language-typescript/
2012/10/05(金) 04:44:59.33
結局動的言語駄目じゃねーかという流れになりつつある昨今
皆様いかがお過ごしでしょうか。
ここ最近出てきた一連のJS出力言語、特にTypeScriptである意味トドメだろw

しかし反動で関数型言語にスポットライトが当たってるのは逆方向にブレすぎではないか
2012/10/05(金) 12:42:34.09
関数型は局所的に盛り上がるけどなかなか普及の兆しが見えないな。俺もちろっと遊んだ程度で放置してるし

TypeScriptはコケる
2012/10/22(月) 06:25:54.38
JSはウェブ系の場合嫌でも使うしかないからね。いまんとこ、ベターJSの中じゃ、TypeScriptは一番良いと思うね。
2012/10/22(月) 23:40:56.58
>>275
もうお使いですか。どないです?
AS房としては期待外れっす
2012/11/03(土) 16:51:07.37
>>274
金融系の一部とかパーサー書いたりの分野で使われてんだろ
学歴のない底辺には玩具で終わる代物だよ
2012/11/03(土) 16:56:19.12
f#やOcsigenなんかはもっと評価されていいはず
2012/11/03(土) 18:42:25.65
パーサはよく適用例で見かけるけど、金融系でも関数型普及してるのか
COBOLのイメージしかなかったけど確かに都合良さそうだ
まあ俺みたいな底辺土方には一生縁ねーなw
2012/11/03(土) 18:44:48.69
金融系って言ってもCOBOL使ってたとことはまったく別の分野じゃない?
2012/11/03(土) 19:30:58.86
勘定系じゃなくて、デリバティブとかのいわゆる金融工学の方でしょ。
2012/11/03(土) 23:30:00.20
あんな制御不能なものを工学と呼ぶのは工学への侮辱だな。

...ソフトウエア工学も同類か...orz
2012/11/04(日) 00:54:13.02
金融系 関数型でぐぐると美辞麗句にまみれたPDFとかがいろいろヒットするなー
門外漢にはなんのこっちゃよくわからんけど
2012/11/04(日) 18:58:55.03
>>282
2013/02/20(水) 21:20:39.01
ところで、shで書かれたconfigureとかは1万行以上あるわけだが、あれは大規模開発になるんか?
2013/02/20(水) 23:44:16.57
>>285
あなたは手で書いてるの?
2013/02/20(水) 23:57:15.20
自動生成だけど?

自動生成ならいくらでもソース量が増えるから、
別にソース量が多いからって大規模じゃないよねっていうIrony。
2013/02/21(木) 00:01:32.70
ソースを生成するソースを書けば小規模になるんじゃね
2013/02/21(木) 01:41:04.93
今調べて初めて知ったのか。
2013/02/21(木) 21:25:30.17
まじでかホント初めて知ったわ。
OSもソースを生成するツールを生成するツールを生成するツールで作成すれば100行程度に縮められるなっ!
2013/02/21(木) 21:37:45.76
>>290
そのツールチェインの最後はお前だよお前しだい。
2013/04/03(水) 22:31:12.49
>>8
1万行で大規模ワラタw
2013/06/15(土) 23:51:26.86
294デフォルトの名無しさん
垢版 |
2014/01/16(木) 15:14:04.15
9 :デフォルトの名無しさん:2014/01/11(土) 12:45:26.07
PHPが多分広く使われてるんだろうけど
Web鯖へのPHP標的とみられるアタックの回数が今年に入ってからヤバい
あらゆる種類のPHPアタックされてる
あいにくPHP鯖じゃないしPHPも動かしてないから無関係だけど

ruby鯖でほんと良かったよ
2014/01/16(木) 15:58:57.11
〜10万行小規模
100万行中規模
1000万行大規模
2014/01/16(木) 16:15:44.93
それは生産性の低いCとかの目安だろう
2014/01/16(木) 16:22:11.85
じゃあこうだ
rubyなら
〜1万行小規模
10万行中規模
100万行大規模
298デフォルトの名無しさん
垢版 |
2014/01/16(木) 16:39:07.41
ペコーンwwwwwwwwwwwwww
299デフォルトの名無しさん
垢版 |
2014/01/16(木) 18:22:08.59
ロバみたいな奴だな
300デフォルトの名無しさん
垢版 |
2014/01/17(金) 02:26:52.79
場粉路「300wwwwwwwwwwwwwwwwwwwwww」
301デフォルトの名無しさん
垢版 |
2014/02/05(水) 04:47:08.99
型安全性ない限り不可能ですわ
2014/02/05(水) 06:16:34.54
ああ、本物の動的型を知らないんだ。
型安全じゃない動的型しか使ったこと無いんだね。
2014/02/05(水) 09:43:19.39
実用性のあるやつあったっけ?
ネタみたいな言語はいらないよ
2014/02/05(水) 11:54:42.46
本物の動的型っていうのは
たとえばJavaやC++のことだよ。

型安全かつ動的。動的っていうのは
ポリモーフィズムのことを言う。
実際に使われるクラスが動的にしか決まらないから。

インターフェースは静的だけどね。
でも具象クラスが動的に決まるならば、
それは動的言語なんだよ。
2014/02/05(水) 12:09:06.82
などと意味不明なことを供述しており精神鑑定の結果を待って慎重に対応する予定です
2014/02/05(水) 12:54:50.99
>>304
なんでゴミってこんなつまんねーことしか言えないんだ
2014/02/05(水) 12:58:26.58
ほっほっほ、反論は無しw
308デフォルトの名無しさん
垢版 |
2014/02/05(水) 13:12:01.88
>>307
死ねゴミ
309デフォルトの名無しさん
垢版 |
2014/02/07(金) 06:53:01.21
死ねゴミ
310デフォルトの名無しさん
垢版 |
2014/02/07(金) 16:38:35.68
ぁーーーやっぱり型推論やる感じの静的言語になるのかなぁ
色々考えたけどやっぱし無理かも
結局コンパイル時に出来る限り多くのエラー検出してくれた方が、
実行後に「気にしなきゃいけない事」が減ってくれるから
その差が理論的にどうやっても静的言語と動的言語じゃ埋まらない
それでも短いコード書く場合は動的言語のほうが良いのは事実だけど
完全に動的になってる言語ってどうも、eval上でコード動かしてるのと似たような気分になる事があるし
それでも何とかなるとしたら物量か
311デフォルトの名無しさん
垢版 |
2014/02/07(金) 20:40:16.60
JSでとあるゲーム2,3年ぼちぼち作っててデータやView部抜きで1万行くらいをキープしてるけど
今までで一番長時間ハマったのは暗黙の型変換の挙動かな
確か正規表現で取り出した数字文字列を、==で数値と比較してる部分があって、その時点では問題なかったけど
後からそこ見て数値同士の比較かと思ってカッコつけて==を===を直してしまったんだよね

でもそれからは気をつけて、代入時に型と値の範囲を一気に確定させておく書き方を心がけるようにした
あくまで例えばだけど、文字列から少数を取り出すのなら、
m = +(str.match(/\d+\.\d+/)||[0])[0]
のような勢いで

こうやって一発で行数を減らしておくと全体の見通しがよくなって更に嵌りそうなことが減る
単行演算子とか用いると実装速度も微妙に上がるしね、asm.jsライクな記述すると

それで確かにその時は==となって欲しいケースが稀だったことや
その場所が予想外にViewに当たる場所だったこともあってかなり特定が大変だったけど、
逆に数値演算ばかりの結構複雑だと思うメインロジックでは難しい問題起こらなかったんだよね

評価関数の出来って動かしてみないと良くなったかどうかわからないってこともあるし、
エラーではなくアルゴリズム的に正しいかどうかの判断は動かしてなんぼで不満なかった
「大規模」ではなくて、「多いコード」だから動的が向いてないっていうのは違うんだろうね

例えばES6でclassシンタックスが入って大規模がよくなるっていうけど
ひたすら配列の操作をやるのだと関数型チックなので困らないし
まあ「大規模」っていうのは色んな要素が入ってると思うけど、そこをまず具体的に洗い出していったほうがいいかもね
その上でそれぞれに対して動的型でどうしていったらより良くなるか考えよう
2014/02/07(金) 22:01:54.81
==と===の違いは面倒だから使うなって、
オライリーから出ている薄い本の何処にでも書かれてるだろ
2014/02/07(金) 22:03:36.88
テストコードやCIしながら書くもんじゃないのか
2014/02/07(金) 22:04:48.68
静的言語ならバグが含まれないってのが、そもそもの幻想
2014/02/07(金) 22:13:41.93
静的言語でバグを作り出さないなら、JUnitなんて出てくるわけがない
いちいち変数定義するなら、それ無しでテストコードまで書いた方が効率良い
という発想。(テスト自体はSmalltalkからJavaへ輸入されてた気がする)
2014/02/08(土) 01:39:35.92
ウェブで言うと、昔は専用サーバは高価でシェルを使えるのは希だったから、スクリプト言語の方が動かしやすかったんだよ
プログラム自体も単純なものが多かったから、タイプセーフじゃなくても問題なかった
317デフォルトの名無しさん
垢版 |
2014/02/08(土) 06:00:40.97
>>312
それは今回の件とは関係ない
例え最初から===にしてたとしても、前述したように稀かつゲームを進めないと出てこない問題だったから気付けなかった
むしろこういうケースがあるから==の方を使ったほうが殆どの場合でいいと思ってる
まあ、言いたいことはそういうことじゃない

今回テストは作りたて関数やバグが出たら使い捨てくらいの軽い気持ちで作るという感じだったが
よほど労力(とテストにかかる時間)をかけていたとしても発見できたかは微妙だった
今回のケースは自分はもっとメタ的に解決すべきだったと思う

例えば演算子オーバーロードができればそういったハマりやすいポイントでワーニングが出せる
それだけじゃなくて統計をとって最適化にもきっと活かせる
(例えば結果がSMIのようなJITエンジンがより最適化してくれる範囲内かどうか等)

他にもProxyとかメタ的やハックでの「動かしながらの」分析によるテストが
特に緩い動的言語での大きな開発でかなり有効なんじゃないかと自分は思ってきてる

ある程度はデバッガの役割だろうが、例えば条件付きブレークポイントみたいに
汎用的に細かいことがしたければ結局コードを書くことになるので、しかたない
でもそういったことが十分できるのならば自分は開発になんら不満、不安を感じない

また今回は流れでテストするのにデータのObservingが役に立ってる
各処理関数に全く関わる必要もないしテストも全く省けてる
目でのチェックと同時に比較的低負荷でできるのがかなり効率がいい

自分はES6,7などこれからのJSにはそういう部分に結構期待してる
318デフォルトの名無しさん
垢版 |
2014/02/08(土) 08:08:08.34
>>312
オライリーって反面教師の本だろ。。。
死ねゴミ
2014/02/08(土) 11:30:21.22
オライリーのどの辺が反面教師なの?
あなたは国内出版社の方?
320デフォルトの名無しさん
垢版 |
2014/02/08(土) 13:01:18.60
基本的にオライリーはゴミな上に一回本出した後で
売れ残りすぎてるから2版3版って更新されんのが遅すぎて
載ってる情報が古すぎるケースが多すぎ
あれ読んでる奴はゴミ
2014/02/08(土) 13:07:19.15
オライリーは言語によって出来が違いすぎる
2014/02/08(土) 13:07:59.08
英語版はやっぱり出来がいいよね。
2014/02/08(土) 13:19:36.72
本毎に差がありすぎるんだよな
あと翻訳者
日本人が書いてゴミなRuby本もあったな
324デフォルトの名無しさん
垢版 |
2014/02/08(土) 13:28:19.75
書店にいって適当に本の後ろの発行日を見たらいいよ
オライリーは5年とか10年ものとか平気でおかれてる
売れてないからそうなってる
初心者チックな本でも、せいぜい1〜2年以内に出た新しい本買ったほうが絶対良い
あとはネットで調べりゃいいだけ
2014/02/08(土) 13:33:40.49
オライリーは新しくないとダメなものは向かない
新しい情報はネットで集めた方がいい
適当な他の本買うぐらいならオライリーのがマシなことが多いな

それよか、ピアソンどうなるんだ?
326デフォルトの名無しさん
垢版 |
2014/02/08(土) 13:40:16.96
オライリーはゴミw
2014/02/08(土) 13:42:03.17
1年2年で入れ替わるくらい変化が激しい物ならそれこそ本なんて遅すぎて
いらないってなるだろうに。
328デフォルトの名無しさん
垢版 |
2014/02/08(土) 13:56:41.14
ITってそういう分野
ハードウェア絡むような場所だけだよ
5〜10年昔の知識が通用するなんて
2014/02/08(土) 14:00:39.74
もうオライリーみたいな重厚長大な本の時代じゃないね
昔はラクダ本とかボロボロになるまで読んだけどね
2014/02/08(土) 14:21:34.64
ゴミw
2014/02/08(土) 14:23:39.19
ネットの情報は断片的に拾い読みする分には良いが
まとまった情報って本で無いとねえ。

って言うのは古いかw
2014/02/08(土) 14:31:47.88
リファレンスとかは完全に ネット > 本 になった
2014/02/08(土) 14:57:45.25
では、ハズレの本を出さない出版社を発表しちゃってください。
2014/02/08(土) 15:21:13.00
>>328
OSやコンパイラの基礎的な知識がここ5〜10年ほどで全部置き換わったとでも?
何か新しいツールやライブラリなんかも利用期間が長ければ長いほど後方互換を
考えて思想的な部分を変えることが出来なくなってるよ?

基礎的な知識がない人、表面だけなぞってる人は全く変わって通用しなくなると
感じてんるんだろうけど、そんなことは無いんだけどね。
2014/02/08(土) 15:24:34.62
つ電子書籍

すっかりぐだぐだのイメージが広まりつつあるがw
2014/02/08(土) 15:26:17.39
ここ15年くらい何も進歩してない
モバイルへのシフトが見えるくらい
2014/02/08(土) 15:34:56.49
結局は、ノイマン型のコンピュータが登場して以来何も進歩してないんだよ
2014/02/08(土) 15:55:37.52
話でかくなりすぎw
2014/02/08(土) 16:36:22.62
プログラミング言語だけ見ても、PHPでもRubyでもC#でもJavaでもこの10年で大きく変わってる
ライブラリやミドルウェアはもっと変わってる
これだけラピッドリリースが当たり前の時代、オライリーは本棚に並べて自己満足するぐらいの価値しかない
2014/02/08(土) 17:06:39.19
>>339

>>334 の下2行
2014/02/08(土) 17:08:41.77
Ajax でブラウザとJSの地位が大幅に向上したというのは進歩かもしれない
それ以外は驚くほど何も変わってない
2014/02/08(土) 21:58:29.94
JSに関してはかなり変わってきてると思う
00年代後半くらいに出た本はまだコーディングルールもままならなかったJSに対して
JSの安全で多言語との相異があまりない部分だけを使うという、かなり厳しい立場なものが多い
そしてそれ以降にでた本もそれを踏襲しているから同じ
ES3まではクラスベースの皮をすっぽり被ったプロトタイプベース言語だったからしかたがない
ゲッターすらも定義できないような未熟な言語だったのは確か

でもES5,ES6ときて例えばブロック文中の関数宣言の振る舞いの問題とか、
根底の不安定さがかなり解消されてきてる
そしてES6ではクラスシンタックスが入ったり、ミキシン等のサポートや、
プライベートっぽくもできるSymbolの導入、また何と言っても今までは
クラスベースの皮に隠れてたプロトタイプが表面にでたお陰でかなり変わってる
Promiseとか、関数型の方向性も強化されてきていて、
マルチパラダイム言語としてかなり磨きがかかって底上げされている
他にもモジュールやブロックスコープとか、書ききれない

コーディングルールの面でも、最近ではgoodpartsを書いたグーグル内、
例えばV8グループ内でもセミコロンフリーのソースがコミットされたりもしている
JSに関しては、何がいいのかは(ブラウザ間の差もあるし)その時その時で考えていくべき
JSも成熟してきて、JSerも成熟してきてるから、無闇矢鱈に縛る必要がなくなってきている
2014/02/09(日) 00:23:11.54
>>333
Wikiにまとめられる情報を精査して紙媒体の本にするのが良いんだろうけど、
著作権的な問題で出来ないんだろうなと思う
2014/02/09(日) 04:44:50.85
>>334
10年前の本でも読んでると良いよ

ゴミはゴミなんだからそれで良いな
2014/02/09(日) 10:36:31.60
> 10年前の本でも読んでると良いよ

2004年の本ですか? そりゃ読むでしょうよw
2014/02/09(日) 12:19:57.73
10年前のApacheの本とかBindとかSendmailとか
■ このスレッドは過去ログ倉庫に格納されています