【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/10/01(土) 23:40:48.89ID:FvOeAcfn
前スレ

【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】
http://echo.2ch.net/test/read.cgi/tech/1458955459/
2016/10/19(水) 07:52:41.50ID:i9OiXSaV
>>200
あ、間違えた>>173じゃなくて>>194だった
2016/10/19(水) 07:56:48.84ID:kMzukS4D
>>198

> 多くの必要な不変条件を型の中に埋め込みました。いまや不変条件は型の一部なのです。コンパイラはこれらの不変条件を破るコードを見つけ、拒否することができます。これは手作業で行う仕事を減らし、手で管理するよりも信頼できます。

ごめん。引用しちゃったw
君の手作業でアサーション入れまくりのコード(いわゆるテストの一種)より静的型検査の方が手間が少なく間違いにくいのは自明ですよ
2016/10/19(水) 08:17:18.72ID:pQsxuliv
どこかの理想の世界ではそうかもしれないけれど
現実アサーションと静的検査は双方補い合うもので、どちらかあれば足りるものじゃ無いでしょ
2016/10/19(水) 08:27:14.32ID:kMzukS4D
>>198
ConnectionInfo.class_eval do
def foobar(s)
@connection_state = s
end
end
c.foobar("Hello World!")
2016/10/19(水) 08:34:11.07ID:kMzukS4D
>>203
勿論そうだけど、不正な使い方できるコードを自信満々でアップしちゃうくらいには
手動は間違いやすいって事だよ
2016/10/19(水) 09:19:42.80ID:Y8FYAwNZ
なんでいまさらタイプセーフありがてぇ
静的型付けありがてぇの話になっちゃってるの?
2016/10/19(水) 09:41:28.41ID:zLw8XMfd
論よりコードっていうけど、ほんとコードの提示って怖いね
HelloWorldくんの底が知れた 無様… 逃げたほうがマシだったんじゃ?
2016/10/19(水) 10:09:01.69ID:OiCCOICb
altJSでは、大規模開発では静的な、Haxe(ヘックス)。
Scalaのようなパターンマッチありの、switch

Rubyの代わりは、関数型言語Elixir。
Ruby + Rails + ErlangVM で、並行処理が得意
2016/10/19(水) 15:06:28.19ID:pQsxuliv
静的は静的で、ライブラリをアップデートすると壊れる、
みたいなことが頻繁に起こるし、
安全な分と同じくらいそれを注意する気苦労がいる。
2016/10/19(水) 18:35:13.38ID:lOW+ixbD
静的型の信者じゃないけど、これじゃ同等とは言えないだろ
代数的データ型&パターンマッチだったら、こんなコードはコンパイルエラーだ

conn = ConnectionInfo.new(ConnectionState::Connecting.new(Time.new()),
IPAddr.new("128.0.0.1"))
if conn.connection_state.kind_of? ConnectionState::Connecting
p conn.connection_state.last_ping #=> ERROR!!!
end
2016/10/19(水) 19:41:21.21ID:lOW+ixbD
>>209
だから、作るものによって静的が向いてるものもあれば
動的が向いてるものもあるよな?って単純な話なんだけど
HelloWorldおじさんは違う意見みたい
2016/10/19(水) 21:35:33.44ID:/aiIuy0q
そうだよね。作るものによってというのが重要。

代数データ型が適している分野で例えばライブラリを作って終わりみたいな
仕事だと、差が出るかもしれないけど、実際にやった仕事(勉強とかではなく)で
代数データ型があったらなぁって思ったことある?

仮に有ったとしても全体のごく一部だけだろうね。
だから言語の違い程度でそんなに差は出ないっていうのは間違っていない。
2016/10/19(水) 22:05:06.83ID:kMzukS4D
>>212
お前が差が出ないのを示せたのはHelloWorldだけだろw
214158
垢版 |
2016/10/19(水) 22:29:30.29ID:SBws4+ZC
>>202
あのぉ代数的データ型君よ、ナゼ>>173のリンク先文書の中から
わざわざそのパラグラフを引用して静的型付けの利点だとドヤ顔してるの?
そこは(「静的型付け」ではなく)正に「代数的データ型」の利点だ
どうやら代数的データ型君は、静的型付けと代数的データ型との違いも分からず
ごっちゃに理解して分かったつもりでいることを自らゲロっちゃったみたいだね

