次世代言語Part7[Go Rust Swift Kotlin TypeScript]

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/10/19(木) 17:51:38.66ID:EPSDvC75
文字数制限きついので改題
スレタイ以外の言語もok

前スレ
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
http://mevius.5ch.net/test/read.cgi/tech/1503924817/
2017/11/25(土) 12:42:05.98ID:fhJ9yNRw
>>726
本質的には複雑に積み上げられた旅館でしょ
多少はリフォームして整理されてるけど
2017/11/25(土) 12:52:41.30ID:IlEVZyoE
>>770
ただのコンテナではなく標準のコンテナだろ
GCとGenericsを使わずに標準やってる感を出せるか?
2017/11/25(土) 13:04:31.47ID:0CVryiWG
qsortがあるんだからいけるいける
全部void*で
2017/11/25(土) 13:31:58.11ID:IlEVZyoE
qsortの闇は深い
void*もあるが、要素の比較が本当にO(1)なのかどうかの責任を呼び出し側に転嫁する
2017/11/25(土) 13:50:07.83ID:mxSpQEHX
なんだその責任って
2017/11/25(土) 14:01:56.85ID:OgtFvRib
結局、型とgeneric(もしくはマクロ)をいい感じに統合するのって
かなり難しいんだろう。
アドホックなやり方になりやすい。
2017/11/25(土) 14:38:33.35ID:jw2r+SZ3
そこでC++ですよ
2017/11/25(土) 14:52:25.29ID:8YG3Nyuz
比較のオーダーはcのqsortに限らずなんでもそうだろ

なんだかんだ言って C++ はよく出来てるよね。
constexp なんて他の言語も見習って欲しい
2017/11/25(土) 20:04:53.59ID:FJeVGVwT
Fortranのparameterもその類いだっけ?
2017/11/25(土) 20:53:43.09ID:OgtFvRib
>>778
あんなもんチューリング完全厨のおもちゃにしかなっとらんわ。
コード生成系のがまだマシじゃねーかと思う。
2017/11/26(日) 02:10:49.51ID:346jd0X/
スレタイにjava君も入れてあげて〜
使用人口の多い言語ですお
2017/11/26(日) 03:30:42.95ID:2SXqucAT
>>778
C++のconstexprなんて後発もいいとこだろ
本格的な先鞭としてD言語のCTFEがあって、その前にも幾らかある
2017/11/26(日) 09:00:59.28ID:d0SJzNDY
新興言語って少なくない割合でただの企業が持ち上げて広告収入に使ってるだけの詐欺なんだよな
M$のTypescript然り、顔本のD然り、mozillaのRust然り、TypesafeのScala然り

