次世代言語18 Go Rust Elixir Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/10/01(火) 02:58:03.93ID:aEwUIB6s
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2020/01/08(水) 21:11:26.71ID:5tRz+DPE
>>161
具体例plz
2020/01/08(水) 21:25:54.87ID:AbnA2tlH
なぜ
Go
Rust
TypeScriptが
旧世代5大言語を超越するのでしょうか?
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が推しているので他企業も追随して移行している
165デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:58:55.88ID:5fiN5kGt
Goの行数が短いとは
2020/01/08(水) 22:05:03.81ID:VsmkZjsO
GoはAI関連のPythonからの移行組、組み込み系のCからの移行組、アプリ開発のJavaからの以降組と色々なところから支持されてるよな
2020/01/08(水) 22:19:11.42ID:btz4wclA
goはガベコレ付きのcってくらいだろ。それくらい機能が少ないから良い。
168デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:59:45.27ID:oFdEo24g
Goは機能が少ないから行数は長くなるな
ジェネリクスがまだなくて冗長になりやすい
良くも悪くも割り切ってる
2020/01/08(水) 23:17:23.66ID:fhO5tB7/
PythonやJavaは機能が多過ぎるからGoに移行すると言ってるように見えるが
多過ぎるという証拠がない
2020/01/09(木) 01:00:17.42ID:vhRTlzM5
GoがJavaよりずっと速いってことはない
ほぼ同程度
2020/01/09(木) 01:23:41.01ID:AUFIvY9B
かなり速いよ
起動が
2020/01/09(木) 02:53:10.48ID:Ur3XGElN
>>159
今日まで1200円(93%OFF)で買えるよ

現役シリコンバレーエンジニアが教える
Goで始めるスクラッチからのブロックチェーン開発入門
45レクチャー(5時間33分)
https://www.udemy.com/course/go-blockchain/
2020/01/09(木) 06:44:29.90ID:Ur3XGElN
Rust in Blockchain
Bringing engineering insight and experience to blockchain technology.
https://rustinblockchain.org/
174デフォルトの名無しさん
垢版 |
2020/01/09(木) 07:42:30.82ID:QBVFRtP7
>>159
returnを省略できるから値を必ず返してしまう
2020/01/09(木) 09:24:02.44ID:xKZrNt+9
Goはそこそこ速くて文法もすっきりしてるから汎用性高い
2020/01/09(木) 11:06:37.80ID:vRVrXWOG
Goは機能も絞ってあるし文法も簡単だから初心者の入門用に最適だと思う
しかも当然Pythonより速いので実用性も高い
次世代では学校でGoを習ってプログラミングを始めて実務でもGoで書ける部分はそのままGoとなりそう
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次第という側面もあるが
2020/01/09(木) 12:07:25.94ID:kiVtjsUg
dart2nativeのよってFlutter以外にもDartの使い道が
2020/01/09(木) 12:45:50.31ID:LsvkYb1v
GoはそもそものGoogle自身がほとんど使ってない
2020/01/09(木) 13:01:10.01ID:9BpGshJT
AndroidはJavaScript、iOSもJavaScript
一方、サーバーは非効率の極み
2020/01/09(木) 14:16:30.17ID:LsvkYb1v
C#はMSの推奨言語である限り何が出てこようとVC++とともにMS環境下での第一選択肢であることは揺るがない
基本的にOSやハードウェアのベンダーが使えと言っているものと使うのが正しい
2020/01/09(木) 21:24:14.26ID:SzStz3wn
関数型言語の特性を少しずつ取り入れる動きがあるのは(それが良いかどうか別にして)ある程度共通の認識として持たれていて
その中でも型システムに関してRustはライフタイム管理と参照の可変性制約に議論の余地があるとはいえそれ以外は程々な落としどころになってると思うんだけどどうよ
つまりはtraitとかenumとかgenericsとかについてなんだけど
2020/01/09(木) 21:39:52.57ID:/duGWeb2
てかemunの網羅性チェックとか普通に考えたら欲しくなると思うんだが
なぜC/C++/Java等の手続き型/オブジェクト指向言語では今まで取り入れられてなかったのかが謎
2020/01/09(木) 21:52:21.07ID:YgTrDd8p
>>174
関数戻り値の型推論はされないんだから、関数の型がunitのときは型の不整合とみなさないとか
できると思うがなぁ。
その場合のデメリットって「特別扱いは一貫性に欠ける」というくらいしか思いつかない。
2020/01/10(金) 01:35:53.38ID:0q4Qxo1U
ジェネリクスの起源はC言語の配列型やポインタ型のような気がする
ポインタ型を取り入れるどころか逆に排斥するのが常識だった
たまたま常識を疑うことができたのがC++と関数型言語だっただけ
2020/01/10(金) 02:36:02.44ID:kSkZ4oHO
次世代とか関係なく趣味でやるのにオススメの言語ある?
https://rosettacode.org/wiki/Category:Programming_Languages