というか、そもそも「不変条件」にしても分かっていないんじゃないの?
だからアサーションを「いわゆるテストの一種」などと書いてしまうんだろな
何度も繰り返すけど、代数的データ型と静的型付け(or 型システム or 型推論)の
利点は異なるし、それらをごっちゃにして議論を進めるべきではない

たとえば、完全な型システムを備えた静的型付け関数型言語 OCaml であってすら、
代数的データ型を用いずにネットワークコネクション状態管理を定義すると
(>>173文書の type connection_state = | Connecting | Connected … で始まるコード)、

 {state: Disconnected, last_ping_id: 100, …(中略)… }

というコネクション情報値を表すコードに対して、OCamlコンパイラは
以下の要求仕様に含まれる不変条件に違反しているというエラーを検出できない

 > * last_ping_time と last_ping_id は keep-alive プロトコルの一部として使われます。
 >   …(中略)…
 > またこれらは state が Connected の時にのみ存在します。

だから代数的データ型を使いましょうね、って言うのが>>202が引用したパラグラフで
>>173リンク先文書の著者が読者に伝えたかった主旨であって、静的型付けとは無関係なのよ
さあ>>202の代数的データ型君よ、これで代数的データ型の利点は理解できたかね?
2016/10/19(水) 22:33:50.18ID:pM+OMbbr
>>214
それは代数的データ型の利点じゃないな。
代数的データ型を使うという手段が目的となっていて
その手段を使おうとすると問題が発生する。

自ら苦行の道を進んで、苦しいのが解決したという
つまりマイナスがゼロになっただけなのに、
(マイナスの状態から)増えたという変化の一部しか見てない。
216158
垢版 |
2016/10/19(水) 22:43:15.12ID:SBws4+ZC
>>206
>>198で書いたけど、代数的データ型君は代数的データ型に関して
無知だということに気付いたけど、その事実を認めたくないんだろね
だから>>211みたいに、代数的データ型の議論を「静的 vs. 動的」という
対決構図へすり替えようと必死なんだと思われ
2016/10/19(水) 22:53:00.17ID:aQ7ihF1n
そもそもこいつは、フレームワーク無しの素のRubyでHelloWorld書くのと、同じように素のPHPでHelloWorld書くのでPHPの方が楽だって認めてるんだろ
それこそ「言語による効率の違い」だろ

フレームワーク使えば同じになるって、そりゃ「言語の違いをフレームワークが吸収した」って言うんだよ
2016/10/19(水) 23:11:26.37ID:pM+OMbbr
>>217
吸収してしまって、その違いが些細なものとなってしまったわけですよね?
219デフォルトの名無しさん
垢版 |
2016/10/19(水) 23:17:47.00ID:IHKURc/r
>>188
そのアンカーは>186のが相応しそうだが
2016/10/19(水) 23:23:44.73ID:kMzukS4D
>>214
そんなゴタクはいいから、さっさと>>210みたいなコードが書けないrubyの例を見せて下さいよ
それともC1カバレッジのテストでもやるの?
2016/10/19(水) 23:26:44.07ID:kMzukS4D
コード書くとボロが出ちゃうから、またコード書かずに長文書く書くマンに逆戻りかな?w
222158
垢版 |
2016/10/20(木) 00:41:54.83ID:UafaUCbB
>>220,221(ID: kMzukS4D)
>>216でも書いたけど、ホントに代数的データ君は議論の焦点を
代数的データ型から静的/動的へすり替えようと必死だねえ
ねえ、どうしてそんなに必死なの?