やっぱ実績の積み上がってる言語でないと信用ならん
2017/11/26(日) 10:19:24.37ID:9HhrSf+y
>>783
両端十分な実績があるのですがそれは
785デフォルトの名無しさん
垢版 |
2017/11/26(日) 11:09:29.55ID:2p4Fc6MR
>>784
まぁ、実績のあるなしなんて個人の主観によって変わるからな。
>>783にとってはJava, C++, JavaScriptくらいの言語じゃないと実績があるとは言えないんだろう。
振興言語がそれらと同じ実績を持つためには一体どれだけの年月がかかることやら。
2017/11/26(日) 11:48:04.80ID:CTy0yG7t
TypeScriptはともかくScalaは負債ばかりを残して消えた逆実績じゃね
唯一褒められる点としては関数型を流行させたこととKotlinを生み出したことかな
787デフォルトの名無しさん
垢版 |
2017/11/26(日) 12:05:21.53ID:5kKfR77D
C++がモダン言語の基本なので小学校で教えるべき。
2017/11/26(日) 12:16:59.36ID:WC95tXr9
すまん、C++を全て理解してしている奴おる?
789デフォルトの名無しさん
垢版 |
2017/11/26(日) 12:27:10.16ID:5kKfR77D
基本であるC++の理解なくして言語を語ることはできない。
790デフォルトの名無しさん
垢版 |
2017/11/26(日) 12:38:08.71ID:jDig0YaY
>>783
林檎教団のSwiftも仲間に入れてあげて
2017/11/26(日) 12:44:57.21ID:d0SJzNDY
>>790
Swiftは別に林檎以外で使ってるやついないしええんちゃう?
信者と信者相手にコード書く仕事してる人は大変だろうけど
2017/11/26(日) 12:50:49.50ID:d0SJzNDY
Scalaは分かりやすい詐欺の典型だな
あれのせいでログ基盤まわりのOSSは焼け野原になってる
CoffeeScriptもちょっと古いが同類事例
GoやらTypescriptやらRustもそのうちそうなる
Dはバズるまえに自滅したのが幸い
2017/11/26(日) 12:59:29.11ID:2dqUl+IZ
変な言語を使うとSCALAの様に開発が止まる危険性があるから
企業はリスクを回避するために独自の言語をつかって思い道理の仕様にできるように
するのだろうな。
794デフォルトの名無しさん
垢版 |
2017/11/26(日) 13:04:59.50ID:pQh5Iwo2
>>792
TypeScriptは大丈夫でしょ
Goは危なそう。Dartの前例があるし
RustはGCが邪魔でパフォーマンスが必要な一部の分野でしか使われないだろうからそんなに流行らないだろうし多分問題ない
795デフォルトの名無しさん
垢版 |
2017/11/26(日) 13:32:35.13ID:2p4Fc6MR
>>794
Rust は Web assembly で化けることに儚い期待を抱いている。
でも、正直 Web assembly はそのうち GC に対応するって言ってるし、
GC に対応したらGo, C#とかが Web assembly に対応するって言ってるから
そっちに取られるんだろうなぁとも思ってる。
そもそも Web assembly が普及すること自体いつになることやら。
2017/11/26(日) 13:36:26.39ID:prdTxomD
しかし CoffeeScript って何がだめだったん?
es2015, typescript がそれなりにうまくいってるのを見るとよくわからんところなんだが。
797デフォルトの名無しさん
垢版 |
2017/11/26(日) 14:20:08.38ID:pQh5Iwo2
>>796
・構文が独特なのでJSerが手を出しにくい
・動的型付けなのでJSの根本的な問題解決にはなっていない
2017/11/26(日) 14:30:45.34ID:qaxo00/7
>>793
Scalaって開発停止したの?
2017/11/26(日) 14:53:16.27ID:d0SJzNDY
>>796
提灯記事にかける金と、企業間根回しの差
M$は金をかけまくって提灯記事を書かせまくり、Googleに根回ししてAngularをTypescriptで書き直させた
要するに大企業が本気で詐欺をやっただけ
800デフォルトの名無しさん
垢版 |
2017/11/26(日) 14:55:47.77ID:pQh5Iwo2
>>799
こいついつものモジラアンチ君やん
2017/11/26(日) 15:49:18.98ID:G/Azh+n8
sで始まる言語のうんこ率は異常だな
2017/11/26(日) 15:52:03.66ID:yaxsKkRl
言語そのものはともかくとして、狂信的な信者が付いてる印象。
2017/11/26(日) 15:52:09.22ID:WC95tXr9
S言語
804デフォルトの名無しさん
垢版 |
2017/11/26(日) 16:50:11.59ID:pQh5Iwo2
Pから始まる言語の間違えだろ
2017/11/26(日) 17:15:50.59ID:F+UxV2LO
>>800
別人だが確かに言い回し似てたな……アレと同類はさすがに勘弁

Sで始まる言語っていうと、
Swift、Scala、Smalltalk、SMLがこのスレでよく見るやつだが
確かに信者がうるさい言語だな
2017/11/26(日) 17:37:24.93ID:WC95tXr9
Swift信者とかおったっけ?
2017/11/26(日) 17:42:43.44ID:XFPVp9gV
>>804
おっさんなんでpascalとprologしか思い浮かばない
808デフォルトの名無しさん
垢版 |
2017/11/26(日) 17:48:25.70ID:pQh5Iwo2
>>807
Python/Perl/PHP
2017/11/26(日) 17:51:22.14ID:WC95tXr9
なんでやPythonはええ言語やろ
2017/11/26(日) 18:40:28.50ID:Keof52t0
Smalltalkは儲のロートルっぷりが笑えるがそれはさておき
アンチの低脳っぷり(「うんこ」連発)と粘着が常軌を逸してて笑えない
いずれにせよ迷惑だからこっちくんな
2017/11/26(日) 20:27:35.67ID:692DDN1+
Pythonはたまたま流行ったお陰で便利なライブラリが沢山あるというだけで、言語仕様だけ見ると別に良い言語ではないよね
812
垢版 |
2017/11/26(日) 20:44:39.06ID:9F+mQkF+
>>811
シンプルで良くない?
他の言語だと空ブロック書くところにpassって書かないといかんところなんか滅茶苦茶良い割り切りだと思うけど。
変な構文で逃げるんじゃなくて、基本構文の上でNOP書かせるとか潔いと思うけどな。
メソッド第一引数を隠さない、とか。
813デフォルトの名無しさん
垢版 |
2017/11/26(日) 20:50:16.59ID:pQh5Iwo2
>>812
動的の時点で
2017/11/26(日) 20:50:40.88ID:R1JePoM2
Smalltalkは信者のキモさだけは圧勝してるけど、言語自体の出来はTcl/Tkにも劣る
2017/11/26(日) 20:55:55.94ID:rNgJnhxq
Python は private なメンバにもアクセスし放題だからね、言語としてどうかしていると思うときもある
その場しのぎのお助け機能満載なところはあるね
816
垢版 |
2017/11/26(日) 20:59:00.64ID:9F+mQkF+
>>813
型がなければ解決できない問題、ってのはあんまり無いからな。
型があるから解決できる、という触れ込みをあまり本気にしてもどうかと思う。
単に管理できない人が居るというだけ。