https://duckduckgo.com/bang_lite.html
!rosettacode Generics
2020/01/10(金) 10:47:12.28ID:OzcTj1e5
次世代とか関係ないならスレチ
188デフォルトの名無しさん
垢版 |
2020/01/10(金) 15:44:58.26ID:puBSVXWR
>>186
https://mevius.5ch.net/test/read.cgi/tech/1571717826/
2020/01/10(金) 20:05:28.59ID:gdjTauNe
>>182
逆だろ。
rustのやろうとしてることを考えればライフタイム管理と参照の可変性制約に議論の余地はない。
他のどうでもいいところに力を入れてることの方が問題。
2020/01/10(金) 21:31:36.42ID:0q4Qxo1U
力を入れるより力を抜く方が難しい戦闘民族もいるんだろう
2020/01/11(土) 11:07:27.64ID:Mi8oZktw
>>185
多分趣旨は同一だと思いますが、私はC++ template がジェネリクスの起源だと
2020/01/11(土) 12:52:41.76ID:C5APeypm
お前初めてか次世代言語は、力抜けよ
193デフォルトの名無しさん
垢版 |
2020/01/11(土) 13:04:07.27ID:l/QLWHKH
Genericsの起源 → template
Genericsの起源 → enum
Genericsの起源 → マクロ
Genericsの起源 → キャスト
Genericsの起源 → struct
Genericsの起源 → union
Genericsの起源 → ポインタ
Genericsの起源 → レジスタ
2020/01/11(土) 13:42:11.23ID:C5APeypm
全ての始祖にして始まりの言語 ダークネスオブライト 神光雪花繚乱 ーCー

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



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

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

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

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

あとgenericsの起源の話をするならAdaちゃんのことも思い出してあげて下さい(小声)
196デフォルトの名無しさん
垢版 |
2020/01/12(日) 02:59:36.74ID:eMSUjpmi
言っとくけどMITのJulia凄いんだから!バカにしたら許さないから!
2020/01/12(日) 10:32:30.51ID:kMp+U+wu
バーカ
おまえのかーちゃんAV女優
2020/01/12(日) 11:36:08.74ID:gA+rg5vj
juliaはクソだわ。推してるやつも数値計算まともに理解してないろ。
2020/01/12(日) 15:31:32.23ID:txAfGBZe
実数クラスは複素数クラスを継承していない
数値計算の闇は深い
2020/01/12(日) 15:35:53.73ID:kMp+U+wu
おまえらクラスにはセックスメソッドすら実装されてないよね
2020/01/12(日) 18:19:08.33ID:Age3j7t+
じゃあ実装するから
LGBTをふまえたモデル化やってみて
2020/01/12(日) 20:19:36.78ID:kMp+U+wu
は?キモ
2020/01/13(月) 21:57:09.26ID:mYAmbNyn
Go, Rust, Swift, Kotlin, Typescript
基本的にこれだけやっとけばいいわけか
2020/01/14(火) 12:59:45.06ID:uZ65hl6g
>>203
分野次第だろ
例えばiPhoneアプリ作らないならSwiftいらないし
2020/01/14(火) 13:30:37.65ID:AAWN8rY8
〇〇だけやればいい
これを満たせるのはC++とJavascriptだけ
2020/01/14(火) 13:56:29.79ID:06NyUtxI
旧世代「綿密な準備、計画、理解、Go、Rust、Swift、Kotlin、Typescript」
ニュータイプ「あっ(察し)」
2020/01/14(火) 18:52:16.13ID:xEAW1qCD
本屋に行くとswiftやkotlinの本がたくさん陳列してあって流行ってるのを感じる
2020/01/14(火) 20:52:15.46ID:NIc2ogis
まだ発展途上とはいえ、RustってC, C++の上位互換っていう認識でいたんだけどどうなの