>>210氏の指摘は代数的データ型に関するものではなくて、
型付けが静的/動的という違いに起因するもの
動的型付け言語であり、言い換えると型システムを持たないRubyでは、
パターンマッチの網羅性に相当する型エラーをコンパイル時には検出できない
繰り返すけど、こんな静的/動的の話はこのスレの住人であれば当たり前だよな?

ただし実行中であれば動的に型検査できる
特にRubyであれば簡潔にコードとして表現できる
コードは代数的データ型の議論が終結したら示すよ

で、代数的データ型君は代数的データ型について理解できたのかな?
2016/10/20(木) 01:09:47.56ID:vzgaJJkb
>特にRubyであれば簡潔にコードとして表現できる

簡潔に表現したコードなんて出てなくね?OCamlに比べたら冗長でしょ
2016/10/20(木) 02:29:07.30ID:lUeWQjIy
OCamlがスッキリ書けるのは
普通はあまりやらないような特殊な用途だけで
COBOLと同じようなDSLと思えばいい。

嘘だと思うのなら、今までの人生で勉強以外で
OCamlで書いたコードを言ってみたら良いよ。
言えないか、ある種の自慢話(俺こんな高度なことしたんだぜ(笑))のような
どこで使うのは全くわからない話をするしかないだろう。
2016/10/20(木) 03:21:02.12ID:vzgaJJkb
簡潔じゃないものを簡潔だと言ってるから違うと言っただけだけど?
まあ書いた本人も冗長と認めたっぽいから良いか
流石にアレを簡潔はないよな〜
226デフォルトの名無しさん
垢版 |
2016/10/20(木) 07:14:57.75ID:vW88Z4VH
>>218
服を着るようになったから人間に肌の色の違いはない
って言ってる?馬鹿なの?
2016/10/20(木) 09:18:03.49ID:lUeWQjIy
>>226
例えが意味不明
2016/10/20(木) 13:34:29.50ID:KC19vCT1
>>224
>>27みたいな仕事はお前から見たら特殊な用途だと思うけど、
それでも生産性に差は無いんじゃなかったっけ?
それとも用途によっては差が出るに意見を変えたの?
2016/10/20(木) 20:52:40.32ID:ZXfPioz4
>>228
俺は差が0とは言ってないよ。殆どないと言ってる。
殆ど無いという理由は、大きな全体があってその一部だけしか差がないから。

ベンチマークの話に例えよう。俺が使っているクラスライブラリがバージョンアップして
「○○クラスのオブジェクトのインスタンス生成が100倍速くなりました。」と書いてあったとしよう。
これで俺のアプリが100倍速くなる!・・・なんてことはいわない。
当たり前だよな。○○クラスのオブジェウトのインスタンスを何個生成するかによって変わるんだから。
一回のインスタンス生成にかかる時間が100マイクロ秒から1マイクロ秒に速くなった。
たしかに100倍だがそのオブジェクトを1000個しか作らないなら100ミリ秒が1ミリ秒になるだけ。

生産性もそれと同じ。特殊な用途であることは誰も否定しないだろう。
(先に俺が言った「嘘だと思うのなら、今までの人生で勉強以外でOCamlで
書いたコードを言ってみたら良いよ」に答えてないのがその証拠)

特殊な用途というのは使われる機会が少ない。プロジェクト全体のごくわずか。
だからそんなものは生産性に大きな差を与えるものにはならない。

「特殊な用途」がプロジェクトの殆どを占めることだってあるかもしれないだろ
みたいな話はいらんからね。そんな言い訳する代わりに「今までの人生で(略)」に
答えればいいだけなのに答えないって、こ・と・はぁ〜って思うだけだから。
2016/10/20(木) 21:30:03.25ID:G0R2mg5X
HelloWorldが仕事の大部分を占めればそうなるわな
2016/10/20(木) 21:33:15.39ID:ZXfPioz4
普通の人に仕事の大半がそうだろうなw

