スレタイ以外の言語もok
前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1508403098/
次世代言語Part8[Haskell Rust Kotlin TypeScript]
■ このスレッドは過去ログ倉庫に格納されています
2017/12/01(金) 23:08:21.45ID:FxdZTiuZ
2017/12/03(日) 16:32:50.74ID:Cfl2NYpj
>>78
そう。つまりこういうことだ。
ユーザーからのコミットを受け入れるというポジティブな理由でオープンソースを採用するならGPLは不適切。
オラクルのように、有償契約への誘導を前提としてオープンソース版を撒き餌にするなら、
成果物の盗用を防ぐ意味でGPLが適切。
本来OSS信者が批判すべきなのはどちらだろう?
一度落ち着いて考えてみよう。
そう。つまりこういうことだ。
ユーザーからのコミットを受け入れるというポジティブな理由でオープンソースを採用するならGPLは不適切。
オラクルのように、有償契約への誘導を前提としてオープンソース版を撒き餌にするなら、
成果物の盗用を防ぐ意味でGPLが適切。
本来OSS信者が批判すべきなのはどちらだろう?
一度落ち着いて考えてみよう。
2017/12/03(日) 16:46:21.13ID:Es8BrMdC
だから「自由ソフトウェア」と「オープンソースソフトウェア」は違う概念って話だよな
そもそも企業が主導してる開発は、企業の恣意が入るわけで、自由ではない
今は乞食に恵むことが点数になるからそうしてるだけ
乞食に甘んじるならそれでいいかもしれんがな
一念発起して自分の畑を開墾することになったときに、GPLがないと企業に土地を盗まれたり、いつのまにか乞食に占拠されたりするんだよ
だからGPLの言語は重要なんだよ
そもそも企業が主導してる開発は、企業の恣意が入るわけで、自由ではない
今は乞食に恵むことが点数になるからそうしてるだけ
乞食に甘んじるならそれでいいかもしれんがな
一念発起して自分の畑を開墾することになったときに、GPLがないと企業に土地を盗まれたり、いつのまにか乞食に占拠されたりするんだよ
だからGPLの言語は重要なんだよ
2017/12/03(日) 16:47:34.26ID:Cfl2NYpj
もっというと、
・プロジェクトにコミットした個人乞食にとって、そのプロジェクトの最新の成果物を継続的に利用できる利益を守るのがGPL
・開発元の企業にとっての利益を守るのが「寛容なライセンス」
ということだ。そして、下記の理由から、後者を優先したほうがOSS全体にとっての利益が大きい。
・一般に、個人より企業の方がOSS遥かに多くの貢献をしているから、企業の参入を促したほうがOSSは拡充する
・当たり前だが、利用者にとっては寛容なライセンスの方が利用しやすい
・プロジェクトにコミットした個人乞食にとって、そのプロジェクトの最新の成果物を継続的に利用できる利益を守るのがGPL
・開発元の企業にとっての利益を守るのが「寛容なライセンス」
ということだ。そして、下記の理由から、後者を優先したほうがOSS全体にとっての利益が大きい。
・一般に、個人より企業の方がOSS遥かに多くの貢献をしているから、企業の参入を促したほうがOSSは拡充する
・当たり前だが、利用者にとっては寛容なライセンスの方が利用しやすい
2017/12/03(日) 16:50:27.91ID:MdLc4Lg3
83デフォルトの名無しさん
2017/12/03(日) 16:52:07.39ID:dv78RNI3 個人で出来る開発なんて限られてるから企業が参入してくれたほうがいいし、企業は慈善団体じゃないんだから利益考えるのは当然だろ
企業がーステマがーって気持ち悪すぎる
企業がーステマがーって気持ち悪すぎる
84デフォルトの名無しさん
2017/12/03(日) 16:54:31.97ID:dv78RNI3 これだからワッチョイつけろと言ったのに
2017/12/03(日) 16:58:46.31ID:FoZg6mpZ
この板ってワッチョイあるの?
2017/12/03(日) 17:00:11.80ID:Q+UzJ2jP
わざわざ次世代言語スレに来て、
「俺ルールにより、全ての言語は次世代ではない!!」
ってマ?
「俺ルールにより、全ての言語は次世代ではない!!」
ってマ?
2017/12/03(日) 18:06:19.80ID:vwbP6I+a
GPLは自分が作ったものだけじゃなく使ったものにも影響を及ぼすからなあ
LGPLが一番マトモなんじゃないかと思ってるんだが
LGPLが一番マトモなんじゃないかと思ってるんだが
2017/12/03(日) 18:39:22.73ID:sBoz0VTg
2017/12/03(日) 18:44:51.43ID:n/4R2J1f
望まれてないから拡大しないんだ、ってのが分からないところが儲
2017/12/03(日) 18:51:18.78ID:9khz2s/N
>>86
いつもの事だよ
いつもの事だよ
2017/12/03(日) 19:06:01.80ID:Hpu25AWg
>>86
次世代ガイジ
次世代ガイジ
2017/12/03(日) 19:07:55.59ID:fDoYnNZt
2017/12/03(日) 20:15:24.10ID:GYPu5Uwk
サポートを永久に続けさせたいとは思ってないんじゃないかな
ただ、無料版だけサポート停止して有料版に移行させる手口を防ぐだけでいい
ただ、無料版だけサポート停止して有料版に移行させる手口を防ぐだけでいい
2017/12/03(日) 20:40:28.46ID:T5z0rd35
このガイジの言葉を全否定するが、別に言語の処理系のライセンスがGPLだろうと非GPLだろうと
その言語で書かれたプログラムのライセンスには何も影響しない
Javaの処理系がクローズドソースだった時にJavaコードがオープンソースにできなかったかってことを考えればすぐ分かる
言語の仕様がオープンなら、もしこのガイジの懸念どおり処理系をオープン→クローズドソースにされたところで
本当にその言語が有用だったらクローンの処理系が出てくるだけのこと。open-jdkやらmonoが良い例だ
要するにこのガイジ、ライセンスのことを何も分かってない知ったか
その言語で書かれたプログラムのライセンスには何も影響しない
Javaの処理系がクローズドソースだった時にJavaコードがオープンソースにできなかったかってことを考えればすぐ分かる
言語の仕様がオープンなら、もしこのガイジの懸念どおり処理系をオープン→クローズドソースにされたところで
本当にその言語が有用だったらクローンの処理系が出てくるだけのこと。open-jdkやらmonoが良い例だ
要するにこのガイジ、ライセンスのことを何も分かってない知ったか
2017/12/03(日) 20:46:25.36ID:T5z0rd35
ガイジを殴るだけのレスだと何なので
Haxeみたいな「書いた端からあらゆる言語にトランスパイルして使う言語」ってやっぱりコンセプトとして駄目なのかね?
最近のいわゆる次世代言語って、おおむねネイティブ(もしくはJavaマシンコード)にコンパイルする系ばっかのはず
例外はTypescriptとHackくらいか?
Haxeみたいな「書いた端からあらゆる言語にトランスパイルして使う言語」ってやっぱりコンセプトとして駄目なのかね?
最近のいわゆる次世代言語って、おおむねネイティブ(もしくはJavaマシンコード)にコンパイルする系ばっかのはず
例外はTypescriptとHackくらいか?
2017/12/03(日) 20:55:26.88ID:GYPu5Uwk
93,94をまとめると
GPLなコードを再利用しつつ有料版に移行させるのは無理
コードを捨ててクローンするならOK
GPLなコードを再利用しつつ有料版に移行させるのは無理
コードを捨ててクローンするならOK
2017/12/03(日) 21:05:47.23ID:RLNGue2S
>>94
Javaに関しては、openjdkを勝手にフォークして改変したものを出回らせたら特許侵害でオラクルに訴えられるよ
特許の利用はあくまで公式にリリースされたopenjdkに対して認められてるもので、
弄ったらJavaとは認められなくなり即訴訟
Javaに関しては、openjdkを勝手にフォークして改変したものを出回らせたら特許侵害でオラクルに訴えられるよ
特許の利用はあくまで公式にリリースされたopenjdkに対して認められてるもので、
弄ったらJavaとは認められなくなり即訴訟
2017/12/03(日) 21:19:08.36ID:T5z0rd35
>>97
すまん、open-jdkっていうのは不正確だったな。IcedTeaって言った方が正確だった
まあ厳密にはIcedTeaも当時のSunの協力あってのことで、勝手フォークでやった訳ではなかったんだが……
すまん、open-jdkっていうのは不正確だったな。IcedTeaって言った方が正確だった
まあ厳密にはIcedTeaも当時のSunの協力あってのことで、勝手フォークでやった訳ではなかったんだが……
2017/12/03(日) 21:19:33.27ID:7jfP6ZRC
>>95
中間言語のせいで遅くなってる直接アセンブリ(機械語より広い意味で)にできるなら効率的なのにグギギギギ
というのを気にしなければトランスパイラでもいいんじゃね
Typescript→Javascriptぐらいなら気にならんだろ
Scalaとか思いっきりJVMに足を引っ張られてた例と思う
ちょっと話は違うけど可変長配列を値返しできる言語を主にC系のことしか考えてないバックエンドで実装すると
mallocして返すかForthみたいにデータスタックをもう一つ用意するかぐらいしか方法がない、みたいな
中間言語のせいで遅くなってる直接アセンブリ(機械語より広い意味で)にできるなら効率的なのにグギギギギ
というのを気にしなければトランスパイラでもいいんじゃね
Typescript→Javascriptぐらいなら気にならんだろ
Scalaとか思いっきりJVMに足を引っ張られてた例と思う
ちょっと話は違うけど可変長配列を値返しできる言語を主にC系のことしか考えてないバックエンドで実装すると
mallocして返すかForthみたいにデータスタックをもう一つ用意するかぐらいしか方法がない、みたいな
100デフォルトの名無しさん
2017/12/03(日) 21:29:59.69ID:7jfP6ZRC 書いてからもっといい例を思いついた
トランスパイル先に選ばれそうな言語(CとかJVMとかJavascriptとか)って
どれも末尾呼び出し最適化が保証されてないから関数型言語なら避けたいはず
トランスパイル先に選ばれそうな言語(CとかJVMとかJavascriptとか)って
どれも末尾呼び出し最適化が保証されてないから関数型言語なら避けたいはず
101デフォルトの名無しさん
2017/12/03(日) 21:51:34.72ID:XVQ9VXzY 末尾再起最適化なんかトランスパイルの段階でできるだろ
自分でやってみりゃわかるけど、別の言語への変換って細かい仕様のすり合わせが難しくて
どう頑張っても変換結果は綺麗なコードにはならんよ
自分でやってみりゃわかるけど、別の言語への変換って細かい仕様のすり合わせが難しくて
どう頑張っても変換結果は綺麗なコードにはならんよ
102デフォルトの名無しさん
2017/12/03(日) 22:16:35.41ID:7jfP6ZRC103デフォルトの名無しさん
2017/12/03(日) 22:18:35.13ID:2u990JKW 臭い消しもできないのかID:7jfP6ZRCは
104デフォルトの名無しさん
2017/12/03(日) 22:31:58.75ID:7jfP6ZRC なんだ?誰と間違えられてるんだ?
105デフォルトの名無しさん
2017/12/03(日) 23:20:51.54ID:8Yd/vHN3 トランスパイルする時点で全部gotoにしちゃえばいいんじゃねえの?
ヒープは馬鹿でかい配列切り出して貸してやりゃ良いじゃん。
一番現実的だと思うけど。
と言うか間違えられてかわいそうだな。
ヒープは馬鹿でかい配列切り出して貸してやりゃ良いじゃん。
一番現実的だと思うけど。
と言うか間違えられてかわいそうだな。
106デフォルトの名無しさん
2017/12/03(日) 23:24:33.80ID:8Yd/vHN3 トランスパイラだから、トランスパイル先の言語の作法を守らにゃならん、なんてトランスパイラは
どっちつかずのゲテモノになるなんてのが歴史的にある程度わかってきたんだから、諦めて超高級マクロアセンブラとして使うべきだと思うが、
やっぱそのトランスパイル先の美しさって必要なのかねぇ。
どっちつかずのゲテモノになるなんてのが歴史的にある程度わかってきたんだから、諦めて超高級マクロアセンブラとして使うべきだと思うが、
やっぱそのトランスパイル先の美しさって必要なのかねぇ。
107デフォルトの名無しさん
2017/12/03(日) 23:25:29.18ID:Q+UzJ2jP くっさ
108デフォルトの名無しさん
2017/12/03(日) 23:27:40.12ID:8Yd/vHN3 >>90
は臭くなかったのに面白いな。
は臭くなかったのに面白いな。
109デフォルトの名無しさん
2017/12/03(日) 23:52:53.39ID:7jfP6ZRC >>105
ありがとうありがとう
で、goto式だと呼び出し先も含めてひとつの関数にまとめないといけないので
他の関数をtail callしているのがつながって爆発的にコードサイズが膨れ上がる
JVMだと64kbの壁があるとかないとか ttps://togetter.com/li/280057
またモジュールを超えるとアクセス制御にかかったりもする
ありがとうありがとう
で、goto式だと呼び出し先も含めてひとつの関数にまとめないといけないので
他の関数をtail callしているのがつながって爆発的にコードサイズが膨れ上がる
JVMだと64kbの壁があるとかないとか ttps://togetter.com/li/280057
またモジュールを超えるとアクセス制御にかかったりもする
110デフォルトの名無しさん
2017/12/03(日) 23:52:56.38ID:H7G92E6b >>100
javascripというかecmascriptは末尾再帰の最適化は仕様になってる。
javascripというかecmascriptは末尾再帰の最適化は仕様になってる。
111デフォルトの名無しさん
2017/12/04(月) 00:00:49.77ID:bhxDUAa4 >>110
うお本当だ、俺の情報が古かった
うお本当だ、俺の情報が古かった
112デフォルトの名無しさん
2017/12/04(月) 04:42:05.46ID:76LtUM8J Cにはlongjumpがある。
これを使えば親の関数へどこへでも飛んでいける。
末尾再帰もオプションで設定できる。
これを使えば親の関数へどこへでも飛んでいける。
末尾再帰もオプションで設定できる。
113デフォルトの名無しさん
2017/12/04(月) 08:25:09.89ID:USho8dw3114デフォルトの名無しさん
2017/12/04(月) 08:30:55.17ID:8gND/ZcP くっさNG回避すんな
115デフォルトの名無しさん
2017/12/04(月) 09:02:24.71ID:dvJUWhXs jsへのトランスパイラは現状、
jsが、webにおける機械語的な立ち位置
だからというのはわかる。
でもcへのトランスパイラってどんな意味があんの?手抜きとしか思えない。
jsが、webにおける機械語的な立ち位置
だからというのはわかる。
でもcへのトランスパイラってどんな意味があんの?手抜きとしか思えない。
116デフォルトの名無しさん
2017/12/04(月) 09:38:18.50ID:76LtUM8J 手抜き出来ることはメリットだろ。
実装と仕様は分けて考えるべきだからな。
実装と仕様は分けて考えるべきだからな。
117デフォルトの名無しさん
2017/12/04(月) 10:10:11.02ID:1pGzw3aP 手抜きっつーか、Cに変換しておけば、おおむねどんなlibcでも石でも対応するコンパイラがあるってことでは
GoみたくあらゆるものをGo内で完結させるための車輪の再発明だとか
Rustみたく欲しい環境のtripleがあるかとかtierがいくつだとか
そういう言語機能と直接的には関係ない部分のサポートに関する労力をまるっと切れるのがでかい
一時期のaltJavaやaltJSの乱立を見てると、その分言語の質が上がるかって言われたら怪しいけどな
あとllvmの台頭で、ある程度その辺を再利用できる環境が整ったから、直接機械語吐いた方がよくなりつつあるのもあるか
GoみたくあらゆるものをGo内で完結させるための車輪の再発明だとか
Rustみたく欲しい環境のtripleがあるかとかtierがいくつだとか
そういう言語機能と直接的には関係ない部分のサポートに関する労力をまるっと切れるのがでかい
一時期のaltJavaやaltJSの乱立を見てると、その分言語の質が上がるかって言われたら怪しいけどな
あとllvmの台頭で、ある程度その辺を再利用できる環境が整ったから、直接機械語吐いた方がよくなりつつあるのもあるか
118デフォルトの名無しさん
2017/12/04(月) 10:54:56.82ID:dvJUWhXs >>117
自分で言ってんじゃん。
llvmだったら中間コードまでのトランスパイラ作れば最適化とバイナリはくまでやってくれるしそこまでやりゃ良いのに。
あとgoの車輪の再発明はありだと思う。
画像変換したくてimagemagicのlibに依存する羽目になるとか勘弁。
自分で言ってんじゃん。
llvmだったら中間コードまでのトランスパイラ作れば最適化とバイナリはくまでやってくれるしそこまでやりゃ良いのに。
あとgoの車輪の再発明はありだと思う。
画像変換したくてimagemagicのlibに依存する羽目になるとか勘弁。
119デフォルトの名無しさん
2017/12/04(月) 11:02:06.37ID:HnGSLV9z 車輪の再開発はありとか自分が作る立場でも同じこと言えんの
120デフォルトの名無しさん
2017/12/04(月) 11:02:26.62ID:USho8dw3 >>115
最適化とかそういう所にそれほど苦労しなくなるかな
手抜きといえば手抜きなんだけど
gccをバックエンドにするなら変な石対応が簡単だし
vc++でも食えるように書けばWindowsでも余計なもの要らないし
intelのコンパイラでゴリゴリに最適化かけたりとか、
静的ビルドでワンバイナリ作りたいからCの方のコンパイルオプションでリンクしよう、とか
既存の処理系に乗っかるのはメリット多いと思う
最適化とかそういう所にそれほど苦労しなくなるかな
手抜きといえば手抜きなんだけど
gccをバックエンドにするなら変な石対応が簡単だし
vc++でも食えるように書けばWindowsでも余計なもの要らないし
intelのコンパイラでゴリゴリに最適化かけたりとか、
静的ビルドでワンバイナリ作りたいからCの方のコンパイルオプションでリンクしよう、とか
既存の処理系に乗っかるのはメリット多いと思う
121デフォルトの名無しさん
2017/12/04(月) 11:39:21.16ID:1pGzw3aP >>118
llvmが台頭してきたから相対的にCトランスパイルの魅力なくなってきたよなって話で、
昔はCトランスパイラで既存のコンパイル環境に乗っかるのがよく行われてたって歴史的な話な
gccが中間言語仕様を意図的に隠してた弊害とも言える
llvmが台頭してきたから相対的にCトランスパイルの魅力なくなってきたよなって話で、
昔はCトランスパイラで既存のコンパイル環境に乗っかるのがよく行われてたって歴史的な話な
gccが中間言語仕様を意図的に隠してた弊害とも言える
122デフォルトの名無しさん
2017/12/04(月) 13:22:03.65ID:s0HrNGdY 手抜きを批判する奴おるw
123デフォルトの名無しさん
2017/12/04(月) 23:23:47.01ID:IjdODrQV 実質的にはトランスパイルだろうが何だろうが、とりあえずは関係ないが
今時ライブラリ構築を0からするというのは自分一人が使う自分専用言語だと考えても
汎用言語としてはあり得なくて、何か既存の言語のソレにフリーライドせざるを得ないわけで
となれば何に乗っかるかという部分から考えるし
それが決まってから具体的な実装方を考えるし、なんだったら自動的に決まってくるわけで
余談だが、良くある乗っかり先としては、CとJavaと.NetとJSがあるが・・・
ただ、例えばネイディブコードが良いと考えてC言語系のライブラリに乗っかるとして
C言語のABIはかなり古臭いわけで、あと、ヘッダファイルの存在がかなりエグイわけで
(windows.hをそのまま読み込める自作コンパイラとか書ける気がしない)
その言語で何かCのライブラリを使いたいときCヘッダファイルを適切に移植したのち
使いやすくするためにラッパークラスまで書くとしたら
これはもう多少気に入らない部分があってもC++を使ったほうが楽だし
ヘッダを移植するツールで自動生成する方針でも古臭いCのAPIを直接叩くのなら
何のための新言語か分からないし、だからといってラッパー書くのはバカらしいし
大概のCライブラリにはC++のヘッダも付いてることを考えるとそのままC++使ったbルうがマシ
もしC言語のヘッダを直接読めるように言語を設計するとなるとマクロなども考えると
C言語と文法的に互換性が有るように言語を作らなければならないということで
これまたあまり作る意味が無い、というか多分C++
今時ライブラリ構築を0からするというのは自分一人が使う自分専用言語だと考えても
汎用言語としてはあり得なくて、何か既存の言語のソレにフリーライドせざるを得ないわけで
となれば何に乗っかるかという部分から考えるし
それが決まってから具体的な実装方を考えるし、なんだったら自動的に決まってくるわけで
余談だが、良くある乗っかり先としては、CとJavaと.NetとJSがあるが・・・
ただ、例えばネイディブコードが良いと考えてC言語系のライブラリに乗っかるとして
C言語のABIはかなり古臭いわけで、あと、ヘッダファイルの存在がかなりエグイわけで
(windows.hをそのまま読み込める自作コンパイラとか書ける気がしない)
その言語で何かCのライブラリを使いたいときCヘッダファイルを適切に移植したのち
使いやすくするためにラッパークラスまで書くとしたら
これはもう多少気に入らない部分があってもC++を使ったほうが楽だし
ヘッダを移植するツールで自動生成する方針でも古臭いCのAPIを直接叩くのなら
何のための新言語か分からないし、だからといってラッパー書くのはバカらしいし
大概のCライブラリにはC++のヘッダも付いてることを考えるとそのままC++使ったbルうがマシ
もしC言語のヘッダを直接読めるように言語を設計するとなるとマクロなども考えると
C言語と文法的に互換性が有るように言語を作らなければならないということで
これまたあまり作る意味が無い、というか多分C++
124デフォルトの名無しさん
2017/12/04(月) 23:36:03.78ID:IjdODrQV なんで、素晴らしい言語仕様を考えることは出来るかもしれないし
頑張ってコンパイラを作ることも可能かもしれないが
結局ライブラリをどうするのかという部分が一番の問題で
0から構築するのはあり得ないから何かに乗っかるわけだが
当然乗っかり先の制約を受ける
特にネイティブコード系は一番普及しているABIがC言語のソレであり
気に入らないのでひたすらラップしまくる日々か
諦めて次世代言語の機能を生かせずアンセーフとか言っちゃって直接叩くか
頑張ってコンパイラを作ることも可能かもしれないが
結局ライブラリをどうするのかという部分が一番の問題で
0から構築するのはあり得ないから何かに乗っかるわけだが
当然乗っかり先の制約を受ける
特にネイティブコード系は一番普及しているABIがC言語のソレであり
気に入らないのでひたすらラップしまくる日々か
諦めて次世代言語の機能を生かせずアンセーフとか言っちゃって直接叩くか
125デフォルトの名無しさん
2017/12/05(火) 07:59:12.87ID:8RhNw6Wh126デフォルトの名無しさん
2017/12/05(火) 08:02:00.55ID:hRLlSr5E M$サーバでしか動かない言語はNG
127デフォルトの名無しさん
2017/12/05(火) 11:01:11.59ID:NtWJrTYb Win鯖で運用されない = Win鯖で使えない
だからな
リーナスが死んだら終わりな言語とかよく使えるな
だからな
リーナスが死んだら終わりな言語とかよく使えるな
128デフォルトの名無しさん
2017/12/05(火) 11:03:08.63ID:wKllXbtS リーナス死んだらUnixサーバー終了ってマ?
129デフォルトの名無しさん
2017/12/05(火) 14:15:20.69ID:3OMBWQX7 どうでもいいが長すぎる文章は読まないからな。もっと要約して話せ
130デフォルトの名無しさん
2017/12/05(火) 14:25:30.36ID:wKllXbtS あのスペースホルダー邪魔だよな
131デフォルトの名無しさん
2017/12/05(火) 15:43:17.12ID:V+NdjayN AutoMLが次世代言語らしいな。
132デフォルトの名無しさん
2017/12/05(火) 19:36:47.33ID:ueMa998Y133デフォルトの名無しさん
2017/12/05(火) 21:42:34.05ID:uUkZwDzW134デフォルトの名無しさん
2017/12/05(火) 21:54:34.45ID:XBgkE6Xw リリリリリリリリリリリリリ
135デフォルトの名無しさん
2017/12/05(火) 21:56:16.41ID:wKllXbtS リーリスリリースリーリリスリリリリリーリスリー
リーリナリリーナリーリリナリリリリリーリナリー
リーリナリリーナリーリリナリリリリリーリナリー
136デフォルトの名無しさん
2017/12/05(火) 21:56:27.08ID:TliYC8gy Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。
https://ubiteku.oinker.me/2017/12/02/skepticism-about-oo/
https://ubiteku.oinker.me/2017/12/02/skepticism-about-oo/
137デフォルトの名無しさん
2017/12/06(水) 00:55:40.02ID:5Fm3uunR ブログ記事は信用しない
マウント取るためだけの批判の連鎖がよくあるんだと、フロントエンド界隈で学んだ
マウント取るためだけの批判の連鎖がよくあるんだと、フロントエンド界隈で学んだ
138デフォルトの名無しさん
2017/12/06(水) 01:45:10.28ID:TwrP1kt8 でも2ちゃんは信用しちゃいまつw
139デフォルトの名無しさん
2017/12/06(水) 01:47:25.25ID:6LacDPiL OCamlをやるとプログラム中でオブジェクト指向を使った抽象化が必要な場所はほとんど無いことに気付くよ
140デフォルトの名無しさん
2017/12/06(水) 02:00:40.62ID:9Cl2Q0EY オブジェクト指向って抽象化なのか?
プログラミングで扱うのは本質的には「操作」だが、それは人間にとって抽象度が高く理解しづらい(と考えられていた)から、
仮想的なモノに見立てることで具象化したのがオブジェクト指向だろ
プログラミングで扱うのは本質的には「操作」だが、それは人間にとって抽象度が高く理解しづらい(と考えられていた)から、
仮想的なモノに見立てることで具象化したのがオブジェクト指向だろ
141デフォルトの名無しさん
2017/12/06(水) 02:19:19.87ID:EoxkbCFV メモリとかハードウェアまわりを触るのが具象で
オブジェクトのような仮想的なものを扱うのが抽象だと思っていた
オブジェクトのような仮想的なものを扱うのが抽象だと思っていた
142デフォルトの名無しさん
2017/12/06(水) 02:38:24.20ID:TwrP1kt8 >>141
コレメンサスンゴな
コレメンサスンゴな
143デフォルトの名無しさん
2017/12/06(水) 03:37:41.63ID:s/vk2t6t >>139
OCamlのOの意味を考えたことあるかい?
OCamlのOの意味を考えたことあるかい?
144デフォルトの名無しさん
2017/12/06(水) 08:37:01.32ID:omJYBD6x >>143
名前に入ってようがなんだろうが OCaml で 殆ど誰もOO しないのは端的な事実
名前に入ってようがなんだろうが OCaml で 殆ど誰もOO しないのは端的な事実
145デフォルトの名無しさん
2017/12/06(水) 08:38:30.89ID:KSpOhWT+ OCamlだからこそでしょ
146デフォルトの名無しさん
2017/12/06(水) 08:43:46.19ID:omJYBD6x OCaml ではまず OO なんかしない件についての説明
http://d.hatena.ne.jp/camlspotter/20080906/1220723583
http://d.hatena.ne.jp/camlspotter/20131028/1382960006
http://d.hatena.ne.jp/camlspotter/20080906/1220723583
http://d.hatena.ne.jp/camlspotter/20131028/1382960006
147デフォルトの名無しさん
2017/12/06(水) 08:58:33.91ID:LlbO+WJR 正確にはocamlに文法として用意されたclass/objectを誰も使わないという話で、代わりにモジュールを使って抽象型も多態もするわけでそれはそれでOOの一種だとは思うな
148デフォルトの名無しさん
2017/12/06(水) 09:03:36.38ID:mFUG6oMG 関数型言語をやたら持ち上げてるけど
OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。
OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。
149デフォルトの名無しさん
2017/12/06(水) 09:06:07.69ID:omJYBD6x150デフォルトの名無しさん
2017/12/06(水) 09:09:24.32ID:omJYBD6x >>148
>OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。
高水準言語でOS書けって頭悪すぎないか
Rustを関数型と認めるゆるい基準なら Redox がある
>OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。
高水準言語でOS書けって頭悪すぎないか
Rustを関数型と認めるゆるい基準なら Redox がある
151デフォルトの名無しさん
2017/12/06(水) 09:22:35.91ID:mhTOyNgr >>146
言語の糞さと、周りの人間が糞だからってことばかりで、全然説明になってないな
言語の糞さと、周りの人間が糞だからってことばかりで、全然説明になってないな
152デフォルトの名無しさん
2017/12/06(水) 09:45:25.42ID:enrVe2xz153デフォルトの名無しさん
2017/12/06(水) 09:59:23.03ID:26uEwiQD154デフォルトの名無しさん
2017/12/06(水) 11:07:54.33ID:YJV2uZev オブジェクト指向ってそんなにだめかな?
そのオブジェクトに対する操作をそのオブジェクトに持たせるってわかりやすくていいけど。
immutable.jsのレコードみたく、
メソッドは新しいインスタンスを返す関数と強制すれば関数型とも共生できると思うんだけど。
そのオブジェクトに対する操作をそのオブジェクトに持たせるってわかりやすくていいけど。
immutable.jsのレコードみたく、
メソッドは新しいインスタンスを返す関数と強制すれば関数型とも共生できると思うんだけど。
155デフォルトの名無しさん
2017/12/06(水) 11:16:45.83ID:enrVe2xz 別に悪いってことはないだろ。
結局、状態や依存をどう管理するかって話なわけで、極論言い始める奴の
いうことなんて話 2 割くらいにきいてりゃいいと思うけど。
結局、状態や依存をどう管理するかって話なわけで、極論言い始める奴の
いうことなんて話 2 割くらいにきいてりゃいいと思うけど。
156デフォルトの名無しさん
2017/12/06(水) 12:05:10.45ID:MKeQWAFs JavaScriptのようにハッシュテーブルとラムダを使う言語は関数型と共生できる
じゃあハッシュテーブルを使わない言語はなんで使わないのか?
その答えは、関数型とオブジェクト指向の対立とは全然関係ないところにある
じゃあハッシュテーブルを使わない言語はなんで使わないのか?
その答えは、関数型とオブジェクト指向の対立とは全然関係ないところにある
157デフォルトの名無しさん
2017/12/06(水) 21:34:09.17ID:iLCXc0pa DOMをデータと関数に分離してくれ
158デフォルトの名無しさん
2017/12/06(水) 22:04:59.32ID:FKF62WXq まずデータをどれだけ圧縮できるか考えるといい
次に圧縮されたデータを展開する関数を作る
次に圧縮されたデータを展開する関数を作る
159デフォルトの名無しさん
2017/12/06(水) 23:57:54.56ID:omJYBD6x160デフォルトの名無しさん
2017/12/07(木) 00:47:57.07ID:Z/mKUUkc >>139
SML#でもいいですか?
SML#でもいいですか?
161デフォルトの名無しさん
2017/12/07(木) 01:34:26.91ID:F4+mjT1z 自分PHPいいっすか?
162デフォルトの名無しさん
2017/12/07(木) 09:58:12.13ID:hv/QEVwp 語りたいことがあるんならいいんじゃない?
163デフォルトの名無しさん
2017/12/07(木) 10:03:56.61ID:xdMp5osr typescript使っててasync awaitが便利なんだけど煩わしい。
mapとか関数呼び出しを伴う操作で非同期処理に戻るのが、
たまにミスって放置しがち。
lintツールで指摘するなり監視する機能が欲しい。
先行してるC#とかはうまくやってるの?
mapとか関数呼び出しを伴う操作で非同期処理に戻るのが、
たまにミスって放置しがち。
lintツールで指摘するなり監視する機能が欲しい。
先行してるC#とかはうまくやってるの?
164デフォルトの名無しさん
2017/12/07(木) 11:18:40.20ID:9qRtkK/n ミスを指摘するしか能がない批評家に存在価値はあるのだろうか
165デフォルトの名無しさん
2017/12/07(木) 11:39:07.45ID:v/1e0blE >>164
ミスを作り出す無能に価値はあるのだろうか
ミスを作り出す無能に価値はあるのだろうか
166デフォルトの名無しさん
2017/12/07(木) 12:08:44.81ID:hv/QEVwp 何がミスなのかもわからず客が文句言ってるからで判断するバカ営業よりは価値がある。
167デフォルトの名無しさん
2017/12/07(木) 22:26:33.23ID:4FM+mzbe This Woman Created a Programming Language with Privacy Baked In
https://www.youtube.com/watch?v=Q6NiqRqGePU
https://www.youtube.com/watch?v=Q6NiqRqGePU
168デフォルトの名無しさん
2017/12/09(土) 02:52:58.92ID:Fh8F1Mjo Haskellの型クラスって凄く良い機能だと思うんだけど、地味に数学感足りないよな
NumってなんだよNumって。もうちょっと分解しろよって感じだ
Numeric preludeあんまり使われてないみたいだし
NumってなんだよNumって。もうちょっと分解しろよって感じだ
Numeric preludeあんまり使われてないみたいだし
169デフォルトの名無しさん
2017/12/09(土) 11:23:01.73ID:/ZpR40F0 HaskellはStrictData拡張とStrict拡張が入った事で
実用的な次世代言語になる可能性が出てきた
実用的な次世代言語になる可能性が出てきた
170デフォルトの名無しさん
2017/12/09(土) 23:10:56.50ID:OmTdA8EX 正格も遅延も使える言語と化したHaskell先輩
171デフォルトの名無しさん
2017/12/10(日) 02:42:38.28ID:a6n4XEL6 型なし能なしのゴミ屑言語の何がいいんだろうな
ペチパーは論外、ルビーもガイジだわ
ペチパーは論外、ルビーもガイジだわ
172デフォルトの名無しさん
2017/12/10(日) 04:06:55.10ID:Cg9x5qL1 動的型付けというだけで別に型がないわけではないので注意
173デフォルトの名無しさん
2017/12/10(日) 05:03:18.54ID:cDa6l0J8174デフォルトの名無しさん
2017/12/10(日) 05:14:36.81ID:7QrhdqaC ハスケルは実用性重視で機能を絞ってるからな。
175デフォルトの名無しさん
2017/12/10(日) 05:53:37.29ID:g4Avn4JH 自己書き換えもできないハスケルはプログラム言語と呼ぶに値しない
純粋関数型プログラム言語(自称)ハスケルw
純粋関数型プログラム言語(自称)ハスケルw
176デフォルトの名無しさん
2017/12/10(日) 05:56:33.48ID:of8IRKO8 Haskellは+や-といった演算子がNumに取られてるせいで
オーバーロード的なことが非常にやりにくいのが不便
<+>みたいな演算子は独自定義できるがなんかダサい
オーバーロード的なことが非常にやりにくいのが不便
<+>みたいな演算子は独自定義できるがなんかダサい
177デフォルトの名無しさん
2017/12/10(日) 10:16:20.55ID:a6n4XEL6 >>172
そういう詭弁はいらないから
そういう詭弁はいらないから
178デフォルトの名無しさん
2017/12/10(日) 10:28:42.10ID:dcXB++ys >>177
ガイジ
ガイジ
■ このスレッドは過去ログ倉庫に格納されています