単なるlint目的なら、静的解析でもすりゃ良いと思うよ。
型がある言語には大体、型を無視できる構文があるようなもんで、ダックタイプにはダックタイプの利点がある。
817
垢版 |
2017/11/26(日) 21:06:26.91ID:9F+mQkF+
>>815
作法とルールの違いだろうな。
やっては行けないっぽい事をマナーとして守れるか、
やっては行けないっぽい事を一律排斥するか。

後者で仕組み上排斥した上で、それでもどうしても必要だと構文を作ると、そこから「コンパイルは通るけど動かすと動かない」みたいに破綻する。結局動的より酷い。
void*に一度キャストするとか、リフレクションするとか、スタック書き換えるとか。極端だけど。

だから俺は紳士協定止まりで良いと思うけど。

「出来ないことはチェックされるんだから、チェックされないならやって良いんでしょ」みたいな奴が増えるのは、本来のメリットを壊してるようなもんだと思うけどね。
2017/11/26(日) 21:15:49.49ID:tn24fxAD
根回しといえば
GCCにGoが速攻入ったのってどう考えても利権だと思うんだけど
GNUはGoogleに乗っ取られてるんだろうな
819
垢版 |
2017/11/26(日) 21:25:46.01ID:9F+mQkF+
>>818
もともとgccgoがあったからなぁ。
利権も何も、普通にgccのコミッタだった人がGoogleの人で、その人が「メインラインに取り込むわ」って言い出したのが7年前だぞ。
gcj外してgo入れようぜって言い出したのはたしかRed Hatの人。
2017/11/26(日) 21:38:43.34ID:hdv2mB5M
>>814
その程度の嫌いでアンチ続ける執念がキモイわ
821デフォルトの名無しさん
垢版 |
2017/11/26(日) 21:39:41.93ID:ejHa0S8T
Go人気なのか
オブジェクト指向勢から嫌われてたのに

なんかのフレームワークとか流行りのOAuth2とかが実装し易いとかあるん?
2017/11/26(日) 21:44:08.66ID:jBgPnQyL
気持ちよくおしゃべりしているあは依存型も知らん様子
2017/11/26(日) 21:51:01.31ID:rNgJnhxq
まだ gcj の方が役に立つと思うのだが…openJDK に移行してしまったようだね
2017/11/26(日) 22:09:01.03ID:692DDN1+
Idrisの話でもする?
2017/11/26(日) 22:26:19.56ID:9HhrSf+y
TSやFlowtypeは明らかに救済だろ
地獄のごった煮なフロントエンドに一筋の光をもたらした
実案件でTS使ってるが、素のJSなら確実に破綻していた
2017/11/26(日) 22:30:22.25ID:2SXqucAT
>>824
おう、Idrisの話をしよう
827
垢版 |
2017/11/26(日) 23:23:32.48ID:9F+mQkF+
>>822
依存型が、いわゆる依存積みたいなものの事を言ってるなら、それこそ的外れ。

>>823
gcj、あんま良いところ無かったからな。
AOTぐらいだけど、パフォーマンスは落ちがちだったし。
2017/11/26(日) 23:24:09.06ID:WC95tXr9
>>811
確かに
829
垢版 |
2017/11/26(日) 23:33:46.45ID:9F+mQkF+
積だけじゃなくて、和もそうだな。
どーせTypeScriptのUnionTypesあたりの、直和型と見せかけて、undefinedなんかも入りうる気持ち悪いものをありがたがってるんだろうけど。