「今までの人生で(略)」
232デフォルトの名無しさん
垢版 |
2016/10/20(木) 23:18:09.29ID:vW88Z4VH
>>227
どんな言語でもフレームワークを使えば同じように書けるから言語による差はない
って言ってる?馬鹿なの?
2016/10/20(木) 23:58:59.82ID:RjGt0l94
前提も頭も狂ってるから結論もおかしくなってることに気づかないバカ
2016/10/21(金) 00:01:07.08ID:wzbGy53g
>>232
差がないのは言語による開発効率ね。
言語に違いは有っても開発効率に大きな差はない。
2016/10/21(金) 10:41:13.06ID:kR8VeEnh
>>229
コード書けないHelloWorld長文おじさん
2016/10/21(金) 18:09:04.13ID:vB7jIyI4
>>234不正解

理論上は開発効率に大きな差があるが
現実は下請けに回ってきた時点で言語や環境が決められているか
既に決まってスタートしているので考える余地がない
が正解
2016/10/21(金) 22:13:42.38ID:wzbGy53g
下請けの反対は元諸けと思うが
元請けとか上流になるにつれて言語は使わなくなっていくはずだが?

UIとかウェブアプリのフロントエンドとか
エンドユーザーに近いものほど、汎用的なものを使って
一般的なやり方ができるので言語の違いの差は出てこなくなる。

言語の違いだけで、大きく開発工数が変わるとしたら
むしろ下請けというか特殊なライブラリだけを作っているようなところだよ。
大企業から頼まれてある機械の部品を専用に作る町工場みたいな。

ただ今時そんなことだけやってるような会社あるかな?
ハードと違って一回作れば終わりだもんね。仕事が見つからないだろう。
2016/10/21(金) 23:36:53.11ID:kR8VeEnh
このドカタには内製って発想がないのかな?
>>27を読んでフツー多重下請けの話だと思うか?
2016/10/21(金) 23:42:21.89ID:p3mW1/xP
>>237
上流になるほど「安い人を大量に集められる言語」って基準で選ぶんだよ
そこに開発効率なんて言葉はない
2016/10/21(金) 23:45:48.48ID:p3mW1/xP
あと、上流は1つだけの下請けに出すわけじゃないからね
複数の下請けに出すことの方が多いから、余計に「安い奴隷を集められる言語」に行く可能性は高い
どっかの下請けが夜逃げしたとしてもすぐに補充がきくようにね
241デフォルトの名無しさん
垢版 |
2016/10/21(金) 23:50:54.50ID:QizP+3wH
かつての日本は研修以外ではコード書かなくてもSEとかなれましたから。
今はどうなのかな。
2016/10/21(金) 23:52:16.03ID:p3mW1/xP
>>241
今もそうだよ

ただ、SI一辺倒だった時代ではなくなってきてるので、比率は下がってきてるけどね
2016/10/22(土) 00:06:02.54ID:LnIwCgwC
SEなんて属人化をひたすら廃することでリスクマネジメントができてるとか勘違いしてる連中だからな
だから安い奴隷を使えるようにする方向に動くんだよな
その方がリスクが少ないと思い込んでるから

本当はプログラミングなんて職人芸のカタマリで、上位の職人は奴隷の何百倍の開発効率を叩き出す
ことを知らないんだよな
そういう職人を数人高待遇で雇えば奴隷なんて要らないのに…
2016/10/22(土) 00:20:16.83ID:xefyYgJX
コードを書かない人間をクビにする作業が忙しくてコードを書けないんだろ
武器を持った人間を捕まえる仕事のために武器を持つことが許されるみたいな感じ
2016/10/22(土) 01:52:25.03ID:cVDLvhGg
>>239
俺は元請けは言語使わないって言ってるんだよ。
その俺に元請けは安い人を探すっていわれたって、
えぇ、だから言語使わないでしょ?としか言うことがない。
2016/10/22(土) 01:54:01.83ID:LnIwCgwC
>>245
使わないだろうけど決定はする
そこに開発効率なんて基準は入らない
奴隷がいかに集められるか、ということだけが基準となる
2016/10/22(土) 01:56:24.28ID:cVDLvhGg
だからなんで俺にそれをレスするんだよ?

