前スレ
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】
http://echo.2ch.net/test/read.cgi/tech/1458955459/
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/10/01(土) 23:40:48.89ID:FvOeAcfn
185デフォルトの名無しさん
2016/10/18(火) 17:41:42.50ID:6xf0fQvT Javaなんて10年以上前に捨てました。ファウラーとかが、主婦が家事のウンチク垂れるのと本質的に同じレベルで、無意味な能書き垂れてた頃ね。コードを1文字書くまでに膨大な思案を要求されるようになった。芸術作品じゃないんだから、そんなもん、オワコンでしょ。
JSですよ。突出しちゃって5年以上たつよね。もう比較にならないほど別格。
因みに、nodejsで作った経験ありません。
基本的にpython使ってます。wsgiね、チェインオブなんちゃらパターン。
そんな奴が何でJS押すかって?
だって、何も読まずにいきなり作れる自信があるからね。やっぱりブラウザとかWSHで使われてたのは大きいよ、過去に特に勉強したつもりがなくても得意にガンガン書けちゃうよ。俺だけじゃなくたぶんそんな人はゴロゴロいる。
JSですよ。突出しちゃって5年以上たつよね。もう比較にならないほど別格。
因みに、nodejsで作った経験ありません。
基本的にpython使ってます。wsgiね、チェインオブなんちゃらパターン。
そんな奴が何でJS押すかって?
だって、何も読まずにいきなり作れる自信があるからね。やっぱりブラウザとかWSHで使われてたのは大きいよ、過去に特に勉強したつもりがなくても得意にガンガン書けちゃうよ。俺だけじゃなくたぶんそんな人はゴロゴロいる。
186デフォルトの名無しさん
2016/10/18(火) 18:07:44.27ID:GiAjO0tK Javaというか、多くの昔からある静的な言語が
開発サイクルが非常に速くなっていっている現状で
シグネチャの変更スピードについて行けなくなってきている
結果扱いきれてるのは非常に力と資産をもった元請け企業のみで、
下請けはどんどん時代に取り残される悪循環が始まってる
そういうところは5年後10年後生き残っては居ないだろう
これからは殆どの力なき者にとってはスクリプト言語の時代
開発サイクルが非常に速くなっていっている現状で
シグネチャの変更スピードについて行けなくなってきている
結果扱いきれてるのは非常に力と資産をもった元請け企業のみで、
下請けはどんどん時代に取り残される悪循環が始まってる
そういうところは5年後10年後生き残っては居ないだろう
これからは殆どの力なき者にとってはスクリプト言語の時代
187デフォルトの名無しさん
2016/10/18(火) 21:36:24.79ID:2Y34d6Lk >>185
> だって、何も読まずにいきなり作れる自信があるからね。
使い捨てのスクリプトならそうだろうけど
ちゃんとしたものを作ろうとしたら大変だよ?(JavaScriptに限らない)
まずビルド環境を整えないといけない。
そうしないとテストやカバレッジ測定すらできないから。
ある程度の規模になればフレームワークは必須だけど、
Reactを使うならばBabel(ECMAScript2015〜 + JSX)の導入がほぼ必須。
Angular2を使うならばTypeScript(JavaScriptの上位互換)の導入がほぼ必須
ちなみにECMAScript も TypeScriptもIE6ぐらいの時代のJavaScriptとはぜんぜん違う。
文法はPythonに劣らないどころか超えてると言ってもいいぐらいに改良された。
もちろんその反面、文法だけみると覚えることはPythonよりも多いがw
そういった環境でモジュールを使うならばビルド環境に合わせたモジュール管理の仕組みを使う。
簡単に使えるが、環境を整えるまでが大変。
パフォーマンスを上げるために複数のファイルを結合したら圧縮したりするが
これまたビルド環境を整えろという話につながる。
大変だがちゃんと整えれば静的解析でリアルタイムにエラーを教えてくれるようにもなる。
atom + eslint で構文エラーやスペルミスをリアルタイムに教えてくれるのは便利。
ここまでやったことないでしょ?
つまりあんたが何も読まずに作れるっていってるのは、何も読まずに作れる範囲のことしかしてないからなだけ。
> だって、何も読まずにいきなり作れる自信があるからね。
使い捨てのスクリプトならそうだろうけど
ちゃんとしたものを作ろうとしたら大変だよ?(JavaScriptに限らない)
まずビルド環境を整えないといけない。
そうしないとテストやカバレッジ測定すらできないから。
ある程度の規模になればフレームワークは必須だけど、
Reactを使うならばBabel(ECMAScript2015〜 + JSX)の導入がほぼ必須。
Angular2を使うならばTypeScript(JavaScriptの上位互換)の導入がほぼ必須
ちなみにECMAScript も TypeScriptもIE6ぐらいの時代のJavaScriptとはぜんぜん違う。
文法はPythonに劣らないどころか超えてると言ってもいいぐらいに改良された。
もちろんその反面、文法だけみると覚えることはPythonよりも多いがw
そういった環境でモジュールを使うならばビルド環境に合わせたモジュール管理の仕組みを使う。
簡単に使えるが、環境を整えるまでが大変。
パフォーマンスを上げるために複数のファイルを結合したら圧縮したりするが
これまたビルド環境を整えろという話につながる。
大変だがちゃんと整えれば静的解析でリアルタイムにエラーを教えてくれるようにもなる。
atom + eslint で構文エラーやスペルミスをリアルタイムに教えてくれるのは便利。
ここまでやったことないでしょ?
つまりあんたが何も読まずに作れるっていってるのは、何も読まずに作れる範囲のことしかしてないからなだけ。
188デフォルトの名無しさん
2016/10/18(火) 21:55:55.42ID:dddY2TDK >>187
HelloWorldより難しいプログラムを作れるようになったか?
HelloWorldより難しいプログラムを作れるようになったか?
189デフォルトの名無しさん
2016/10/18(火) 21:56:27.15ID:GiAjO0tK 文法ねぇ
確かに大規模コードのための文法は着々と準備されていってるね。
でももうずっと思ってるがJSって、例えば連番の配列を作る、みたいな便利系機能や、
各クラスのメソッドが少ないんだよね。
まあ互換性の重要度が高いJSではそういうの増やして
負の遺産を作るリスクを取らないのは正しいと思うけどさ。
ちょっとuserscriptやツールの軽量なスクリプト書こうってときに
一々ライブラリ引っ張ってこないといけないのも困るんだよね
確かに大規模コードのための文法は着々と準備されていってるね。
でももうずっと思ってるがJSって、例えば連番の配列を作る、みたいな便利系機能や、
各クラスのメソッドが少ないんだよね。
まあ互換性の重要度が高いJSではそういうの増やして
負の遺産を作るリスクを取らないのは正しいと思うけどさ。
ちょっとuserscriptやツールの軽量なスクリプト書こうってときに
一々ライブラリ引っ張ってこないといけないのも困るんだよね
190デフォルトの名無しさん
2016/10/18(火) 21:59:43.78ID:2Y34d6Lk191デフォルトの名無しさん
2016/10/18(火) 22:37:19.60ID:5uBe5ZKU >>189
負の遺産ではなくて、言語の仕様に対して実装が多すぎて、仕様を大きく変えても実装がどうせ
追いついてこないという実情があるんだろうね
とはいえ Microsoft が古い IE をばっさり切ったのでその辺の事情も変わってくるかもしれない
とか言ってるとスマホ全盛時代になって古いスマホブラウザに引っ張られるというこれまた新たな
ネックが生じてしまう時代になってしまったのは皮肉というべきか
負の遺産ではなくて、言語の仕様に対して実装が多すぎて、仕様を大きく変えても実装がどうせ
追いついてこないという実情があるんだろうね
とはいえ Microsoft が古い IE をばっさり切ったのでその辺の事情も変わってくるかもしれない
とか言ってるとスマホ全盛時代になって古いスマホブラウザに引っ張られるというこれまた新たな
ネックが生じてしまう時代になってしまったのは皮肉というべきか
192デフォルトの名無しさん
2016/10/18(火) 23:17:00.33ID:GiAjO0tK と言っても仕様を決めてるTC39メンバーにはハードベンダーや研究者も居るけど
中核は全員ブラウザベンダーの人達でしょ。
その人達は慎重な面も持つけど消極的というわけではないよ。
ただ、『配列を連番で作る』よりも「WeakRef」やら「SIMD」やら「Atomics」やらの方が
重要と考えているだけだろう。
それと技術的な話だと「標準ライブラリ」の仕組みを整えないといけない。
それにはまず普通のモジュールの仕組みが整うのを待たないといけない。
中核は全員ブラウザベンダーの人達でしょ。
その人達は慎重な面も持つけど消極的というわけではないよ。
ただ、『配列を連番で作る』よりも「WeakRef」やら「SIMD」やら「Atomics」やらの方が
重要と考えているだけだろう。
それと技術的な話だと「標準ライブラリ」の仕組みを整えないといけない。
それにはまず普通のモジュールの仕組みが整うのを待たないといけない。
193デフォルトの名無しさん
2016/10/19(水) 00:14:59.40ID:OiCCOICb WEB+DB vol.94 が出た
特集は、Scala, Groovy の対抗馬となる、JVM上で動く、Android用言語、Kotlin
JS/HTML/CSSで、デスクトップアプリを作る、Electron
特集は、Scala, Groovy の対抗馬となる、JVM上で動く、Android用言語、Kotlin
JS/HTML/CSSで、デスクトップアプリを作る、Electron
194158
2016/10/19(水) 00:15:02.24ID:SBws4+ZC >>173
結局、>>172が指摘してるように「主張はすれど根拠は示さない」し
「根拠を不思議と出し渋る」しかないみたいだね
おそらく代数的データ型君は「自分の言葉では根拠を述べることができない」んだろな
だから、他人の書いた文書のリンク先しか書けない
代数的データ型を分かった気でいるけど実は無知であることを
代数的データ型君本人が自覚できていないんじゃあ、しゃあないわ
> じゃあ、ここにある評価器とconnection_infoを書いてみてよ
しゃあねえからRubyで書いてあげた
https://ideone.com/WpazqE
当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ
評価器については、>>173のリンク先文書にJavaのコードがあるから省略しとく
結局、>>172が指摘してるように「主張はすれど根拠は示さない」し
「根拠を不思議と出し渋る」しかないみたいだね
おそらく代数的データ型君は「自分の言葉では根拠を述べることができない」んだろな
だから、他人の書いた文書のリンク先しか書けない
代数的データ型を分かった気でいるけど実は無知であることを
代数的データ型君本人が自覚できていないんじゃあ、しゃあないわ
> じゃあ、ここにある評価器とconnection_infoを書いてみてよ
しゃあねえからRubyで書いてあげた
https://ideone.com/WpazqE
当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ
評価器については、>>173のリンク先文書にJavaのコードがあるから省略しとく
195デフォルトの名無しさん
2016/10/19(水) 00:32:17.20ID:E+rnGfx8 >>194
そのconnection_infoは実行しなくても静的にエラーを弾けるの?静的検査できないなら同等じゃないよ
それと、あのJavaの評価器でOCamlと同じ生産性だと思えるなら話にならない。冗長で書きにくいし可読性も最悪じゃん
そのconnection_infoは実行しなくても静的にエラーを弾けるの?静的検査できないなら同等じゃないよ
それと、あのJavaの評価器でOCamlと同じ生産性だと思えるなら話にならない。冗長で書きにくいし可読性も最悪じゃん
196デフォルトの名無しさん
2016/10/19(水) 00:41:17.08ID:E+rnGfx8 つーか、ConnectionInfoのconnection_stateに何でも値入れ放題じゃん
ちゃんと問題理解してる?
ちゃんと問題理解してる?
197デフォルトの名無しさん
2016/10/19(水) 00:49:36.13ID:E+rnGfx8198158
2016/10/19(水) 01:34:04.06ID:SBws4+ZC >>195,196
おいおい代数的データ型君達よ、論点を都合良くずらすなよ
今ここで議論しているのは「代数的データ型が生産性に与える影響」だろ?
静的型付けの利点、そしてML/Haskellといったモダンな関数型言語が提供する
完全な型システムとそれがもたらす型推論による簡潔なコードという利点なんて、
とっくの昔から何度もこの板では議論されている訳で、何を今更の話をしてんのよ
結局、代数的データ型君達は、型システムの概念と代数的データ型の概念を
ごっちゃに理解して分かった気になっているだけだろ
だから代数的データ型の利点に関する根拠として、>>173のリンク先文書を示して
何の疑問も持たず平然としているんだよ
>>196
>つーか、ConnectionInfoのconnection_stateに何でも値入れ放題じゃん
動的型付け言語であっても実行時に型検査はできるよ
https://ideone.com/IUv2v2
そして繰り返すけど、型システムの概念と代数的データ型の概念はごっちゃにすべきではない
たとえば代数的データ型を備えた動的型付け言語や、型推論の無い静的型付け関数型言語を想像してごらん
そういった想定の元であっても明解さを失わない代数的データ型の利点とその根拠を示せと言ってる訳
つーかさ、いいかげん代数的データ型の定義とその利点/根拠を自分の言葉で語ってみろや
おいおい代数的データ型君達よ、論点を都合良くずらすなよ
今ここで議論しているのは「代数的データ型が生産性に与える影響」だろ?
静的型付けの利点、そしてML/Haskellといったモダンな関数型言語が提供する
完全な型システムとそれがもたらす型推論による簡潔なコードという利点なんて、
とっくの昔から何度もこの板では議論されている訳で、何を今更の話をしてんのよ
結局、代数的データ型君達は、型システムの概念と代数的データ型の概念を
ごっちゃに理解して分かった気になっているだけだろ
だから代数的データ型の利点に関する根拠として、>>173のリンク先文書を示して
何の疑問も持たず平然としているんだよ
>>196
>つーか、ConnectionInfoのconnection_stateに何でも値入れ放題じゃん
動的型付け言語であっても実行時に型検査はできるよ
https://ideone.com/IUv2v2
そして繰り返すけど、型システムの概念と代数的データ型の概念はごっちゃにすべきではない
たとえば代数的データ型を備えた動的型付け言語や、型推論の無い静的型付け関数型言語を想像してごらん
そういった想定の元であっても明解さを失わない代数的データ型の利点とその根拠を示せと言ってる訳
つーかさ、いいかげん代数的データ型の定義とその利点/根拠を自分の言葉で語ってみろや
199デフォルトの名無しさん
2016/10/19(水) 01:40:34.09ID:OjZ5I+UL え? 普段の仕事で代数的データ型(っぽいこと)を
使うようなことしてないの?俺はしてるぞ。
コードの半分ぐらいは代数的データ型があれば
簡単に実装できる。具体的に言うと
使うようなことしてないの?俺はしてるぞ。
コードの半分ぐらいは代数的データ型があれば
簡単に実装できる。具体的に言うと
200デフォルトの名無しさん
2016/10/19(水) 07:51:06.99ID:i9OiXSaV >>198
>しゃあねえからRubyで書いてあげた
> https://ideone.com/WpazqE
>当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ
>>173で自信満々にこう書いておいて、指摘されたら慌ててアサーション入れまくるのクソワロタw
>しゃあねえからRubyで書いてあげた
> https://ideone.com/WpazqE
>当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ
>>173で自信満々にこう書いておいて、指摘されたら慌ててアサーション入れまくるのクソワロタw
201デフォルトの名無しさん
2016/10/19(水) 07:52:41.50ID:i9OiXSaV202デフォルトの名無しさん
2016/10/19(水) 07:56:48.84ID:kMzukS4D >>198
> 多くの必要な不変条件を型の中に埋め込みました。いまや不変条件は型の一部なのです。コンパイラはこれらの不変条件を破るコードを見つけ、拒否することができます。これは手作業で行う仕事を減らし、手で管理するよりも信頼できます。
ごめん。引用しちゃったw
君の手作業でアサーション入れまくりのコード(いわゆるテストの一種)より静的型検査の方が手間が少なく間違いにくいのは自明ですよ
> 多くの必要な不変条件を型の中に埋め込みました。いまや不変条件は型の一部なのです。コンパイラはこれらの不変条件を破るコードを見つけ、拒否することができます。これは手作業で行う仕事を減らし、手で管理するよりも信頼できます。
ごめん。引用しちゃったw
君の手作業でアサーション入れまくりのコード(いわゆるテストの一種)より静的型検査の方が手間が少なく間違いにくいのは自明ですよ
203デフォルトの名無しさん
2016/10/19(水) 08:17:18.72ID:pQsxuliv どこかの理想の世界ではそうかもしれないけれど
現実アサーションと静的検査は双方補い合うもので、どちらかあれば足りるものじゃ無いでしょ
現実アサーションと静的検査は双方補い合うもので、どちらかあれば足りるものじゃ無いでしょ
204デフォルトの名無しさん
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!")
ConnectionInfo.class_eval do
def foobar(s)
@connection_state = s
end
end
c.foobar("Hello World!")
205デフォルトの名無しさん
2016/10/19(水) 08:34:11.07ID:kMzukS4D206デフォルトの名無しさん
2016/10/19(水) 09:19:42.80ID:Y8FYAwNZ なんでいまさらタイプセーフありがてぇ
静的型付けありがてぇの話になっちゃってるの?
静的型付けありがてぇの話になっちゃってるの?
207デフォルトの名無しさん
2016/10/19(水) 09:41:28.41ID:zLw8XMfd 論よりコードっていうけど、ほんとコードの提示って怖いね
HelloWorldくんの底が知れた 無様… 逃げたほうがマシだったんじゃ?
HelloWorldくんの底が知れた 無様… 逃げたほうがマシだったんじゃ?
208デフォルトの名無しさん
2016/10/19(水) 10:09:01.69ID:OiCCOICb altJSでは、大規模開発では静的な、Haxe(ヘックス)。
Scalaのようなパターンマッチありの、switch
Rubyの代わりは、関数型言語Elixir。
Ruby + Rails + ErlangVM で、並行処理が得意
Scalaのようなパターンマッチありの、switch
Rubyの代わりは、関数型言語Elixir。
Ruby + Rails + ErlangVM で、並行処理が得意
209デフォルトの名無しさん
2016/10/19(水) 15:06:28.19ID:pQsxuliv 静的は静的で、ライブラリをアップデートすると壊れる、
みたいなことが頻繁に起こるし、
安全な分と同じくらいそれを注意する気苦労がいる。
みたいなことが頻繁に起こるし、
安全な分と同じくらいそれを注意する気苦労がいる。
210デフォルトの名無しさん
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
代数的データ型&パターンマッチだったら、こんなコードはコンパイルエラーだ
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
211デフォルトの名無しさん
2016/10/19(水) 19:41:21.21ID:lOW+ixbD212デフォルトの名無しさん
2016/10/19(水) 21:35:33.44ID:/aiIuy0q そうだよね。作るものによってというのが重要。
代数データ型が適している分野で例えばライブラリを作って終わりみたいな
仕事だと、差が出るかもしれないけど、実際にやった仕事(勉強とかではなく)で
代数データ型があったらなぁって思ったことある?
仮に有ったとしても全体のごく一部だけだろうね。
だから言語の違い程度でそんなに差は出ないっていうのは間違っていない。
代数データ型が適している分野で例えばライブラリを作って終わりみたいな
仕事だと、差が出るかもしれないけど、実際にやった仕事(勉強とかではなく)で
代数データ型があったらなぁって思ったことある?
仮に有ったとしても全体のごく一部だけだろうね。
だから言語の違い程度でそんなに差は出ないっていうのは間違っていない。
213デフォルトの名無しさん
2016/10/19(水) 22:05:06.83ID:kMzukS4D >>212
お前が差が出ないのを示せたのはHelloWorldだけだろw
お前が差が出ないのを示せたのは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の代数的データ型君よ、これで代数的データ型の利点は理解できたかね?
あのぉ代数的データ型君よ、ナゼ>>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の代数的データ型君よ、これで代数的データ型の利点は理解できたかね?
215デフォルトの名無しさん
2016/10/19(水) 22:33:50.18ID:pM+OMbbr >>214
それは代数的データ型の利点じゃないな。
代数的データ型を使うという手段が目的となっていて
その手段を使おうとすると問題が発生する。
自ら苦行の道を進んで、苦しいのが解決したという
つまりマイナスがゼロになっただけなのに、
(マイナスの状態から)増えたという変化の一部しか見てない。
それは代数的データ型の利点じゃないな。
代数的データ型を使うという手段が目的となっていて
その手段を使おうとすると問題が発生する。
自ら苦行の道を進んで、苦しいのが解決したという
つまりマイナスがゼロになっただけなのに、
(マイナスの状態から)増えたという変化の一部しか見てない。
216158
2016/10/19(水) 22:43:15.12ID:SBws4+ZC217デフォルトの名無しさん
2016/10/19(水) 22:53:00.17ID:aQ7ihF1n そもそもこいつは、フレームワーク無しの素のRubyでHelloWorld書くのと、同じように素のPHPでHelloWorld書くのでPHPの方が楽だって認めてるんだろ
それこそ「言語による効率の違い」だろ
フレームワーク使えば同じになるって、そりゃ「言語の違いをフレームワークが吸収した」って言うんだよ
それこそ「言語による効率の違い」だろ
フレームワーク使えば同じになるって、そりゃ「言語の違いをフレームワークが吸収した」って言うんだよ
218デフォルトの名無しさん
2016/10/19(水) 23:11:26.37ID:pM+OMbbr >>217
吸収してしまって、その違いが些細なものとなってしまったわけですよね?
吸収してしまって、その違いが些細なものとなってしまったわけですよね?
219デフォルトの名無しさん
2016/10/19(水) 23:17:47.00ID:IHKURc/r >>188
そのアンカーは>186のが相応しそうだが
そのアンカーは>186のが相応しそうだが
220デフォルトの名無しさん
2016/10/19(水) 23:23:44.73ID:kMzukS4D221デフォルトの名無しさん
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であれば簡潔にコードとして表現できる
コードは代数的データ型の議論が終結したら示すよ
で、代数的データ型君は代数的データ型について理解できたのかな?
>>216でも書いたけど、ホントに代数的データ君は議論の焦点を
代数的データ型から静的/動的へすり替えようと必死だねえ
ねえ、どうしてそんなに必死なの?
>>210氏の指摘は代数的データ型に関するものではなくて、
型付けが静的/動的という違いに起因するもの
動的型付け言語であり、言い換えると型システムを持たないRubyでは、
パターンマッチの網羅性に相当する型エラーをコンパイル時には検出できない
繰り返すけど、こんな静的/動的の話はこのスレの住人であれば当たり前だよな?
ただし実行中であれば動的に型検査できる
特にRubyであれば簡潔にコードとして表現できる
コードは代数的データ型の議論が終結したら示すよ
で、代数的データ型君は代数的データ型について理解できたのかな?
223デフォルトの名無しさん
2016/10/20(木) 01:09:47.56ID:vzgaJJkb >特にRubyであれば簡潔にコードとして表現できる
簡潔に表現したコードなんて出てなくね?OCamlに比べたら冗長でしょ
簡潔に表現したコードなんて出てなくね?OCamlに比べたら冗長でしょ
224デフォルトの名無しさん
2016/10/20(木) 02:29:07.30ID:lUeWQjIy OCamlがスッキリ書けるのは
普通はあまりやらないような特殊な用途だけで
COBOLと同じようなDSLと思えばいい。
嘘だと思うのなら、今までの人生で勉強以外で
OCamlで書いたコードを言ってみたら良いよ。
言えないか、ある種の自慢話(俺こんな高度なことしたんだぜ(笑))のような
どこで使うのは全くわからない話をするしかないだろう。
普通はあまりやらないような特殊な用途だけで
COBOLと同じようなDSLと思えばいい。
嘘だと思うのなら、今までの人生で勉強以外で
OCamlで書いたコードを言ってみたら良いよ。
言えないか、ある種の自慢話(俺こんな高度なことしたんだぜ(笑))のような
どこで使うのは全くわからない話をするしかないだろう。
225デフォルトの名無しさん
2016/10/20(木) 03:21:02.12ID:vzgaJJkb 簡潔じゃないものを簡潔だと言ってるから違うと言っただけだけど?
まあ書いた本人も冗長と認めたっぽいから良いか
流石にアレを簡潔はないよな〜
まあ書いた本人も冗長と認めたっぽいから良いか
流石にアレを簡潔はないよな〜
226デフォルトの名無しさん
2016/10/20(木) 07:14:57.75ID:vW88Z4VH227デフォルトの名無しさん
2016/10/20(木) 09:18:03.49ID:lUeWQjIy >>226
例えが意味不明
例えが意味不明
228デフォルトの名無しさん
2016/10/20(木) 13:34:29.50ID:KC19vCT1229デフォルトの名無しさん
2016/10/20(木) 20:52:40.32ID:ZXfPioz4 >>228
俺は差が0とは言ってないよ。殆どないと言ってる。
殆ど無いという理由は、大きな全体があってその一部だけしか差がないから。
ベンチマークの話に例えよう。俺が使っているクラスライブラリがバージョンアップして
「○○クラスのオブジェクトのインスタンス生成が100倍速くなりました。」と書いてあったとしよう。
これで俺のアプリが100倍速くなる!・・・なんてことはいわない。
当たり前だよな。○○クラスのオブジェウトのインスタンスを何個生成するかによって変わるんだから。
一回のインスタンス生成にかかる時間が100マイクロ秒から1マイクロ秒に速くなった。
たしかに100倍だがそのオブジェクトを1000個しか作らないなら100ミリ秒が1ミリ秒になるだけ。
生産性もそれと同じ。特殊な用途であることは誰も否定しないだろう。
(先に俺が言った「嘘だと思うのなら、今までの人生で勉強以外でOCamlで
書いたコードを言ってみたら良いよ」に答えてないのがその証拠)
特殊な用途というのは使われる機会が少ない。プロジェクト全体のごくわずか。
だからそんなものは生産性に大きな差を与えるものにはならない。
「特殊な用途」がプロジェクトの殆どを占めることだってあるかもしれないだろ
みたいな話はいらんからね。そんな言い訳する代わりに「今までの人生で(略)」に
答えればいいだけなのに答えないって、こ・と・はぁ〜って思うだけだから。
俺は差が0とは言ってないよ。殆どないと言ってる。
殆ど無いという理由は、大きな全体があってその一部だけしか差がないから。
ベンチマークの話に例えよう。俺が使っているクラスライブラリがバージョンアップして
「○○クラスのオブジェクトのインスタンス生成が100倍速くなりました。」と書いてあったとしよう。
これで俺のアプリが100倍速くなる!・・・なんてことはいわない。
当たり前だよな。○○クラスのオブジェウトのインスタンスを何個生成するかによって変わるんだから。
一回のインスタンス生成にかかる時間が100マイクロ秒から1マイクロ秒に速くなった。
たしかに100倍だがそのオブジェクトを1000個しか作らないなら100ミリ秒が1ミリ秒になるだけ。
生産性もそれと同じ。特殊な用途であることは誰も否定しないだろう。
(先に俺が言った「嘘だと思うのなら、今までの人生で勉強以外でOCamlで
書いたコードを言ってみたら良いよ」に答えてないのがその証拠)
特殊な用途というのは使われる機会が少ない。プロジェクト全体のごくわずか。
だからそんなものは生産性に大きな差を与えるものにはならない。
「特殊な用途」がプロジェクトの殆どを占めることだってあるかもしれないだろ
みたいな話はいらんからね。そんな言い訳する代わりに「今までの人生で(略)」に
答えればいいだけなのに答えないって、こ・と・はぁ〜って思うだけだから。
230デフォルトの名無しさん
2016/10/20(木) 21:30:03.25ID:G0R2mg5X HelloWorldが仕事の大部分を占めればそうなるわな
231デフォルトの名無しさん
2016/10/20(木) 21:33:15.39ID:ZXfPioz4 普通の人に仕事の大半がそうだろうなw
「今までの人生で(略)」
「今までの人生で(略)」
232デフォルトの名無しさん
2016/10/20(木) 23:18:09.29ID:vW88Z4VH233デフォルトの名無しさん
2016/10/20(木) 23:58:59.82ID:RjGt0l94 前提も頭も狂ってるから結論もおかしくなってることに気づかないバカ
234デフォルトの名無しさん
2016/10/21(金) 00:01:07.08ID:wzbGy53g235デフォルトの名無しさん
2016/10/21(金) 10:41:13.06ID:kR8VeEnh >>229
コード書けないHelloWorld長文おじさん
コード書けないHelloWorld長文おじさん
236デフォルトの名無しさん
2016/10/21(金) 18:09:04.13ID:vB7jIyI4237デフォルトの名無しさん
2016/10/21(金) 22:13:42.38ID:wzbGy53g 下請けの反対は元諸けと思うが
元請けとか上流になるにつれて言語は使わなくなっていくはずだが?
UIとかウェブアプリのフロントエンドとか
エンドユーザーに近いものほど、汎用的なものを使って
一般的なやり方ができるので言語の違いの差は出てこなくなる。
言語の違いだけで、大きく開発工数が変わるとしたら
むしろ下請けというか特殊なライブラリだけを作っているようなところだよ。
大企業から頼まれてある機械の部品を専用に作る町工場みたいな。
ただ今時そんなことだけやってるような会社あるかな?
ハードと違って一回作れば終わりだもんね。仕事が見つからないだろう。
元請けとか上流になるにつれて言語は使わなくなっていくはずだが?
UIとかウェブアプリのフロントエンドとか
エンドユーザーに近いものほど、汎用的なものを使って
一般的なやり方ができるので言語の違いの差は出てこなくなる。
言語の違いだけで、大きく開発工数が変わるとしたら
むしろ下請けというか特殊なライブラリだけを作っているようなところだよ。
大企業から頼まれてある機械の部品を専用に作る町工場みたいな。
ただ今時そんなことだけやってるような会社あるかな?
ハードと違って一回作れば終わりだもんね。仕事が見つからないだろう。
238デフォルトの名無しさん
2016/10/21(金) 23:36:53.11ID:kR8VeEnh このドカタには内製って発想がないのかな?
>>27を読んでフツー多重下請けの話だと思うか?
>>27を読んでフツー多重下請けの話だと思うか?
239デフォルトの名無しさん
2016/10/21(金) 23:42:21.89ID:p3mW1/xP240デフォルトの名無しさん
2016/10/21(金) 23:45:48.48ID:p3mW1/xP あと、上流は1つだけの下請けに出すわけじゃないからね
複数の下請けに出すことの方が多いから、余計に「安い奴隷を集められる言語」に行く可能性は高い
どっかの下請けが夜逃げしたとしてもすぐに補充がきくようにね
複数の下請けに出すことの方が多いから、余計に「安い奴隷を集められる言語」に行く可能性は高い
どっかの下請けが夜逃げしたとしてもすぐに補充がきくようにね
241デフォルトの名無しさん
2016/10/21(金) 23:50:54.50ID:QizP+3wH かつての日本は研修以外ではコード書かなくてもSEとかなれましたから。
今はどうなのかな。
今はどうなのかな。
242デフォルトの名無しさん
2016/10/21(金) 23:52:16.03ID:p3mW1/xP243デフォルトの名無しさん
2016/10/22(土) 00:06:02.54ID:LnIwCgwC SEなんて属人化をひたすら廃することでリスクマネジメントができてるとか勘違いしてる連中だからな
だから安い奴隷を使えるようにする方向に動くんだよな
その方がリスクが少ないと思い込んでるから
本当はプログラミングなんて職人芸のカタマリで、上位の職人は奴隷の何百倍の開発効率を叩き出す
ことを知らないんだよな
そういう職人を数人高待遇で雇えば奴隷なんて要らないのに…
だから安い奴隷を使えるようにする方向に動くんだよな
その方がリスクが少ないと思い込んでるから
本当はプログラミングなんて職人芸のカタマリで、上位の職人は奴隷の何百倍の開発効率を叩き出す
ことを知らないんだよな
そういう職人を数人高待遇で雇えば奴隷なんて要らないのに…
244デフォルトの名無しさん
2016/10/22(土) 00:20:16.83ID:xefyYgJX コードを書かない人間をクビにする作業が忙しくてコードを書けないんだろ
武器を持った人間を捕まえる仕事のために武器を持つことが許されるみたいな感じ
武器を持った人間を捕まえる仕事のために武器を持つことが許されるみたいな感じ
245デフォルトの名無しさん
2016/10/22(土) 01:52:25.03ID:cVDLvhGg246デフォルトの名無しさん
2016/10/22(土) 01:54:01.83ID:LnIwCgwC247デフォルトの名無しさん
2016/10/22(土) 01:56:24.28ID:cVDLvhGg だからなんで俺にそれをレスするんだよ?
反論してないのに反論している風な空気出すなってw
反論してないのに反論している風な空気出すなってw
248デフォルトの名無しさん
2016/10/22(土) 01:58:10.15ID:LnIwCgwC249デフォルトの名無しさん
2016/10/22(土) 02:08:31.54ID:cVDLvhGg 下請けに決定権がないのが、言語の違いで開発効率に差があることの根拠?
何を言ってるのかさっぱりわからない。
何を言ってるのかさっぱりわからない。
250デフォルトの名無しさん
2016/10/22(土) 02:11:53.22ID:LnIwCgwC251デフォルトの名無しさん
2016/10/22(土) 02:17:59.04ID:cVDLvhGg 言語の違いで開発効率に大きな差がない上に、
その僅かの差は人を増やすことで解決できる問題でしかない。
それが俺の意見とだれかさんの意見をまとめた答えだよ。
その僅かの差は人を増やすことで解決できる問題でしかない。
それが俺の意見とだれかさんの意見をまとめた答えだよ。
252デフォルトの名無しさん
2016/10/22(土) 02:20:08.08ID:LnIwCgwC253デフォルトの名無しさん
2016/10/22(土) 02:27:45.65ID:cVDLvhGg >>252
知らんがな。言語による開発効率の差はごく僅かって言う話と関係ないし。
日本が嫌なら海外にでも行けば?
海外ならば、ぜんぜん違う言語を使ってるはずだって
夢見るのも悪くないと思うよw
あ、ぜんぜん違う言語=英語とかそういうのはいらないからw
知らんがな。言語による開発効率の差はごく僅かって言う話と関係ないし。
日本が嫌なら海外にでも行けば?
海外ならば、ぜんぜん違う言語を使ってるはずだって
夢見るのも悪くないと思うよw
あ、ぜんぜん違う言語=英語とかそういうのはいらないからw
254デフォルトの名無しさん
2016/10/22(土) 02:29:04.98ID:LnIwCgwC255デフォルトの名無しさん
2016/10/22(土) 02:29:16.74ID:cVDLvhGg プログラミングは属人性が恐ろしく高い
その属人性(その言語に詳しいかどうか)でも
言語の違いによるわずかな差は簡単に埋められてしまうね。
その属人性(その言語に詳しいかどうか)でも
言語の違いによるわずかな差は簡単に埋められてしまうね。
256デフォルトの名無しさん
2016/10/22(土) 02:29:59.60ID:cVDLvhGg257デフォルトの名無しさん
2016/10/22(土) 02:31:40.83ID:LnIwCgwC258デフォルトの名無しさん
2016/10/22(土) 02:32:21.46ID:cVDLvhGg > 属人性が高いということは言語による差が大きいということだよ
意味不明。
意味不明。
259デフォルトの名無しさん
2016/10/22(土) 02:32:30.50ID:LnIwCgwC260デフォルトの名無しさん
2016/10/22(土) 02:33:14.17ID:LnIwCgwC >>258
奴隷ばっか集まる言語なんて意味ないだろ?
奴隷ばっか集まる言語なんて意味ないだろ?
261デフォルトの名無しさん
2016/10/22(土) 02:35:38.46ID:cVDLvhGg 属人性の意味間違ってるなーw
説明するのがめんどくせーから探してきた
http://d.hatena.ne.jp/Nagise/20090302/1235997646
>
> ソフトウェア開発の属人性の誤解
>
> 属人性の排除が狙うところってのは「その人しかやり方を知らないよ、秘密だよ」って
> 作業をなくす話で、技能的にその人しかできる人がいないって話題じゃないんだ。
> ソフトウェア開発の属人性を語るときにここを勘違いしていると議論にならない。
説明するのがめんどくせーから探してきた
http://d.hatena.ne.jp/Nagise/20090302/1235997646
>
> ソフトウェア開発の属人性の誤解
>
> 属人性の排除が狙うところってのは「その人しかやり方を知らないよ、秘密だよ」って
> 作業をなくす話で、技能的にその人しかできる人がいないって話題じゃないんだ。
> ソフトウェア開発の属人性を語るときにここを勘違いしていると議論にならない。
262デフォルトの名無しさん
2016/10/22(土) 02:36:59.45ID:cVDLvhGg263デフォルトの名無しさん
2016/10/22(土) 02:39:15.13ID:LnIwCgwC >>261
合ってるよそれで
日本人SEはその「その人しかできない」を拡大解釈して「奴隷でもできなきゃいけない」という脅迫概念にかられてるんだよね
奴隷の開発効率なんて職人の百分の一以下しかないのにね
合ってるよそれで
日本人SEはその「その人しかできない」を拡大解釈して「奴隷でもできなきゃいけない」という脅迫概念にかられてるんだよね
奴隷の開発効率なんて職人の百分の一以下しかないのにね
264デフォルトの名無しさん
2016/10/22(土) 02:40:01.83ID:cVDLvhGg265デフォルトの名無しさん
2016/10/22(土) 02:42:10.02ID:LnIwCgwC266デフォルトの名無しさん
2016/10/22(土) 02:42:31.46ID:cVDLvhGg 言語の違いによる開発効率の差は殆ど無いから当たり前の話であるんだが、
マイナーな言語を使うよりも、メジャーな言語を使うほうが
人を多く集められるので、(ほんの少ししかない)開発効率は
簡単に逆転するという話でした。
マイナーな言語を使うよりも、メジャーな言語を使うほうが
人を多く集められるので、(ほんの少ししかない)開発効率は
簡単に逆転するという話でした。
267デフォルトの名無しさん
2016/10/22(土) 02:43:15.88ID:cVDLvhGg268デフォルトの名無しさん
2016/10/22(土) 02:44:39.60ID:LnIwCgwC269デフォルトの名無しさん
2016/10/22(土) 09:20:53.73ID:O/1X83Cc 向こうは一山いくらの開発はどんどんオフショアに投げるし、
ジャッパゴスのようにパッケージを無駄にカスタマイズしたりしないの
残念ながら技術的な問題じゃないんだ
ジャッパゴスのようにパッケージを無駄にカスタマイズしたりしないの
残念ながら技術的な問題じゃないんだ
270デフォルトの名無しさん
2016/10/22(土) 11:17:42.02ID:8sfmeCeb カスタマイズは良いけど成果物を公開しないよ、秘密だよってのがガラパゴスなんだろ
271デフォルトの名無しさん
2016/10/22(土) 11:21:53.28ID:O/1X83Cc じゃ海外でSIの成果物をgithubで公開してる例を教えてくれよw
272デフォルトの名無しさん
2016/10/22(土) 11:23:02.67ID:MU45rE6v なんでそこSI限定なの?
273デフォルトの名無しさん
2016/10/22(土) 11:45:31.20ID:O/1X83Cc この文脈でSI限定じゃない方が不自然だと思うが?
自社のパッケージやサービスの開発なら日本でもわりと職人的な技術が重視されるから
ID:LnIwCgwC の抱いているような不満には至らんよ
自社のパッケージやサービスの開発なら日本でもわりと職人的な技術が重視されるから
ID:LnIwCgwC の抱いているような不満には至らんよ
274デフォルトの名無しさん
2016/10/22(土) 11:56:23.19ID:aqioS2aS お前らはどうせどの言語もまともに使えないんだからどの言語でも大差ないよ
275デフォルトの名無しさん
2016/10/22(土) 12:04:05.39ID:cVDLvhGg >>268
落ちているやつじゃなくて、何を使ってるかを言えよw
落ちているやつじゃなくて、何を使ってるかを言えよw
276デフォルトの名無しさん
2016/10/22(土) 12:06:50.81ID:8sfmeCeb 秘密が属人的なものであれば公開するという意思決定も簡単にできる
一方、組織的な秘密を公開するには例えば全会一致のような高いハードルがある
一方、組織的な秘密を公開するには例えば全会一致のような高いハードルがある
277デフォルトの名無しさん
2016/10/22(土) 12:13:26.29ID:cVDLvhGg 公開してないから、属人的っていうんやで?
278デフォルトの名無しさん
2016/10/22(土) 12:31:49.49ID:MCKaXjxk ところで効率や仕事での仕方なし抜きにしたら、おまいらの好きな言語って何?
279デフォルトの名無しさん
2016/10/22(土) 13:37:30.09ID:cVDLvhGg ついでに好きな理由も書いてね
280デフォルトの名無しさん
2016/10/22(土) 15:19:03.68ID:FwMGd9Sr >>278
お気に入りは文句なしでSmalltalk
理由は頭一つ抜きん出た生産性の高さw
http://cast-a-spell.at.webry.info/201001/article_7.html
お気に入りは文句なしでSmalltalk
理由は頭一つ抜きん出た生産性の高さw
http://cast-a-spell.at.webry.info/201001/article_7.html
281デフォルトの名無しさん
2016/10/22(土) 15:24:05.21ID:cVDLvhGg うーん。生産性と行数がイコールだと思ってる人がいるようだね。
同じ言語であれば、生産性と行数はイコールかもしれないけど、
言語が違うと生産性と行数は一致しない。
例えばPythonだと、他の言語だと一行で書けるものを
改行強制で二行にされちゃうけど、そこに二倍の
生産性があることにはならない。
定義とかimport文とかを除いた実質的な実行行数(ステップ数とも言う)で考えないと。
同じ言語であれば、生産性と行数はイコールかもしれないけど、
言語が違うと生産性と行数は一致しない。
例えばPythonだと、他の言語だと一行で書けるものを
改行強制で二行にされちゃうけど、そこに二倍の
生産性があることにはならない。
定義とかimport文とかを除いた実質的な実行行数(ステップ数とも言う)で考えないと。
282デフォルトの名無しさん
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文字タイプする程度の速度の違いしかない。
これが行数で生産性を語る場合の罠ね。
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関係じゃない部分だからそうなんだと思う。
昔はc++大嫌いだったんだけど、java使うようになって、でも結局メモリリーク問題は付きまとって、更に既存のcライブラリ使わざるを得なくてjniに嫌気がさして、、、
それならレガシーライブラリそのまま使えるc++のがいいんじゃ と感じるようになった。
ただまぁそれはweb関係じゃない部分だからそうなんだと思う。
284デフォルトの名無しさん
2016/10/22(土) 16:00:12.31ID:MCKaXjxk smalltalkとかlispは動いてるシステムをそのまま修正できる的なところが凄いと思う。
http://qiita.com/guicho271828/items/1b78d8a7335e81e11791
http://qiita.com/guicho271828/items/1b78d8a7335e81e11791
285デフォルトの名無しさん
2016/10/22(土) 16:19:08.42ID:cVDLvhGg >>284
最終手段としてないよりはあるほうがいいし、技術的にはすごいけど実用的には?だけどね。
考えてみりゃわかるけど、動いているシステムをその場で書き換えられたら困ることのほうが多い。
例えば書き換えるべき対象が一つだけならいいけど、今は何十台といったサーバーでアプリが動いてる。
そのそれぞれにログインしてシステム書き換えますか?って話。
作業をミスすることなく一発で完了できるならまだしも、通常は手元で修正してテストをしてバグを潰す。
書き換えてる途中でその機能を使われたら問題になるので、ブロックする機能も必要。
マーケティングの点からも直ぐに修正反映ではなくて、事前に告知したい。
でなんとなく気づいてかもしれないけど、動いてるシステムをそのまま修正ってのは実際に
ウェブアプリで行われてるんだよ。ただしSmalltalkは言語のレイヤーでこれらのことをやってるが
その他の言語は別のレイヤーで行ってる。
それもそのはずで、SmalltalkはOSの機能そのものまで言語の中に取り込んでるものだから。
だから「動いてるシステムをそのまま修正」っていうのは実はOSを起動したまま
アプリを再起動させるだけで修正できるのと同じことを指してる。
単に言語だけで完結できますよーってだけで、他の言語もOSと連携させて動いてるシステムを
そのまま修正することは可能。
最終手段としてないよりはあるほうがいいし、技術的にはすごいけど実用的には?だけどね。
考えてみりゃわかるけど、動いているシステムをその場で書き換えられたら困ることのほうが多い。
例えば書き換えるべき対象が一つだけならいいけど、今は何十台といったサーバーでアプリが動いてる。
そのそれぞれにログインしてシステム書き換えますか?って話。
作業をミスすることなく一発で完了できるならまだしも、通常は手元で修正してテストをしてバグを潰す。
書き換えてる途中でその機能を使われたら問題になるので、ブロックする機能も必要。
マーケティングの点からも直ぐに修正反映ではなくて、事前に告知したい。
でなんとなく気づいてかもしれないけど、動いてるシステムをそのまま修正ってのは実際に
ウェブアプリで行われてるんだよ。ただしSmalltalkは言語のレイヤーでこれらのことをやってるが
その他の言語は別のレイヤーで行ってる。
それもそのはずで、SmalltalkはOSの機能そのものまで言語の中に取り込んでるものだから。
だから「動いてるシステムをそのまま修正」っていうのは実はOSを起動したまま
アプリを再起動させるだけで修正できるのと同じことを指してる。
単に言語だけで完結できますよーってだけで、他の言語もOSと連携させて動いてるシステムを
そのまま修正することは可能。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】10月の消費者物価3.0%上昇 [蚤の市★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★6 [BFU★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- 【コメ】価格「5キロ4316円」で最高値を更新…「おこめ券」が解決につながらない根本的な理由 コメ農家が危機感をあらわにする「離農」 [ぐれ★]
- 【北海道】帯広vs釧路 不良グループが30人規模の大乱闘 廃墟での肝試しで鉢合わせトラブルに…自称解体工の男ら逮捕 [ぐれ★]
- 中国父「高市、今回はこの辺にしといたるわ!」 世界の供給源としての信頼維持のためレアアース制裁見送りの公算 [271912485]
- 高市早苗、会食せず議員宿舎に籠って勉強の毎日「飲んでる暇があれば、政策を練り、資料を読みたい」 [485187932]
- アメリカ、高市友事発言後に日本に配備していた中距離ミサイルシステムをひっそりと撤収。 [624898991]
- 東大名誉教授「中国は誤った宣伝を繰り広げ、対立を煽り、経済の失敗による国内の不満を日本に向けている」 [903292576]
- 🏡
- 【悲報】Suica、セキュリティを突破されたのが販売されはじめる [347751896]