それこそ意識高いHaskeller様で、何かとても良い空論でも教えてくれるのかもしれんけどな。
2017/11/26(日) 23:36:35.81ID:jBgPnQyL
>>822 単に「型が無ければ解決できない問題は無いからなあ」という馬鹿発言を嘲笑してるだけだぞ
酒が抜けるまでレスすんな。酒飲んでないでそんなレスしかできないならトリップ付けてろ。NGに入れといてやるから
2017/11/26(日) 23:40:05.59ID:i1z8rFU6
>>821
標準ライブラリが充実してる。
httpサーバが簡単に作れる。各種プロトコルも標準ライブラリに入ってる。
例えばsshもopensshに頼らずに自前で実装してる。
結果として外部依存が少ないバイナリが作れる。
https://mattn.kaoriya.net/software/lang/go/20170111165324.htm

ってところが魅力。
あとオブジェクト指向的には継承の簡易さに対してデメリットがでかいことがわかってきたからgoの方向性はそんなに変でもないと思う。

後はコンパイルが早い。と言うかコンパイルの速さのために
言語仕様を妥協してるところがある。(継承がないのもコンパイルの速さを優先してる)
2017/11/27(月) 00:14:50.55ID:kgsU8O53
継承がない場合、GUIライブラリはどういう形に落ち着くんだろう?
833デフォルトの名無しさん
垢版 |
2017/11/27(月) 00:19:16.06ID:VTdrxhpK
>>832
インターフェイスじゃね
2017/11/27(月) 01:24:38.90ID:RuMmCyGV
E言語作ろうぜ
2017/11/27(月) 01:43:28.34ID:HZrBFFjJ
>>830
横からすまんが、
依存型を使ったことがないゆとりの俺に依存型がないと解決できない問題の例を教えてはくれないか……
2017/11/27(月) 04:02:10.71ID:UW/5w9w8
>>835
配列の静的な境界チェック
2017/11/27(月) 07:45:57.79ID:2gW8tPht
Rustの静的型チェックは確かに発見困難なバグを見つけてくれる感ある

他のしょーもない言語の型チェックは
ふつうにテスト書けば見つかるようなエラーしか見つからんので
正直、動的型付けとくらべて優位性が無いわ
2017/11/27(月) 08:00:20.85ID:lA4+sBYi
(一般的な)静的型が本領発揮するのは運用開始後に手を入れるときだろ
依存関係が完璧に把握できるからな
2017/11/27(月) 08:06:57.76ID:BLxyIU7+
GGG言語は熱い
2017/11/27(月) 08:17:35.26ID:Q9OySQec
MLまでいかなくてもPascalでも使ったことあれば>>837のような幼い感想は出てこないと思うので
なんだか微笑ましい
2017/11/27(月) 08:59:52.64ID:4bHQN/8n
静的型とちゃんとしたIDEならカーソル箇所のメンバを使ってる元とメンバが依存してる先が自動的に一瞬で全部表示される
grep(笑)
作りっぱなしで逃げられる開発なら型なんかいらないと思うよ
2017/11/27(月) 09:00:19.33ID:oelMhkLH
Rustでコード書けない低脳勢の嫉妬が心地よいわ
2017/11/27(月) 09:53:28.95ID:AnhEBxtH
>>835 「遅くて実用に耐えないが明快で仕様を満たしていることが分かる関数」と
「速いけど複雑で仕様を満たしているか分からない関数」が数学的に等価であることを示せる
あるいは求められている仕様を型として表現することで、その型を返す関数は仕様通りであることを示せる

