[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/21 20:29 / Filesize : 251 KB / Number-of Response : 1035
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語Part8[Haskell Rust Kotlin TypeScript]



1 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 23:08:21.45 ID:FxdZTiuZ.net]
スレタイ以外の言語もok

前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
mevius.5ch.net/test/read.cgi/tech/1508403098/

52 名前:じゃあどんな言語が好きですか?なぜその言語が
良いと考えるのですか?と聞くとダンマリ。
[]
[ここ壊れてます]

53 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 15:37:46.07 ID:Jtrxh33g.net]
そんなやついないだろ

54 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 16:02:09.41 ID:ugnQ3p4B.net]
>>38
ソース読めれば、ブラックボックス化は
防げるんじゃないの?

あなたが上げてるライセンスで、
ソースを読んではダメってモノは
ない気がするんだけど。

55 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 16:16:44.09 ID:Jtrxh33g.net]
仕様と実装は分けて考えるべき。

56 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 16:25:11.46 ID:Dl6HEW0V.net]
厳密に言えば配布されているソースと配布されているバイナリが違う可能性は存在するけどな
わかりやすい罠でも仕込まれてない限り検証不可能だろ、GPLであっても

57 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 17:35:29.54 ID:/D9bpJpS.net]
ライセンスは個人ならMIT、企業ならApacheが主流
緩いライセンスの上で企業が主導するというのが、昨今のオープンソース界隈
オープンソース同士の競争や発展が当たり前になって、落ち着くべきところに落ち着いた

GPLの衰退、寛容なオープンソースライセンスの興隆
https://japan.zdnet.com/article/35058087/
redmonk.com/sogrady/2014/11/14/open-source-licenses/

redmonk.com/sogrady/2017/01/13/the-state-of-open-source-licensing/
redmonk.com/sogrady/2017/09/22/cloud-native-license-choices/

58 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 17:48:55.03 ID:wMBa/T9i.net]
>>53
GPLでない限り、どこかの瞬間にソースをクローズドにできてしまう
その違いくらい分かっとけ

>>56
そういうものは単にソースが公開されているだけで、企業にとって都合の悪いコードは入らない
開発姿勢の問題

59 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 17:54:11.74 ID:wMBa/T9i.net]
コードのソースが公開されていることと、プログラムに対する自由が保証されていることは全く違う

ちょっとは勉強しろ
https://www.gnu.org/philosophy/open-source-misses-the-point.ja.html

60 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 17:54:42.99 ID:8J+E3A3v.net]
クローズドにされた派生物は元のオープンソースにその企業なりの変更を加えたものだろ。
他の人はクローズドにされる前のオープンな方を使い続ければいいだけ。



61 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 18:00:12.16 ID:wMBa/T9i.net]
>>59
元コードのライセンス自体を変えられたらアウト。MITやAPLなら不自由なライセンスに変更することが可能
GPLならそういうことは不可能

62 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 18:05:29.89 ID:9Vn/PEwl.net]
今時、GPL真理教のご登場とは、驚きだな。
そういう人は、次世代言語がgccに組み込まれるまで、待ってたらいいと思うよ。

63 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 18:22:10.64 ID:8J+E3A3v.net]
新しく配布するライセンスを変更することはできても、一旦ライセンスされたものを過去に遡って
変更するなんてことはそのライセンス自体にそのような規定がない限り無理。
新しく配布するライセンスを変えるって話なら(その権利がある者なら)元がGPLだろうが可能なのは同じ。

64 名前:デフォルトの名無しさん [2017/12/02(土) 20:05:49.99 ID:u0grZgHmQ]
そもそも、後からやっぱりライセンス変更してクローズドにしたら、
周りから強烈に反発されると思うんだよなぁ。
わざわざ周りから反発されてまでクローズドにするような
アホみたいな企業はたぶんいないんじゃないかな。
GPLのほうが良いというのは分かるが、それほど拘ることでもないと思う。

65 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 19:42:01.02 ID:H6Gj4fb5.net]
GPLも違反の場合の措置は国の法律に従うとかそんな規約だった気がするから、
国によっては過去に遡って棄却とかあるんじゃねーの?