ライブラリの充実度とかはまだまだだろうけど
2020/01/14(火) 21:23:10.59ID:JlIaLGxV
>>208
上位互換を目指してるというのは正しいけどまだ上位互換とは言えない
C/C++のほうがまだ多少は実効速度が上みたい
体感できるほどの差はもちろんないけど
2020/01/14(火) 21:37:06.70ID:1v7jQTZs
Rustのほうが未来永劫遅いだろ
速くなる要素あるのか?
2020/01/14(火) 21:53:54.59ID:CySpaDcH
言語の処理速度は      C > C++ > Rust
プロダクトの性能の傾向は Rust > C++ > C

理由は、コンパイラ時のチェック系の支援が大きいほど
プログラマが気を使う量が減って高度な高速化実装がしやすくなるため
実例はServo

一方Cで限界までチューニングすれば他は追いつけない
メンテ難易度は上がるがそれを扱えるメンバーと運用があれば問題無い
実例はLinuxカーネル
2020/01/14(火) 22:06:05.36ID:Y6z2uzMK
色々な言語が登場しても未だにCが生き残ってるのはとにかく速さだからね
Cを置き換えようとする次世代言語は速さでCに負けてたら結局置き換えられないよ
2020/01/14(火) 22:09:27.27ID:AAWN8rY8
Cが使われる理由は速さではなく自由度
書いたとおりに動くという当たり前のことができる言語は、特に新しい言語においてはほとんどない
2020/01/14(火) 22:16:53.48ID:3eaorBLU
>>211
と思うじゃん?
実際はコンパイル時間が鬱陶しすぎてクソな通し方するようになる。
2020/01/14(火) 22:43:28.59ID:ETa8CiFD
Rustは、Cには負けるけどC++には速度で勝った、みたいな記事を最近見たんだが
2020/01/14(火) 23:02:29.05ID:AAWN8rY8
しょーもないブログ記事なんか真に受けんな
2020/01/15(水) 00:35:12.86ID:l5yk4jFW
C++のコンパイル時計算のあれこれを見ていると証明が必須じゃないCoqかよみたいな気持ちになるし人類にとってはできることが多すぎる
コンパイル時間のあれこれを言うならC++こそ人の事言えねぇよ
2020/01/15(水) 03:36:18.54ID:JGL8Rg1T
まあそうなんだがc++を置き換えると言いつつ
c++の問題を後追いしてるところはアホとしか言いようないなと思ってるってことだわ。
2020/01/15(水) 04:14:23.70ID:gFOlYGPu
C++を越えようとすればするほどC++に近づき、最終的にC++そのものになっていく
2020/01/15(水) 09:36:21.05ID:CBF4WmsT
最近はセキュリティ要件厳しいから
静的解析パスしないとリリースできなかったりするんだけど
とりあえず静的解析を黙らせるために過剰にvalidity checkが入れられてると思う
そういう無駄をきれいに省けたらc、c++を上回る可能性はあるかもしれない
2020/01/15(水) 11:05:13.31ID:l5yk4jFW
でもボクシングとかで実行時に負担掛ける動的多相を導入しない限りコンパイル時間は大きくは変化しないでしょという気持ち(型渡しと型消去)
別にRustだって依存型(定理証明系)とか高階多相(Scalaとか)でコンパイル時間増えてるわけじゃないんだし
2020/01/15(水) 13:04:38.24ID:DG9IEwRP
高尚な低速言語供が売りとしてる機能を組上げる部品をゲロベチョっとコーダー側へぶちまけ
オマエ自身が工夫してどうにかしろな仕組みを提供してんのがrustだからのう
関数型へ傾いてるとはいえコンパイル時間がどうこう言うのにrustの例は不適切かな
2020/01/15(水) 19:26:50.92ID:JGL8Rg1T
いや実際cの5〜10倍ビルド時間かかるだろ。
224デフォルトの名無しさん
垢版 |
2020/01/15(水) 19:42:04.64ID:vosN76E7
ダンリンポインタ探しに1000倍かかるよりいいわ
2020/01/16(木) 06:11:49.71ID:iXD/XJ1o
まともにやってりゃそんなクソコードにならんわ。
どんなコードだよそれ。
2020/01/18(土) 08:53:48.14ID:+M4Y4zKh
新言語登場