反論してないのに反論している風な空気出すなってw
2016/10/22(土) 01:58:10.15ID:LnIwCgwC
>>247
下請けには言語の決定権なんてない、という>>236の意見に賛同している
2016/10/22(土) 02:08:31.54ID:cVDLvhGg
下請けに決定権がないのが、言語の違いで開発効率に差があることの根拠?
何を言ってるのかさっぱりわからない。
2016/10/22(土) 02:11:53.22ID:LnIwCgwC
>>249
言語による開発効率なんて意味がないということ
所詮は開発効率なんて何も考えてない上流が決めることなんだから
大事なのは奴隷をいかに集められるかということだけ
2016/10/22(土) 02:17:59.04ID:cVDLvhGg
言語の違いで開発効率に大きな差がない上に、
その僅かの差は人を増やすことで解決できる問題でしかない。

それが俺の意見とだれかさんの意見をまとめた答えだよ。
2016/10/22(土) 02:20:08.08ID:LnIwCgwC
>>251
そういう人月神話を信奉した結果が現状の日本のSI業界の悲劇的状況なんだけどね
プログラミングは属人性が恐ろしく高い世界だという現実にいつ気づくのだろうか
2016/10/22(土) 02:27:45.65ID:cVDLvhGg
>>252
知らんがな。言語による開発効率の差はごく僅かって言う話と関係ないし。

日本が嫌なら海外にでも行けば?
海外ならば、ぜんぜん違う言語を使ってるはずだって
夢見るのも悪くないと思うよw

あ、ぜんぜん違う言語=英語とかそういうのはいらないからw
2016/10/22(土) 02:29:04.98ID:LnIwCgwC
>>253
だからそんな話は意味がないって
言語なんて開発者が決める話じゃないんだし
2016/10/22(土) 02:29:16.74ID:cVDLvhGg
プログラミングは属人性が恐ろしく高い

その属人性(その言語に詳しいかどうか)でも
言語の違いによるわずかな差は簡単に埋められてしまうね。
2016/10/22(土) 02:29:59.60ID:cVDLvhGg
>>254
それは日本の話だろ?w

海外は開発者が言語を選んでいるんですよ。
言語ランキングはいまさら出さなくてもいいよな?
日本と大差ないし。
2016/10/22(土) 02:31:40.83ID:LnIwCgwC
>>255
属人性が高いということは言語による差が大きいということだよ
あらゆる言語を操れるスーパーマンなんていないからね

とりあえず職人さんが忌避しがちなPHPとかは真っ先に対象から外すべきだね
2016/10/22(土) 02:32:21.46ID:cVDLvhGg
> 属人性が高いということは言語による差が大きいということだよ

意味不明。
2016/10/22(土) 02:32:30.50ID:LnIwCgwC
>>256
日本人が日本の話してるのはごく自然なお話だと思うんですが?
君は日本以外で仕事してるの?
2016/10/22(土) 02:33:14.17ID:LnIwCgwC
>>258
奴隷ばっか集まる言語なんて意味ないだろ?
2016/10/22(土) 02:35:38.46ID:cVDLvhGg
属人性の意味間違ってるなーw
説明するのがめんどくせーから探してきた

http://d.hatena.ne.jp/Nagise/20090302/1235997646
>
> ソフトウェア開発の属人性の誤解
>
>  属人性の排除が狙うところってのは「その人しかやり方を知らないよ、秘密だよ」って
> 作業をなくす話で、技能的にその人しかできる人がいないって話題じゃないんだ。
> ソフトウェア開発の属人性を語るときにここを勘違いしていると議論にならない。
2016/10/22(土) 02:36:59.45ID:cVDLvhGg
>>259
> 君は日本以外で仕事してるの?