66 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 20:00:19.24 ID:JVkL85Me.net]
言語屋の端くれって何者なんだ。
工学博士の端くれぐらいまではギリギリ言ってみようかとも思えるけど、言語屋って凄いな。

67 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:01:20.98 ID:JadDCVYU.net]
こんなところで喚くしか能のないゴミ屑が
ライセンスうんぬんで不利益被るほどの立場なわけないだろ
大人しくプェチピィで下痢糞プリプリしてろよ

68 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:01:40.00 ID:/D9bpJpS.net]
>>1
前スレ終盤でも名前挙がってたが、Elmバズってるな
本スレがない言語(Elm Nim Crystal他)もスレタイ候補でいいか

ElixirからElmの流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。
https://ubiteku.oinker.me/2017/12/02/skepticism-about-oo/

69 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:16:27.51 ID:vrpISaZz.net]
OOを批判するのはいいけど消去法で関数型とか思うのは大間違い
消去法するくらいなら対案を何も出さない方が正しい

70 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 22:37:35.51 ID:mYy0y04S.net]
関数型の定義はよく分からんけど、第一級関数は欲しいな



71 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 23:58:45.47 ID:IJ6GXagf.net]
redux(react)触ったやつがelmに流れてるんだろうな。

js+redux+immutable.jsの組み合わせだったらelmってことかね

72 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 02:09:05.69 ID:Ct3m3qtO.net]
「じゃあお前はどんな言語なら満足なんだ」ってしつこく聞かれてるから言うが
次世代言語かって言われたら微妙だからあんま挙げる気はなかったんだが、理想はVala
Cにトランスパイルされるから速度は良好、コンパイラのライセンスはLGPL、構文は比較的モダン

ただ今時の他言語と比較するともう一声ほしい

73 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 02:59:41.58 ID:Hpu25AWg.net]
バラ、初めて聞いたわ
よくそんなマイナー言語知ってるな

74 名前:デフォルトの名無しさん [2017/12/03(日) 03:18:35.47 ID:Xzro6gH8p]
>>71
ValaってC#に似てるというのは聞いたことがある。
前にサンプルコードを見たときに確かにC#っぽいなと思ったわけだが、だったらC#でいいじゃんと思ってしまう。
今ではXamarinとかUnityとかのおかげでC#あれば割と何でもできちゃうんだよな。
特に最近は.net coreとかでIL(中間言語)じゃなくてnativeコード吐けるようにさえなってきてるし。
俺の個人的意見だが、C#は文法が少し古臭いことを除けば超優秀言語なんだよ。
つまり構文的なメリットがないとC#から乗り換える気は起きない。そしてValaにはそれがないと感じる。
Cにトランスパイルされるメリットは分かるが「それだけじゃなぁ」って思った。
他にメリットがあるならもう少し詳しく説明してほしい。

75 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 09:08:16.53 ID:J28DlChh.net]
GNU狂儲じゃない人にとってはValaなんてC#の劣化コピー未満だし、
C#は現世代言語だから次世代には不適格だろう

76 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 12:08:02.85 ID:7jfP6ZRC.net]
その性能を見せてくれたら変わるかもしれんけどな
.NETのメモリを食い尽くす糞戦略GCが無いというならまあ……

Cにトランスパイルされて性能良好という点ではnimと丸かぶりな上
基本的にnimのほうが融通がききそうな気はするけど
GObject互換が有利に働くケース(例えばcairo呼ぶとか)ではValaの方がいいんだろう、たぶん、知らんけど

77 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 15:33:23.03 ID:Es8BrMdC.net]
まあだからValaが次世代言語とは一言も言ってない
例えばNimのコンパイラが(L)GPLになってくれてれば全力で推すよ。でも現実はMITだ