Project Verona
https://github.com/microsoft/verona

> Research programming language for concurrent ownership
2020/01/18(土) 08:59:16.18ID:8D4uGXih
もう新言語に期待するしかないかもな
2020/01/18(土) 11:08:15.00ID:bckYulo4
C++20に期待しろ
2020/01/18(土) 11:17:50.30ID:Iw/95SDF
どんな言語がでても馬鹿がいじれば糞化するという現実を受け入れさせるフレームワークが必要。
2020/01/18(土) 13:40:35.18ID:sqF6puYJ
劣化前のソースコードと文書は残っている
ただし過去に戻ったら他の人間とは仲良くできない
その代わりソースコード自体がAIみたいなもの

人間をクビにしてAIを使うとはそういうことよ
人間がいじればAIではなくなる
2020/01/18(土) 14:17:34.01ID:7/uZ9u1x
>>226
Rustっぽい言語なのか
2020/01/18(土) 14:23:41.36ID:10mPsw6w
それRutstでよくねえ?
2020/01/18(土) 14:34:40.59ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstでよくねえ?
              |(・) (・)   |   だって、それRutstでよくねえ?
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
2020/01/18(土) 14:49:52.92ID:PrMkgj9t
「Rust言語」をWindowsプロジェクトに適用してみた、Microsoftの事例
https://www.atmarkit.co.jp/ait/articles/1911/12/news050.html

欲しい機能がまだまだある

Rustは比較的歴史が浅いため、Microsoft社内の開発に使うことを考えると、よく使う言語機能であっても欠けているものがあるという。
その最たるものは、安全な変換(“プレーンな古いデータ”型をrawバイトと間で相互に安全にキャストする)やCスタイルの共用体の安全なサポート、誤りを許容する割り当て(割り当ての失敗でパニックに陥らず、所定の手順で停止する)だ。

Cargoには優れた単体テスト機能が組み込まれているため、開発者が本番コードと同じファイルにユニットテストを記述して、開発中に簡単に実行することができる。だが、Microsoft社内の大規模で複雑なビルドシステムでは、Cargoをビルドツールとして利用できない。
2020/01/18(土) 15:30:43.11ID:lNH5KTZ4
>>226
Microsoftとしては未だにRustが本命ではあるが自前でもっといいのが作れないか研究してみるって趣旨みたいだな


Q.
Does Project Verona mean Microsoft is no longer using C++/C#/Rust/...?

A.
Project Verona is a research project that is not affecting engineering choices in the company.
The Project Verona team is connected to the people using all the major languages at the company, and want to learn from their experience, so we can research the problems that matter.

