X



次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
0101デフォルトの名無しさん
垢版 |
2020/01/04(土) 20:31:51.46ID:Fk64oDOj
>>97
正式版(1.0)がリリースされた年

1978 C
1985 C++
1986 Objective-C
1994 Python
1995 PHP
1996 Java
1996 JavaScript
2002 C#

2012 Go
2013 Dart
2014 Hack
2014 TypeScript
2014 Swift
2015 Rust
2016 Kotlin
2018 Julia

こうして見るとリリースから時間が経っているのに遅れを取っているのはDartとHackか…
0106デフォルトの名無しさん
垢版 |
2020/01/04(土) 22:07:00.98ID:Dw91Ir7+
>>105
RubyもDelphiも1995年だしな
WWWが一般に普及してきたタイミングだから新言語がどんどん定着したんだろう
2010年代はGAFA+Microsoft主導の言語置き換え合戦が成功するかどうかってとこか
0109デフォルトの名無しさん
垢版 |
2020/01/05(日) 09:10:16.95ID:h/Fdg6dB
>>101
これ見るとC#は旧世代と次世代の中間世代なのでまだ世代交代する必要がないということだ
C#の代替言語が登場するのは数年後だな
0110デフォルトの名無しさん
垢版 |
2020/01/05(日) 10:12:13.12ID:unJHxkBD
言語だけ登場されても困るわ。.NETのリッチな標準クラスライブラリみたいのも一緒に登場してくれんと。
0111デフォルトの名無しさん
垢版 |
2020/01/05(日) 10:25:59.07ID:FBvFWwln
【歴代スレタイ言語】
次世代言語1 Go Rust Haskell Scala Erlang Elixir
次世代言語2 Go Rust Haskell Scala Erlang Elixir
次世代言語3 Go Rust Haskell Scala
次世代言語4 Go Rust Kotlin Scala
次世代言語5 Go Rust Scala Haskell
次世代言語6 Rust Kotlin Haskell
次世代言語7 Go Rust Swift Kotlin TypeScript
次世代言語8 Haskell Rust Kotlin TypeScript
次世代言語9 Haskell Rust Kotlin TypeScript Dart
次世代言語10 Rust Swift TypeScript Dart
次世代言語11 Rust Swift TypeScript Dart
次世代言語12 Go Rust Swift Kotlin TypeScript
次世代言語13 Go Rust Swift Kotlin TypeScript
次世代言語14 Elixir Crystal Julia Rust Swift
次世代言語15 Go Rust Swift Kotlin TypeScript
次世代言語16 Go Rust Bosque Kotlin TypeScript
次世代言語17 Go Rust Kotlin TypeScript Julia
次世代言語18 Go Rust Elixir Kotlin TypeScript

登場回数
18回 Rust
12回 Go
11回 TypeScript Kotlin
7回 Swift Haskell
5回 Scala
4回 Elixir
3回 Dart
2回 Julia Erlang
1回 Bosque Crystal
0112デフォルトの名無しさん
垢版 |
2020/01/05(日) 10:29:51.89ID:PSsOx+9B
>>111
Scalaはギリギリ許されるとしてもJavaよりも歴史が古いHaskellとErlangが新世代言語はさすがに無理あるだろ……
0115デフォルトの名無しさん
垢版 |
2020/01/05(日) 12:07:27.33ID:CCp/9MIZ
>>101
DartとHackはもう退場でいいよ
Google社とFacebook社が作った言語だからって理由以外に存在意義がない
DartはTypeScriptに負けた言語
HackはPHP7に美味しいところだけ取り込まれて役目を終えた言語
0116デフォルトの名無しさん
垢版 |
2020/01/05(日) 12:17:27.66ID:CCp/9MIZ
>>85
General ...... C -> Go
System ...... C++ -> Rust
Application (Windows) ...... C# -> Bosque
Application (macOS/iOS) ...... Objective-C -> Swift
Application (Android) ...... Java -> Kotlin
Web (Client-side) ...... JavaScript -> TypeScript
Web (Server-side) ...... PHP -> Elixir
Science ...... Python -> Julia