証明駆動開発は依存型じゃないとできない
2017/11/27(月) 10:24:46.55ID:yqPvbQsf
>>842
RustをHaskellで置き換えたら数スレ前によく見たやつになる
2017/11/27(月) 10:27:49.38ID:yqPvbQsf
やっぱRustもHaskellも、強烈な選民思想を産み出すという点で、
この世に存在したらいけない言語だなほんと
2017/11/27(月) 10:33:41.71ID:Q9OySQec
他を使ったこともないやつがいきなり先進的なのを使うと
全てがそのひとつの手柄みたいに思えてしまうんだよな
C#のときもD言語のときもよく見た
2017/11/27(月) 10:46:19.87ID:kgsU8O53
そういえばhaskellの主張してた奴消えたな
2017/11/27(月) 11:17:42.08ID:qLynQL2e
話は聞かせてもらったぞ
静的型と動的型のうち選民思想が強い方が滅亡する
849
垢版 |
2017/11/27(月) 11:30:52.56ID:gxJYhWYL
>>830
酒飲んでないぞ。
>>836
レンジチェックとか静的解析で割となんとでもなるでしょ。安物の解析ツール使ってるならアレだけど。
850
垢版 |
2017/11/27(月) 11:31:28.76ID:gxJYhWYL
>>837
あれぐらい縛るなら俺は両手を上げて賛成する。
2017/11/27(月) 11:58:44.95ID:Q9OySQec
配列の境界チェックぐらいなら気の利いた処理系ならなんとでもなるが、
そういう類のをユーザー定義できると想像するといい
2017/11/27(月) 13:08:54.03ID:nLFkP6Tp
静的型づけと動的型づけのほかにも強い型づけと弱い型づけがあるぞ。
両方を合わせると4パターンあることを考えたほうがいいぞ。
853デフォルトの名無しさん
垢版 |
2017/11/27(月) 14:31:06.76ID:VTdrxhpK
>>852
弱い動的型付けは存在しないから3パターンだぞ
2017/11/27(月) 14:33:43.01ID:Q9OySQec
動的型付けでも、異なる型を混ぜた時に自動で変換されるのとエラーになるのがある
そういうやつのことじゃないの?
いや>>852に訊かないとわからないけど
855デフォルトの名無しさん
垢版 |
2017/11/27(月) 14:52:39.00ID:VTdrxhpK
>>854
弱い型付けってのはキャストはエラーはかずに出来るけどメモリぶっ壊して全く違う所でエラー起きたりするCとかC++みたいな奴の事だぞ
2017/11/27(月) 15:04:23.55ID:Q9OySQec
>>855
その定義だとreinterpret_castができるやつは全部弱型になるだろ
んで、その定義でもObjCのid型やOO風拡張付きアセンブラやForthなんかは動的弱型じゃね
まあ>>825にry
857デフォルトの名無しさん
垢版 |
2017/11/27(月) 15:06:30.80ID:VTdrxhpK
>>856
ObjCは分からんが
unsafeブロックとかで限定的に弱い型付け許してる言語もあるけどそういうのは基本的に弱い型付けとは言わないね
2017/11/27(月) 15:12:29.84ID:Q9OySQec
一般的にはnominalで暗黙の型変換を許さないやつがstring typeだと思うぜ
2017/11/27(月) 15:13:04.01ID:Q9OySQec
/string/strong/ (苦笑
2017/11/27(月) 15:19:26.38ID:RuMmCyGV
情弱言語
情強言語
861
垢版 |
2017/11/27(月) 17:59:38.96ID:gxJYhWYL
選民思想ってどういう意味なんだろう?
862デフォルトの名無しさん
垢版 |
2017/11/27(月) 20:05:56.25ID:ioN0hnnU
>>861
神に選ばれたとか生まれながらの血筋とか、
とにかく一部の選ばれた人間のみを良しとする思想。
白人至上主義みたいになのが代表的なものだろうな。
そのぐらいググれば出ると思うけど。
863
垢版 |
2017/11/27(月) 20:15:59.53ID:YD13FB3m
>>862
選民思想自体の意味はわかるよ。
言語に対して選民思想がある、ってのがわからん。
知れば選民なの?って感じ。
一見さんお断り、紹介制ね、セミナー・講習・試験受けてねー(笑)
でもあるまいし、なんか知ろうとする努力を放棄して便利な言葉でごまかしてるように見えるって事。
2017/11/27(月) 20:20:31.71ID:AFwfxdAR
くっさ
2017/11/27(月) 20:27:37.84ID:Q9OySQec
>>845のことなら強烈な自己肯定感と言い換えてもいいんじゃね
たかが2chの言葉遣いに厳密に意味を当てはめてもしょうがない
866
垢版 |
2017/11/27(月) 20:40:26.85ID:YD13FB3m
なるほど。自己肯定感を他者への否定で裏打ちしてるような人たち、か。
いるな。Ruby使いが全体的にそんな印象。
867デフォルトの名無しさん
垢版 |
2017/11/27(月) 21:24:06.34ID:HF1f2kGW
おまえらみんなそんな感じじゃんw
2017/11/27(月) 21:30:42.30ID:zgUQvI9i
自分が使ってる言語以外は覚えるの面倒だから滅べっていう奴だな。
わかりやすいし、正直だとは思うが恥ずかしい言い分だということも理解しておいた方がいい。
2017/11/27(月) 21:32:45.76ID:zgUQvI9i
>>818
go はそもそもシンタックスがパースしやすいようになってるから
実装が楽だって話だろ。
2017/11/27(月) 22:33:25.18ID:pxmyvyPz
そもそもgccのgoってメンテされてないのでは?1.2くらいで止まってなかったっけ?
2017/11/27(月) 22:35:11.55ID:pxmyvyPz
>>868
言語を2つくらい学ぶとそれ以降はソンナ手間でもなくなってくけどな?
最近は学習しやすいべ。
それよりエコシステムの使い勝手が大事。
nodejsは最近やっとまともになってきた
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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