78 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:03:56.50 ID:Cfl2NYpj.net]
>>60
Linuxなど極一部の例外を除いて、今時のまともなOSSは基本的に全て企業様が開発しており、
寛容にも乞食に対して提供してくださっているものである
GPL信者が主張する、企業が成果物をGPL化するメリットとして、
「コミュニティからの協力を受けられる」というのがあるが、(乞食共の協力がどれだけ役に立つかは別として)これには落とし穴がある
GPLで公開してるものに対して乞食がプルリクを出し、これが本家にマージされた時点で、本家のソースがGPLに感染するということだ
これは企業にとって到底受け入れられるものではない
GPLは企業のオープンソースへの参加の障害になるんだよ

79 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:11:23.39 ID:Cfl2NYpj.net]
>>77
補足
本家のソースがGPLに感染するというのは、開発元の企業自身が、ソースの使用にあたりGPLに従わなければならなくなるという意味な
成果物をドブに捨てるようなもんだ

80 名前:デフォルトの名無しさん [2017/12/03(日) 16:16:53.98 ID:ySR1wv1e.net]
そういうものはデュアルライセンスで公開するんじゃないか普通。知らんけど。



81 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:17:53.46 ID:LB13FI05.net]
逆に考えれば自分がただで作ったものが企業の金もうけに使われるのを防いでるわけだろ。
そういういみでGPLは必要。

82 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:32:50.74 ID:Cfl2NYpj.net]
>>80
そう。つまりこういうことだ。
ユーザーからのコミットを受け入れるというポジティブな理由でオープンソースを採用するならGPLは不適切。
オラクルのように、有償契約への誘導を前提としてオープンソース版を撒き餌にするなら、
成果物の盗用を防ぐ意味でGPLが適切。
本来OSS信者が批判すべきなのはどちらだろう?
一度落ち着いて考えてみよう。

83 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:46:21.13 ID:Es8BrMdC.net]
だから「自由ソフトウェア」と「オープンソースソフトウェア」は違う概念って話だよな
そもそも企業が主導してる開発は、企業の恣意が入るわけで、自由ではない
今は乞食に恵むことが点数になるからそうしてるだけ
乞食に甘んじるならそれでいいかもしれんがな

一念発起して自分の畑を開墾することになったときに、GPLがないと企業に土地を盗まれたり、いつのまにか乞食に占拠されたりするんだよ
だからGPLの言語は重要なんだよ

84 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:47:34.26 ID:Cfl2NYpj.net]
もっというと、
・プロジェクトにコミットした個人乞食にとって、そのプロジェクトの最新の成果物を継続的に利用できる利益を守るのがGPL
・開発元の企業にとっての利益を守るのが「寛容なライセンス」
ということだ。そして、下記の理由から、後者を優先したほうがOSS全体にとっての利益が大きい。
・一般に、個人より企業の方がOSS遥かに多くの貢献をしているから、企業の参入を促したほうがOSSは拡充する
・当たり前だが、利用者にとっては寛容なライセンスの方が利用しやすい

85 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:50:27.91 ID:MdLc4Lg3.net]
>>80
別にGPLは金もうけに使うことを防ぐためにあるわけじゃないよ。
実際、金もうけだろうがなんだろうが単純使用については制約を設けることを禁止してるわけだし。

86 名前:デフォルトの名無しさん [2017/12/03(日) 16:52:07.39 ID:dv78RNI3.net]
個人で出来る開発なんて限られてるから企業が参入してくれたほうがいいし、企業は慈善団体じゃないんだから利益考えるのは当然だろ
企業がーステマがーって気持ち悪すぎる

87 名前:デフォルトの名無しさん [2017/12/03(日) 16:54:31.97 ID:dv78RNI3.net]
これだからワッチョイつけろと言ったのに

88 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 16:58:46.31 ID:FoZg6mpZ.net]
この板ってワッチョイあるの?

89 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 17:00:11.80 ID:Q+UzJ2jP.net]
わざわざ次世代言語スレに来て、
「俺ルールにより、全ての言語は次世代ではない!!」

ってマ?

90 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 18:06:19.80 ID:vwbP6I+a.net]
GPLは自分が作ったものだけじゃなく使ったものにも影響を及ぼすからなあ
LGPLが一番マトモなんじゃないかと思ってるんだが