これでどうだ
0118デフォルトの名無しさん
垢版 |
2020/01/05(日) 14:41:58.81ID:O1c9EgK/
JuliaとElixirもまだ地歩を固められるかどうかさえ怪しいところだろう。
サーバーサイドなんてElixirよりGo/Rust/TypeScriptの方が獲りそうにも思うが。
0121デフォルトの名無しさん
垢版 |
2020/01/05(日) 15:18:42.39ID:H6Oq7LCM
RubyはPHPに負けた言語だからな
思い返してみると言語の流行度をランク付けしたらいつも10位前後をフラフラしていただけで一度として覇権を握ったことはない
信者はPHPerが単細胞の無能で他の言語を覚えられないからRubyが主流にならなかっただけだと思ってるみたいだけど
ポストRubyのポジションはElixirだろうがそこまで価値のあるポジションとは思えない
0123デフォルトの名無しさん
垢版 |
2020/01/05(日) 16:58:36.15ID:cUAn3/gX
次世代で差し当たって生き残るのが決まってるのはGo、Rust、Swift、Kotlin、TypeScriptの五大言語だけでしょ
この5つは大企業がバックについてて一定の信者コミュニティが形成されてるからもう揺るがない
ほかの言語はこれから競争
Pythonの遅さに対するヘイトでPythonブームがしぼむタイミングでどの言語がポストPythonに収まるかって戦いが注目だ
Rubyのまつもとゆきひろが言ってたけど結局言語自体の良し悪しだけじゃなくて有能なコミュニティが形成されるかどうかという要素が重要だからな
TensorFlowがGoに対応してる関係でAI界隈だとPythonからGoへの移行が多いけどJuliaやCrystalのラッパー作ってる人もいるからまだ他の言語にもチャンスある
ちなみにうちはすでにGo
0124デフォルトの名無しさん
垢版 |
2020/01/05(日) 17:01:50.31ID:cUAn3/gX
>>121
RubyはPythonの地位にあってもおかしくなかった
アカデミックな世界の人たちがPythonに流れたのが大きかった
0125デフォルトの名無しさん
垢版 |
2020/01/05(日) 17:41:07.92ID:O1c9EgK/
rubyが出た頃には既にpythonは十分人気があったわけで、流れたというより
pythonのシェアを奪えないまま自滅したという方が合ってる気がする。
0126デフォルトの名無しさん
垢版 |
2020/01/05(日) 18:38:52.97ID:wCDbKTu8
>>123
研究者が使うフレームワークが殆どpytorch一色になったので、
tensorflowもどこまで安泰か分からん
0127デフォルトの名無しさん
垢版 |
2020/01/05(日) 18:48:23.54ID:cUAn3/gX
>>125
いや、一時期は間違いなくRubyはPythonよりも人気があったよ
日本に限らず世界でね
2000年代に入ってからSciPyとNumPyという科学計算ライブラリの決定版が出たことで一気にPythonの地位が上がった
それまでR言語とかに注目してた層が根こそぎPythonに飛びついて大逆転した
もしSciRubyやNumRubyだったらRubyが天下を取っていたはず
0128デフォルトの名無しさん
垢版 |
2020/01/05(日) 18:56:14.34ID:nCpGvxq/
PyTorchやTensorFlowがどうしてPythonなのかが全く分からん
あんな遅い言語で機械学習をやるメリットは何なの?
ディープラーニングは複雑な計算が必要だからこそ高速な言語でやらないとって思ってしまうのは俺がド素人だから?
0130デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:12:24.89ID:YF3dXBXH
PythonではC等で書かれたライブラリを呼ぶだけで計算はしないから、遅くても問題ない
0132デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:19:55.04ID:zZ0UxrzA
>>128
この分野ではライブラリ叩くのだけが役目で速さがいらないからこそPythonが生き残ったんだよ
0133デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:44:46.12ID:6gmeklwC
ruby好きの奴らなんてmatzも含めて絶対数値計算なんかやらんかっただろう。
そういうとこだよ。
0134デフォルトの名無しさん
垢版 |
2020/01/05(日) 20:12:28.37ID:O1c9EgK/
客観的な数字がない以上どっちが人気があったかというのは水掛け論でしかないけど、
rubyが世界的に人気が出たと言えるのはRoR以降で、登場時期はNumpyとほぼ同じなんだよな。
仮にrubyの人気がpythonを上回ったことがあったとしても非常に短い期間に限られたと思われ。
0135デフォルトの名無しさん
垢版 |
2020/01/05(日) 20:53:54.52ID:6gmeklwC
>>128
pythonが実行速度が必要なところはcで書けばいいと割り切ってる中で
rubyは言語自体の速さをあげることに時間かけてた。
そういう見識のなさがrubyなんだよ。
0136デフォルトの名無しさん
垢版 |
2020/01/05(日) 21:17:35.10ID:+Zo8pyHn
68 名前:デフォルトの名無しさん[sage] 投稿日:2019/11/11(月) 08:41:18.73 ID:ugn4nfqU
炎上PJに巻き込まれて帰ってこれなくなってしまったのだろう