そうじゃなくて、海外の事例を調べてみろって話。
海外は、日本とは違って、言語をちゃんと選んでるんだろう?
使える人が多いかどうかじゃなくて。
2016/10/22(土) 02:39:15.13ID:LnIwCgwC
>>261
合ってるよそれで

日本人SEはその「その人しかできない」を拡大解釈して「奴隷でもできなきゃいけない」という脅迫概念にかられてるんだよね
奴隷の開発効率なんて職人の百分の一以下しかないのにね
2016/10/22(土) 02:40:01.83ID:cVDLvhGg
>>263
海外でも同じだろw
なんでいっつも、日本はー、日本はーって言ってるの?
2016/10/22(土) 02:42:10.02ID:LnIwCgwC
>>264
同じじゃないんだなこれが
海外はプログラマを職人としてきちんとした待遇で受け入れてるからね
(その代わり職人レベルにないプログラマは容赦なく切られるけどね)
2016/10/22(土) 02:42:31.46ID:cVDLvhGg
言語の違いによる開発効率の差は殆ど無いから当たり前の話であるんだが、
マイナーな言語を使うよりも、メジャーな言語を使うほうが
人を多く集められるので、(ほんの少ししかない)開発効率は
簡単に逆転するという話でした。
2016/10/22(土) 02:43:15.88ID:cVDLvhGg
>>265
だから海外ではなんの言語が使われてるのか?って
話をしたんだよ。日本と違うデータが出てくるんだろ?
2016/10/22(土) 02:44:39.60ID:LnIwCgwC
>>266
出てるよ
海外のJava、PHPの落ち込み方は半端ないからね
それに引き換え日本の求人ときたら…
2016/10/22(土) 09:20:53.73ID:O/1X83Cc
向こうは一山いくらの開発はどんどんオフショアに投げるし、
ジャッパゴスのようにパッケージを無駄にカスタマイズしたりしないの
残念ながら技術的な問題じゃないんだ
2016/10/22(土) 11:17:42.02ID:8sfmeCeb
カスタマイズは良いけど成果物を公開しないよ、秘密だよってのがガラパゴスなんだろ
2016/10/22(土) 11:21:53.28ID:O/1X83Cc
じゃ海外でSIの成果物をgithubで公開してる例を教えてくれよw
2016/10/22(土) 11:23:02.67ID:MU45rE6v
なんでそこSI限定なの?
2016/10/22(土) 11:45:31.20ID:O/1X83Cc
この文脈でSI限定じゃない方が不自然だと思うが?
自社のパッケージやサービスの開発なら日本でもわりと職人的な技術が重視されるから
ID:LnIwCgwC の抱いているような不満には至らんよ
2016/10/22(土) 11:56:23.19ID:aqioS2aS
お前らはどうせどの言語もまともに使えないんだからどの言語でも大差ないよ
2016/10/22(土) 12:04:05.39ID:cVDLvhGg
>>268
落ちているやつじゃなくて、何を使ってるかを言えよw
2016/10/22(土) 12:06:50.81ID:8sfmeCeb
秘密が属人的なものであれば公開するという意思決定も簡単にできる
一方、組織的な秘密を公開するには例えば全会一致のような高いハードルがある
2016/10/22(土) 12:13:26.29ID:cVDLvhGg
公開してないから、属人的っていうんやで?
278デフォルトの名無しさん
垢版 |
2016/10/22(土) 12:31:49.49ID:MCKaXjxk
ところで効率や仕事での仕方なし抜きにしたら、おまいらの好きな言語って何?
2016/10/22(土) 13:37:30.09ID:cVDLvhGg
ついでに好きな理由も書いてね
2016/10/22(土) 15:19:03.68ID:FwMGd9Sr
>>278
お気に入りは文句なしでSmalltalk
理由は頭一つ抜きん出た生産性の高さw
http://cast-a-spell.at.webry.info/201001/article_7.html
2016/10/22(土) 15:24:05.21ID:cVDLvhGg
うーん。生産性と行数がイコールだと思ってる人がいるようだね。
同じ言語であれば、生産性と行数はイコールかもしれないけど、
言語が違うと生産性と行数は一致しない。