91 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 18:39:22.73 ID:sBoz0VTg.net]
>>83
OSSが拡大しても自由ソフトウェアは拡大しない

まあ言語スレでやるべき話題ではそろそろなくなってきてるのはすまん

92 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 18:44:51.43 ID:n/4R2J1f.net]
望まれてないから拡大しないんだ、ってのが分からないところが儲

93 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 18:51:18.78 ID:9khz2s/N.net]
>>88
いつもの事だよ

94 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 19:06:01.80 ID:Hpu25AWg.net]
>>88
次世代ガイジ

95 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 19:07:55.59 ID:fDoYnNZt.net]
>>19
まあ、大企業がサポートしてるからこそ信頼性が増すんだけどね。
弱小勢力の作ってる言語なんざいつやる気が無くなってサポート停止するかわからんのに
使ってられないよ。

96 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 20:15:24.10 ID:GYPu5Uwk.net]
サポートを永久に続けさせたいとは思ってないんじゃないかな
ただ、無料版だけサポート停止して有料版に移行させる手口を防ぐだけでいい

97 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 20:40:28.46 ID:T5z0rd35.net]
このガイジの言葉を全否定するが、別に言語の処理系のライセンスがGPLだろうと非GPLだろうと
その言語で書かれたプログラムのライセンスには何も影響しない
Javaの処理系がクローズドソースだった時にJavaコードがオープンソースにできなかったかってことを考えればすぐ分かる

言語の仕様がオープンなら、もしこのガイジの懸念どおり処理系をオープン→クローズドソースにされたところで
本当にその言語が有用だったらクローンの処理系が出てくるだけのこと。open-jdkやらmonoが良い例だ

要するにこのガイジ、ライセンスのことを何も分かってない知ったか

98 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 20:46:25.36 ID:T5z0rd35.net]
ガイジを殴るだけのレスだと何なので
Haxeみたいな「書いた端からあらゆる言語にトランスパイルして使う言語」ってやっぱりコンセプトとして駄目なのかね?
最近のいわゆる次世代言語って、おおむねネイティブ(もしくはJavaマシンコード)にコンパイルする系ばっかのはず
例外はTypescriptとHackくらいか?

99 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 20:55:26.88 ID:GYPu5Uwk.net]
93,94をまとめると
GPLなコードを再利用しつつ有料版に移行させるのは無理
コードを捨ててクローンするならOK

100 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:05:47.23 ID:RLNGue2S.net]
>>96
Javaに関しては、openjdkを勝手にフォークして改変したものを出回らせたら特許侵害でオラクルに訴えられるよ
特許の利用はあくまで公式にリリースされたopenjdkに対して認められてるもので、
弄ったらJavaとは認められなくなり即訴訟



101 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:19:08.36 ID:T5z0rd35.net]
>>99
すまん、open-jdkっていうのは不正確だったな。IcedTeaって言った方が正確だった
まあ厳密にはIcedTeaも当時のSunの協力あってのことで、勝手フォークでやった訳ではなかったんだが……

102 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:19:33.27 ID:7jfP6ZRC.net]
>>97
中間言語のせいで遅くなってる直接アセンブリ(機械語より広い意味で)にできるなら効率的なのにグギギギギ
というのを気にしなければトランスパイラでもいいんじゃね
Typescript→Javascriptぐらいなら気にならんだろ
Scalaとか思いっきりJVMに足を引っ張られてた例と思う

ちょっと話は違うけど可変長配列を値返しできる言語を主にC系のことしか考えてないバックエンドで実装すると
mallocして返すかForthみたいにデータスタックをもう一つ用意するかぐらいしか方法がない、みたいな

103 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:29:59.69 ID:7jfP6ZRC.net]
書いてからもっといい例を思いついた
トランスパイル先に選ばれそうな言語(CとかJVMとかJavascriptとか)って
どれも末尾呼び出し最適化が保証されてないから関数型言語なら避けたいはず