69 名前:デフォルトの名無しさん[sage] 投稿日:2020/01/03(金) 12:58:50.03 ID:f2V4CbYL
あけ おめこ とよろ


おまえら、この空白の2ヶ月間、何してたんだ?
0140デフォルトの名無しさん
垢版 |
2020/01/05(日) 23:34:13.56ID:2r2GEHCR
pythonもpython自体の高速化はやってきてるでしょ
pypyみたいな変態的なものもあるし
むしろrubyの方が言語仕様的に高速化できる余地が少なくて停滞してた印象
yarvも遅れてやってきた感しかない

まぁ身もふたもないけど、つたない英語で日本人がリードするプロジェクトに
外人はあんまり寄り付いてこないのがrubyがいまいち盛り上がらなかった原因だと思うよ
RoRの波の時にいろいろ仕掛けておけば違った気がするんだけど
0141デフォルトの名無しさん
垢版 |
2020/01/06(月) 11:00:46.22ID:AUHKm4tz
>>140
日本でRubyが人気あるのは日本で誕生した言語(→日本語のドキュメントやコミュニティが充実)だからってのは確実にあるだろうし逆に考えたらアメリカ人は英語圏で誕生した言語を使うわな
Python開発者はオランダ人だけどアメリカで働いていた人だし
0142デフォルトの名無しさん
垢版 |
2020/01/06(月) 22:45:21.22ID:sgp8c2gs
>>140
結局遅くてもデフォルトのcpythonを使うわけだよ。
そこまでcpuバウンドなプログラムなんて早々ないし、あったらcで実装したライブラリを使う。
なんでも同じ言語だけで無理やり何とかしようってのはバカの発想だわ。
cをどれだけ呼びやすくするかに労力をかけたpythonにrubyは完全に負けたわけよ。
0143デフォルトの名無しさん
垢版 |
2020/01/06(月) 22:51:03.06ID:ax8KHfsY
cというか共有ライブラリの呼び出しでそんな大きな違いあったっけ?
似たようなもんだったと思うけどな
0145デフォルトの名無しさん
垢版 |
2020/01/07(火) 08:51:26.11ID:ofmsTTYR
旧世代言語で言えばC++、Java、Python、JavaScriptの4つが書ければ組み込みからウェブまで基本的に何でもできた
1つの言語で何とかしようとすれば何とかなるかもしれないが開発効率を考えると結局この4つくらいの言語が必要
速さのC++、汎用性のJava、書きやすさのPython、ウェブのJavaScript
最強の言語に統一しようとする試みは全部失敗に終わって適材適所で使い分けるのが結局最適解だったわけだ
次世代言語では汎用性と書きやすさを兼ね備えたGoがあるのでRust、Go、TypeScriptが必須三大言語になる
0146デフォルトの名無しさん
垢版 |
2020/01/07(火) 11:10:34.52ID:4XCSnFAB
wasmの展開次第ではまた統一の流れになるかもよ
今のところRustかGoかかな
0147デフォルトの名無しさん
垢版 |
2020/01/07(火) 15:35:35.01ID:2Dq0zKSW
cythonよりもpybind
0148デフォルトの名無しさん
垢版 |
2020/01/07(火) 21:50:43.14ID:ueOqy5pf
Ruby の主な設計思想は、C の拡張ライブラリを作りやすくする事!
今は、FFI

言語が流行るかどうかは、便利な拡張ライブラリの作りやすさで決まる。
VSCode がそう。
皆が作る、多くの拡張機能が大人気

R, matlab → Python → Julia
Ruby → Elixir

数十万もする、matlab を誰も使いたくない!
これが無料で使える、Pythonがコスト的に優秀だった!