例えばPythonだと、他の言語だと一行で書けるものを
改行強制で二行にされちゃうけど、そこに二倍の
生産性があることにはならない。

定義とかimport文とかを除いた実質的な実行行数(ステップ数とも言う)で考えないと。
2016/10/22(土) 15:29:01.36ID:cVDLvhGg
JavaScriptでもアロー関数が使えるようになって、

array.forEach(function(v) {
 console.log(v);
});

という三行が

array.forEach(v => console.log(v));

という一行で書けるようになったけど、タイピング速度には
影響があったとしても、3倍の行数文の違いはない。

昔だってこう書くことは出来た。
array.forEach(function(v) {console.log(v) });
改行とインデント入れて11文字タイプする程度の速度の違いしかない。

これが行数で生産性を語る場合の罠ね。
283デフォルトの名無しさん
垢版 |
2016/10/22(土) 15:53:20.93ID:MCKaXjxk
俺はc++14以降のc++がけっこう好きになってる。
昔はc++大嫌いだったんだけど、java使うようになって、でも結局メモリリーク問題は付きまとって、更に既存のcライブラリ使わざるを得なくてjniに嫌気がさして、、、
それならレガシーライブラリそのまま使えるc++のがいいんじゃ と感じるようになった。
ただまぁそれはweb関係じゃない部分だからそうなんだと思う。
284デフォルトの名無しさん
垢版 |
2016/10/22(土) 16:00:12.31ID:MCKaXjxk
smalltalkとかlispは動いてるシステムをそのまま修正できる的なところが凄いと思う。
http://qiita.com/guicho271828/items/1b78d8a7335e81e11791
2016/10/22(土) 16:19:08.42ID:cVDLvhGg
>>284
最終手段としてないよりはあるほうがいいし、技術的にはすごいけど実用的には?だけどね。
考えてみりゃわかるけど、動いているシステムをその場で書き換えられたら困ることのほうが多い。

例えば書き換えるべき対象が一つだけならいいけど、今は何十台といったサーバーでアプリが動いてる。
そのそれぞれにログインしてシステム書き換えますか?って話。

作業をミスすることなく一発で完了できるならまだしも、通常は手元で修正してテストをしてバグを潰す。
書き換えてる途中でその機能を使われたら問題になるので、ブロックする機能も必要。
マーケティングの点からも直ぐに修正反映ではなくて、事前に告知したい。

でなんとなく気づいてかもしれないけど、動いてるシステムをそのまま修正ってのは実際に
ウェブアプリで行われてるんだよ。ただしSmalltalkは言語のレイヤーでこれらのことをやってるが
その他の言語は別のレイヤーで行ってる。

それもそのはずで、SmalltalkはOSの機能そのものまで言語の中に取り込んでるものだから。
だから「動いてるシステムをそのまま修正」っていうのは実はOSを起動したまま
アプリを再起動させるだけで修正できるのと同じことを指してる。
単に言語だけで完結できますよーってだけで、他の言語もOSと連携させて動いてるシステムを
そのまま修正することは可能。
2016/10/22(土) 17:10:10.50ID:6V9nqXNd
いや、便利で必要な技術だと思うよ。
でも専売特許じゃなくてevalがあるような言語などれでもら出来ることだと思う。
自分もNodeでとあるゲームサーバー立てた時したことあるし、
クライアントでもしたことある。
バグ修正やハックの類だが、そのゲームの最中に修正できるに越したことはない。
287284
垢版 |
2016/10/22(土) 17:15:53.55ID:xGV5yujh
>>285
> でなんとなく気づいてかもしれないけど、動いてるシステムをそのまま修正ってのは実際に
> ウェブアプリで行われてるんだよ。ただしSmalltalkは言語のレイヤーでこれらのことをやってるが
> その他の言語は別のレイヤーで行ってる。

いや、うん知ってるし。
で、だ、仕事での仕方なし抜きにしたらって言ってる所にトウトウと実用ではどうのこうの語られても「そうだね」という感想しか持てないわ。ごめんね。