104 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:51:34.72 ID:XVQ9VXzY.net]
末尾再起最適化なんかトランスパイルの段階でできるだろ
自分でやってみりゃわかるけど、別の言語への変換って細かい仕様のすり合わせが難しくて
どう頑張っても変換結果は綺麗なコードにはならんよ

105 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 22:16:35.41 ID:7jfP6ZRC.net]
>>103
自身への末尾「再帰」は変換できるが、末尾「呼び出し」一般はかなり難しい
特にモジュールをまたぐとまず無理

106 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 22:18:35.13 ID:2u990JKW.net]
臭い消しもできないのかID:7jfP6ZRCは

107 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 22:31:58.75 ID:7jfP6ZRC.net]
なんだ?誰と間違えられてるんだ?

108 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 23:20:51.54 ID:8Yd/vHN3.net]
トランスパイルする時点で全部gotoにしちゃえばいいんじゃねえの?
ヒープは馬鹿でかい配列切り出して貸してやりゃ良いじゃん。
一番現実的だと思うけど。

と言うか間違えられてかわいそうだな。

109 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 23:24:33.80 ID:8Yd/vHN3.net]
トランスパイラだから、トランスパイル先の言語の作法を守らにゃならん、なんてトランスパイラは
どっちつかずのゲテモノになるなんてのが歴史的にある程度わかってきたんだから、諦めて超高級マクロアセンブラとして使うべきだと思うが、
やっぱそのトランスパイル先の美しさって必要なのかねぇ。

110 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 23:25:29.18 ID:Q+UzJ2jP.net]
くっさ



111 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 23:27:40.12 ID:8Yd/vHN3.net]
>>92
は臭くなかったのに面白いな。

112 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 23:52:53.39 ID:7jfP6ZRC.net]
>>107
ありがとうありがとう

で、goto式だと呼び出し先も含めてひとつの関数にまとめないといけないので
他の関数をtail callしているのがつながって爆発的にコードサイズが膨れ上がる
JVMだと64kbの壁があるとかないとか ttps://togetter.com/li/280057
またモジュールを超えるとアクセス制御にかかったりもする

113 名前:デフォルトの名無しさん [2017/12/03(日) 23:52:56.38 ID:H7G92E6b.net]
>>102
javascripというかecmascriptは末尾再帰の最適化は仕様になってる。

114 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 00:00:49.77 ID:bhxDUAa4.net]
>>112
うお本当だ、俺の情報が古かった

115 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 04:42:05.46 ID:76LtUM8J.net]
Cにはlongjumpがある。
これを使えば親の関数へどこへでも飛んでいける。
末尾再帰もオプションで設定できる。

116 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 08:25:09.89 ID:USho8dw3.net]
>>111
JVMだとgotoが相互に飛んでない奴らで一つの関数にまとめるしかないな。
ただ、一つの関数が64kbまで、ってそこそこ余裕あると思うよ。
関数に関数をおさめようとするから爆発的に長くなるというか、実質、関数の後ろにおまけ付いたコードが量産される事になるんだと思う。
呼び出してる側まで全部展開してしまうと割と短くなる。

昔、ホントにそういうトランスパイラ作ったけど、割としっかり動いた。
動的なメモリ確保をほとんどさせられなかったからそうなっただけだけど。

>>114
ホントに高級アセンブラだよなぁ。

117 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 08:30:55.17 ID:8gND/ZcP.net]
くっさNG回避すんな

118 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 09:02:24.71 ID:dvJUWhXs.net]
jsへのトランスパイラは現状、
jsが、webにおける機械語的な立ち位置
だからというのはわかる。

でもcへのトランスパイラってどんな意味があんの?手抜きとしか思えない。

119 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 09:38:18.50 ID:76LtUM8J.net]
手抜き出来ることはメリットだろ。
実装と仕様は分けて考えるべきだからな。

120 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 10:10:11.02 ID:1pGzw3aP.net]
手抜きっつーか、Cに変換しておけば、おおむねどんなlibcでも石でも対応するコンパイラがあるってことでは