ただ、文法が辛いから、Ruby風のdo 〜 end を採用した、Juliaへ流れたw
0154デフォルトの名無しさん
垢版 |
2020/01/07(火) 23:27:16.65ID:VzO2pILM
まぁほら、値を返す場合はセミコロンを付けちゃいかんとか、あの辺は真にゴミだ。
0156デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:43:49.47ID:e6ROAylT
>>115
Dartは今一番来てる言語だろ
ちょうどFlutterのスター数がReact Nativeを超えたところだぞ
これで名実ともにクロスプラットフォーム開発のスタンダードがDartになった
0157デフォルトの名無しさん
垢版 |
2020/01/08(水) 15:05:07.83ID:GLREUp4M
Rustのセミコロンは文の終端じゃなくて、「左オペランドを評価してその値を破棄し、右オペランドを評価してその値を返す演算子」だと理解すればスッキリする
0159デフォルトの名無しさん
垢版 |
2020/01/08(水) 20:28:36.87ID:5tRz+DPE
>>155
「式にセミコロンを付けたら文になる」
「文の評価値はunit」
「ブロックの値は含まれる最後の式(文)の値」

それぞれは筋が通ってなくもないけど、2番目のは

「文の値は含まれる最後の式の値」

にしても問題なかったんじゃないのかな。
0164デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:50:40.19ID:m4KDxoTK
>>163
Go→めっちゃ書きやすい。少ない行数で何でも書けるので生産性爆上げ。実効速度はC/C++よりは遅いがJavaやPythonよりもずっと速いので何にでも使いやすい。文法が分かりやすいので入門用言語にも適している。オールマイティな次世代エース的存在で欠点がほぼない

Rust→C++と同レベルに速い唯一の言語。なおかつC++よりも文法が整理されている。C++と違ってメモリ安全性が確保されている。Goほどの書きやすさ・利便性はないがC++の後継としてシステムプログラミングに使えると考えられている

TypeScript→JavaScriptを大規模開発にも使えるように整備した言語。JSがウェブだけでなくアプリ開発にも使われるようになったという背景にマッチ。既存のJSコードという遺産をそのまま使えるのでデメリットなし

3言語ともにGoogleやMicrosoftが推しているので他企業も追随して移行している
0165デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:58:55.88ID:5fiN5kGt
Goの行数が短いとは
0166デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:05:03.81ID:VsmkZjsO
GoはAI関連のPythonからの移行組、組み込み系のCからの移行組、アプリ開発のJavaからの以降組と色々なところから支持されてるよな
0168デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:59:45.27ID:oFdEo24g
Goは機能が少ないから行数は長くなるな
ジェネリクスがまだなくて冗長になりやすい
良くも悪くも割り切ってる
0169デフォルトの名無しさん
垢版 |
2020/01/08(水) 23:17:23.66ID:fhO5tB7/
PythonやJavaは機能が多過ぎるからGoに移行すると言ってるように見えるが
多過ぎるという証拠がない
0174デフォルトの名無しさん
垢版 |
2020/01/09(木) 07:42:30.82ID:QBVFRtP7
>>159
returnを省略できるから値を必ず返してしまう
0176デフォルトの名無しさん
垢版 |
2020/01/09(木) 11:06:37.80ID:vRVrXWOG
Goは機能も絞ってあるし文法も簡単だから初心者の入門用に最適だと思う
しかも当然Pythonより速いので実用性も高い
次世代では学校でGoを習ってプログラミングを始めて実務でもGoで書ける部分はそのままGoとなりそう
0177デフォルトの名無しさん
垢版 |
2020/01/09(木) 11:22:30.94ID:vRVrXWOG
旧世代五大言語…C、C++、Java、Python、JavaScript
新世代五大言語…Go、Rust、Kotlin、Swift、TypeScript