https://github.com/microsoft/verona/blob/master/docs/faq.md
2020/01/18(土) 15:43:46.52ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstにコントリビューチでよくねえ?
              |(・) (・)   |  
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
2020/01/18(土) 15:58:02.34ID:OxDzBJO3
Microsoftっていっつも新しい言語生み出してんな
ちょっと前に発表してたBosqueとかどうなったのか続報全然ないけどもう諦めたのか?
遡ればF#とかも期待したほど流行らなかったしもっと遡ればVisual Basicとか散々ゴリ押ししたけど粗大ゴミになってる
Windowsというプラットフォームにあぐらをかいてるわけじゃないだろうがまともに使えるものを生み出す能力あるのか?
2020/01/18(土) 16:03:09.21ID:10mPsw6w
はいTypeScript
2020/01/18(土) 16:06:57.01ID:uzGc4BxW
>>237
C#「……」
TypeScript「……」
2020/01/18(土) 16:07:46.78ID:7/uZ9u1x
javascriptを静的型付けで縛るなんて俺の方が先に考えてたから
2020/01/18(土) 16:10:54.13ID:CgNop+pB
C#はC++を拡張してJavaにしただけ
TypeScriptはJavaScriptを拡張して静的型付けにしただけ
Microsoftのオリジナルではないからこそまともなものになった
2020/01/18(土) 16:35:15.63ID:4nVoSga0
その基準で行くと世の中でオリジナル言語と言えるのはどれよ
2020/01/18(土) 16:57:08.75ID:gFLtZPix
Speedcoding
2020/01/18(土) 17:10:47.48ID:bckYulo4
C#のモデルはDelphiであってC++でもJavaでもない
2020/01/18(土) 18:27:34.81ID:wjNBEjvE
>>242
今回新しく作ったVeronaはRustを参考にしてるけどかなりオリジナリティ高そうな感じ
2020/01/18(土) 18:32:58.91ID:10mPsw6w
>>245
はいパクリ
2020/01/18(土) 21:01:50.17ID:7F1h9NLC
MicrosoftのRust実装って聞いたぞ
2020/01/18(土) 21:03:10.22ID:7l55S8jf
https://www.zdnet.com/article/microsoft-opens-up-rust-inspired-project-verona-programming-language-on-github/

>Also, Rust isn't the only language that's inspiring Project Verona,
>which also borrows concepts from Cyclone, a "safe dialect of C"
>and Pony, which has key contributors from Microsoft Research.

久しぶりにPonyの話が出てる
Pony大勝利やん
2020/01/18(土) 21:41:35.95ID:uMWc60b6
じゃあ久しぶりにVの話を出してみる
https://github.com/vlang/v/issues?q=label%3A%22Unit%3A+Memory+Management%22
もうRustライクなんて壮言やめて素直にGC入れたら
2020/01/18(土) 21:57:59.56ID:uMWc60b6
>>244
ヘルスバーグさんめっちゃC++の話してるけど
https://www.codebrary.com/2018/03/deep-inside-c-sharp-interview-with.html

> is that we tried to stay much closer to C++ in our design.
> C# borrows most of its operators, keywords, and statements directly from C++.
2020/01/18(土) 22:12:30.57ID:80udMoW2
Vが詐欺って熱弁してたヤツ息してる?w
2020/01/18(土) 22:22:30.56ID:/f5VkUxk
相変わらずvlangのメモリ管理がゴミって話だろ?
何を勘違いしたんだ
253デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:48:50.92ID:ehZNNwbS
Java# も F# も C# も Rust も捨てた結果が Verona ωωω
254デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:55:17.54ID:ehZNNwbS
>>237
MSが出したやつはいつもダサいですね
言語も
製品も
2020/01/19(日) 16:03:51.59ID:0+Xqpf5l
>>252
2020/01/19(日) 16:16:01.02ID:XiThPh0f
オリジナルかっこいい
コピーださい
ふしぎ
2020/01/19(日) 17:08:58.60ID:4SQs66uE
そんなあなたにALGOL
2020/01/19(日) 18:00:55.33ID:L2mlhsAt
いちゃもん付けの馬鹿はほっとけばいいんだよ。
2020/01/20(月) 05:25:15.00ID:lu9djVuk
一周回ってErlangが今最も熱い
2020/01/20(月) 13:00:48.42ID:CkOt9DEa
あー?
2020/01/20(月) 15:27:50.47ID:NaVmECv0
ラン🎵
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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