GoみたくあらゆるものをGo内で完結させるための車輪の再発明だとか
Rustみたく欲しい環境のtripleがあるかとかtierがいくつだとか
そういう言語機能と直接的には関係ない部分のサポートに関する労力をまるっと切れるのがでかい

一時期のaltJavaやaltJSの乱立を見てると、その分言語の質が上がるかって言われたら怪しいけどな

あとllvmの台頭で、ある程度その辺を再利用できる環境が整ったから、直接機械語吐いた方がよくなりつつあるのもあるか



121 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 10:54:56.82 ID:dvJUWhXs.net]
>>119
自分で言ってんじゃん。
llvmだったら中間コードまでのトランスパイラ作れば最適化とバイナリはくまでやってくれるしそこまでやりゃ良いのに。

あとgoの車輪の再発明はありだと思う。
画像変換したくてimagemagicのlibに依存する羽目になるとか勘弁。

122 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 11:02:06.37 ID:HnGSLV9z.net]
車輪の再開発はありとか自分が作る立場でも同じこと言えんの

123 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 11:02:26.62 ID:USho8dw3.net]
>>117
最適化とかそういう所にそれほど苦労しなくなるかな
手抜きといえば手抜きなんだけど

gccをバックエンドにするなら変な石対応が簡単だし
vc++でも食えるように書けばWindowsでも余計なもの要らないし
intelのコンパイラでゴリゴリに最適化かけたりとか、
静的ビルドでワンバイナリ作りたいからCの方のコンパイルオプションでリンクしよう、とか
既存の処理系に乗っかるのはメリット多いと思う

124 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 11:39:21.16 ID:1pGzw3aP.net]
>>120
llvmが台頭してきたから相対的にCトランスパイルの魅力なくなってきたよなって話で、
昔はCトランスパイラで既存のコンパイル環境に乗っかるのがよく行われてたって歴史的な話な

gccが中間言語仕様を意図的に隠してた弊害とも言える

125 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 13:22:03.65 ID:s0HrNGdY.net]
手抜きを批判する奴おるw

126 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 23:23:47.01 ID:IjdODrQV.net]
実質的にはトランスパイルだろうが何だろうが、とりあえずは関係ないが
今時ライブラリ構築を0からするというのは自分一人が使う自分専用言語だと考えても
汎用言語としてはあり得なくて、何か既存の言語のソレにフリーライドせざるを得ないわけで
となれば何に乗っかるかという部分から考えるし
それが決まってから具体的な実装方を考えるし、なんだったら自動的に決まってくるわけで

余談だが、良くある乗っかり先としては、CとJavaと.NetとJSがあるが・・・
ただ、例えばネイディブコードが良いと考えてC言語系のライブラリに乗っかるとして
C言語のABIはかなり古臭いわけで、あと、ヘッダファイルの存在がかなりエグイわけで
(windows.hをそのまま読み込める自作コンパイラとか書ける気がしない)
その言語で何かCのライブラリを使いたいときCヘッダファイルを適切に移植したのち
使いやすくするためにラッパークラスまで書くとしたら
これはもう多少気に入らない部分があってもC++を使ったほうが楽だし
ヘッダを移植するツールで自動生成する方針でも古臭いCのAPIを直接叩くのなら
何のための新言語か分からないし、だからといってラッパー書く

127 名前:フはバカらしいし
大概のCライブラリにはC++のヘッダも付いてることを考えるとそのままC++使ったbルうがマシ
もしC言語のヘッダを直接読めるように言語を設計するとなるとマクロなども考えると
C言語と文法的に互換性が有るように言語を作らなければならないということで
これまたあまり作る意味が無い、というか多分C++
[]
[ここ壊れてます]

128 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 23:36:03.78 ID:IjdODrQV.net]
なんで、素晴らしい言語仕様を考えることは出来るかもしれないし
頑張ってコンパイラを作ることも可能かもしれないが
結局ライブラリをどうするのかという部分が一番の問題で
0から構築するのはあり得ないから何かに乗っかるわけだが
当然乗っかり先の制約を受ける
特にネイティブコード系は一番普及しているABIがC言語のソレであり
気に入らないのでひたすらラップしまくる日々か
諦めて次世代言語の機能を生かせずアンセーフとか言っちゃって直接叩くか