今のところこんな感じだけどDartやJuliaは五大に入ってきてもおかしくないと思ってる
クロスプラットフォームアプリ開発でDart(Flutter)がReactNativeに勝利しそうな勢いで注目してる
多分DartはJavaライクな文法がJavaScript嫌いなアプリ開発者たちから受けてるんだろう
AndoroidはKotlin、iOSはSwiftという棲み分け自体が不効率の極みなのでDartがもう少し使えるものになればクロスプラットフォーム開発に雪崩を打って移行していくと思う
JuliaはJuliaですでにAI関連で信者層が形成されているしPythonでできることはJuliaでもできる状態になってるからじわじわシェア奪っていけると思う
TensorFlow次第という側面もあるが
0181デフォルトの名無しさん
垢版 |
2020/01/09(木) 14:16:30.17ID:LsvkYb1v
C#はMSの推奨言語である限り何が出てこようとVC++とともにMS環境下での第一選択肢であることは揺るがない
基本的にOSやハードウェアのベンダーが使えと言っているものと使うのが正しい
0182デフォルトの名無しさん
垢版 |
2020/01/09(木) 21:24:14.26ID:SzStz3wn
関数型言語の特性を少しずつ取り入れる動きがあるのは(それが良いかどうか別にして)ある程度共通の認識として持たれていて
その中でも型システムに関してRustはライフタイム管理と参照の可変性制約に議論の余地があるとはいえそれ以外は程々な落としどころになってると思うんだけどどうよ
つまりはtraitとかenumとかgenericsとかについてなんだけど
0183デフォルトの名無しさん
垢版 |
2020/01/09(木) 21:39:52.57ID:/duGWeb2
てかemunの網羅性チェックとか普通に考えたら欲しくなると思うんだが
なぜC/C++/Java等の手続き型/オブジェクト指向言語では今まで取り入れられてなかったのかが謎
0184デフォルトの名無しさん
垢版 |
2020/01/09(木) 21:52:21.07ID:YgTrDd8p
>>174
関数戻り値の型推論はされないんだから、関数の型がunitのときは型の不整合とみなさないとか
できると思うがなぁ。
その場合のデメリットって「特別扱いは一貫性に欠ける」というくらいしか思いつかない。
0185デフォルトの名無しさん
垢版 |
2020/01/10(金) 01:35:53.38ID:0q4Qxo1U
ジェネリクスの起源はC言語の配列型やポインタ型のような気がする
ポインタ型を取り入れるどころか逆に排斥するのが常識だった
たまたま常識を疑うことができたのがC++と関数型言語だっただけ
0189デフォルトの名無しさん
垢版 |
2020/01/10(金) 20:05:28.59ID:gdjTauNe
>>182
逆だろ。
rustのやろうとしてることを考えればライフタイム管理と参照の可変性制約に議論の余地はない。
他のどうでもいいところに力を入れてることの方が問題。
0191◆QZaw55cn4c
垢版 |
2020/01/11(土) 11:07:27.64ID:Mi8oZktw
>>185
多分趣旨は同一だと思いますが、私はC++ template がジェネリクスの起源だと
0193デフォルトの名無しさん
垢版 |
2020/01/11(土) 13:04:07.27ID:l/QLWHKH
Genericsの起源 → template
Genericsの起源 → enum
Genericsの起源 → マクロ
Genericsの起源 → キャスト
Genericsの起源 → struct
Genericsの起源 → union
Genericsの起源 → ポインタ
Genericsの起源 → レジスタ
0194デフォルトの名無しさん
垢版 |
2020/01/11(土) 13:42:11.23ID:C5APeypm
全ての始祖にして始まりの言語 ダークネスオブライト 神光雪花繚乱 ーCー

おまえはまだ、本当のCを



0195デフォルトの名無しさん
垢版 |
2020/01/11(土) 17:39:11.16ID:jnWa1Bc7
>>189
ごめんこれは私の書き方が悪かった
Rustのやろうとしてることからすれば議論の余地が無いのは間違いない

ただRustのやろうとしてること(つまりそれらを型システムに落とし込んで管理しようとすること)そのものには反対意見も見られるのでそのように書いた
(私はRustの方針で良いとは思っている)

それなりに一般人類が扱える程々な型システムの機能は言語の目的に依存しない範囲でどの程度かなって話をしたかった
型システムの程々が言語の目的に依存するのは分かった上でなので、それ無しに語る事なんてできないと言われたらはいとしか返せない

あと例にgenericsを書いたのは最近の言語でGoが少なくとも今は取り入れてないからだったんだけど、冒頭に関数型〜と書いてしまったがために >>185 みたいに起源の議論になってしまって申し訳ない

あとgenericsの起源の話をするならAdaちゃんのことも思い出してあげて下さい(小声)
0196デフォルトの名無しさん
垢版 |
2020/01/12(日) 02:59:36.74ID:eMSUjpmi
言っとくけどMITのJulia凄いんだから!バカにしたら許さないから!
■ このスレッドは過去ログ倉庫に格納されています

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