そんなことよりお前の好きな言語とそれに惹かれたとこは何さ?
288デフォルトの名無しさん
垢版 |
2016/10/22(土) 17:32:17.15ID:xGV5yujh
お前らが惹かれた言語はなにでそのどんなところに惹かれたのさ?

普段使いの言語でも、仕様全部把握してるとかでなければ「あ、こうやればよかったんだ」ってあっただろ?
新しく学んだ言語でも「これは便利だな」ってあっただろ?
そんな時コード書くのが楽しいだろ?
そんな話を聞かせてくれよ。
2016/10/22(土) 20:25:33.75ID:tBkzOasK
やっぱりSmalltalkが最高だったね
1 + 2 × 3 が 9 になる所とかサイコー
290デフォルトの名無しさん
垢版 |
2016/10/22(土) 21:11:20.34ID:xGV5yujh
forthもいいと思う
1 2 + 3 *
2016/10/22(土) 21:47:29.15ID:+Ddj+FpA
>>289
嘘こけ 7 になるぞw
https://lively-web.org/users/Dan/ALTO-Smalltalk-72.html
2016/10/22(土) 22:56:25.52ID:cVDLvhGg
>>286
> バグ修正やハックの類だが、そのゲームの最中に修正できるに越したことはない。

今までの人生で、何回、ゲーム最中にゲームを終了すること無く
ゲームの実行コードを修正したいと思ったことある?
もちろんそのゲームの開発者の立場で。(チートする話じゃないってこと)
2016/10/22(土) 23:00:01.30ID:cVDLvhGg
>>288
> お前らが惹かれた言語はなにでそのどんなところに惹かれたのさ?

言語を使うのが目的じゃなくて、その言語でなんらかの
アプリ、システム、サービスを作るのが目的だからね。
言語だけで惹かれることはない。

特殊なアプリだったら、特殊なライブラリが在るものを選ぶとか
特定の環境(スマホとか)で動かないならば、その環境で一般的なのを
選ぶとか、なんらかのプラグインならば、その大本と同じ言語を選ぶとか。

言語そのもので惹かれるってことはないな。
ある言語で書いていて、あー○○言語だとあれがあって便利なのになーって
思うことはたまにあるけど、それはそれでその問題を自分で解決するほうが楽しい。
2016/10/22(土) 23:00:58.19ID:tBkzOasK
>>291
ちゃんと9だよ。サイコーだからな
https://ideone.com/BRVnNz
2016/10/23(日) 00:21:12.92ID:Ih4sBoJC
>>293
色んな人がいるよね
大事なのは言語愛を否定しないことだね
言語愛を持ってる人に「なんでも一緒だろ」なんて暴言を吐かないことが大事だね
2016/10/23(日) 00:26:31.49ID:KEuHHxF/
言語愛(笑)
2016/10/23(日) 00:31:47.12ID:Ih4sBoJC
(笑)とか言ってるうちはまだまだだよ
愛は一番のモチベーションなんだからね
2016/10/23(日) 00:46:38.28ID:RkqjdgMb
>>292
> 実行コードを修正したいと思ったことある?

効率や仕事での仕方なし抜きにってことならSmalltalkで実行しながら開発してくの楽しいよ
ついでにSmalltalkには仮想イメージっちゅう簡易オブジェクトストア機構がデフォなんで
実行コンテキストもそのまま永続化できるからこれがまた超便利
2016/10/23(日) 00:56:14.20ID:KEuHHxF/
それ効率悪そう。
テストとかどうやってるの?
実行した結果バグがあったら実行前に戻れるの?
最初から実行するのなら別に実行しながら書く意味ないし。
っていうか実行しなきゃ書けないの?
300デフォルトの名無しさん
垢版 |
2016/10/23(日) 01:14:36.69ID:EPR0SqWa
>>299
ユニットテストとかsmalltalkから生まれたんじゃないのか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況