129 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 07:59:12.87 ID:8RhNw6Wh.net]
次世代言語はコレだろ
https://arstechnica.com/gadgets/2017/09/microsoft-quantum-toolkit/

130 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 08:02:00.55 ID:hRLlSr5E.net]
M$サーバでしか動かない言語はNG



131 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 11:01:11.59 ID:NtWJrTYb.net]
Win鯖で運用されない = Win鯖で使えない
だからな
リーナスが死んだら終わりな言語とかよく使えるな

132 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 11:03:08.63 ID:wKllXbtS.net]
リーナス死んだらUnixサーバー終了ってマ?

133 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 14:15:20.69 ID:3OMBWQX7.net]
どうでもいいが長すぎる文章は読まないからな。もっと要約して話せ

134 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 14:25:30.36 ID:wKllXbtS.net]
あのスペースホルダー邪魔だよな

135 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 15:43:17.12 ID:V+NdjayN.net]
AutoMLが次世代言語らしいな。

136 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 19:36:47.33 ID:ueMa998Y.net]
>>129
君の言っている意味がよくわからない。
言語?

137 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:42:34.05 ID:uUkZwDzW.net]
>>130
今のリーナスは、リリース担当兼広報。

実際のリリーススケジュールとか開発機能とかは
スポンサーの企業が決めている。

138 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:54:34.45 ID:XBgkE6Xw.net]
リリリリリリリリリリリリリ

139 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:56:16.41 ID:wKllXbtS.net]
リーリスリリースリーリリスリリリリリーリスリー
リーリナリリーナリーリリナリリリリリーリナリー

140 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:56:27.08 ID:TliYC8gy.net]
Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。
https://ubiteku.oinker.me/2017/12/02/skepticism-about-oo/



141 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 00:55:40.02 ID:5Fm3uunR.net]
ブログ記事は信用しない
マウント取るためだけの批判の連鎖がよくあるんだと、フロントエンド界隈で学んだ

142 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 01:45:10.28 ID:TwrP1kt8.net]
でも2ちゃんは信用しちゃいまつw

143 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 01:47:25.25 ID:6LacDPiL.net]
OCamlをやるとプログラム中でオブジェクト指向を使った抽象化が必要な場所はほとんど無いことに気付くよ

144 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 02:00:40.62 ID:9Cl2Q0EY.net]
オブジェクト指向って抽象化なのか?
プログラミングで扱うのは本質的には「操作」だが、それは人間にとって抽象度が高く理解しづらい(と考えられていた)から、
仮想的なモノに見立てることで具象化したのがオブジェクト指向だろ

145 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 02:19:19.87 ID:EoxkbCFV.net]
メモリとかハードウェアまわりを触るのが具象で
オブジェクトのような仮想的なものを扱うのが抽象だと思っていた

146 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 02:38:24.20 ID:TwrP1kt8.net]
>>143
コレメンサスンゴな

147 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 03:37:41.63 ID:s/vk2t6t.net]
>>141
OCamlのOの意味を考えたことあるかい?

148 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:37:01.32 ID:omJYBD6x.net]
>>145
名前に入ってようがなんだろうが OCaml で 殆ど誰もOO しないのは端的な事実

149 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:38:30.89 ID:KSpOhWT+.net]
OCamlだからこそでしょ

150 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:43:46.19 ID:omJYBD6x.net]
OCaml ではまず OO なんかしない件についての説明

d.hatena.ne.jp/camlspotter/20080906/1220723583
d.hatena.ne.jp/camlspotter/20131028/1382960006



151 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:58:33.91 ID:LlbO+WJR.net]
正確にはocamlに文法として用意されたclass/objectを誰も使わないという話で、代わりにモジュールを使って抽象型も多態もするわけでそれはそれでOOの一種だとは思うな

152 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:03:36.38 ID:mFUG6oMG.net]
関数型言語をやたら持ち上げてるけど
OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef