X



次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
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凄いんだから!バカにしたら許さないから!
0206デフォルトの名無しさん
垢版 |
2020/01/14(火) 13:56:29.79ID:06NyUtxI
旧世代「綿密な準備、計画、理解、Go、Rust、Swift、Kotlin、Typescript」
ニュータイプ「あっ(察し)」
0207デフォルトの名無しさん
垢版 |
2020/01/14(火) 18:52:16.13ID:xEAW1qCD
本屋に行くとswiftやkotlinの本がたくさん陳列してあって流行ってるのを感じる
0208デフォルトの名無しさん
垢版 |
2020/01/14(火) 20:52:15.46ID:NIc2ogis
まだ発展途上とはいえ、RustってC, C++の上位互換っていう認識でいたんだけどどうなの

ライブラリの充実度とかはまだまだだろうけど
0209デフォルトの名無しさん
垢版 |
2020/01/14(火) 21:23:10.59ID:JlIaLGxV
>>208
上位互換を目指してるというのは正しいけどまだ上位互換とは言えない
C/C++のほうがまだ多少は実効速度が上みたい
体感できるほどの差はもちろんないけど
0211デフォルトの名無しさん
垢版 |
2020/01/14(火) 21:53:54.59ID:CySpaDcH
言語の処理速度は      C > C++ > Rust
プロダクトの性能の傾向は Rust > C++ > C

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

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

人間をクビにしてAIを使うとはそういうことよ
人間がいじればAIではなくなる
0233デフォルトの名無しさん
垢版 |
2020/01/18(土) 14:34:40.59ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstでよくねえ?
              |(・) (・)   |   だって、それRutstでよくねえ?
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
0234デフォルトの名無しさん
垢版 |
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をビルドツールとして利用できない。
0235デフォルトの名無しさん
垢版 |
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
0236デフォルトの名無しさん
垢版 |
2020/01/18(土) 15:43:46.52ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstにコントリビューチでよくねえ?
              |(・) (・)   |  
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
0237デフォルトの名無しさん
垢版 |
2020/01/18(土) 15:58:02.34ID:OxDzBJO3
Microsoftっていっつも新しい言語生み出してんな
ちょっと前に発表してたBosqueとかどうなったのか続報全然ないけどもう諦めたのか?
遡ればF#とかも期待したほど流行らなかったしもっと遡ればVisual Basicとか散々ゴリ押ししたけど粗大ゴミになってる
Windowsというプラットフォームにあぐらをかいてるわけじゃないだろうがまともに使えるものを生み出す能力あるのか?
0241デフォルトの名無しさん
垢版 |
2020/01/18(土) 16:10:54.13ID:CgNop+pB
C#はC++を拡張してJavaにしただけ
TypeScriptはJavaScriptを拡張して静的型付けにしただけ
Microsoftのオリジナルではないからこそまともなものになった
0253デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:48:50.92ID:ehZNNwbS
Java# も F# も C# も Rust も捨てた結果が Verona ωωω
0254デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:55:17.54ID:ehZNNwbS
>>237
MSが出したやつはいつもダサいですね
言語も
製品も
0262デフォルトの名無しさん
垢版 |
2020/01/20(月) 21:36:52.33ID:5waZG120
> Go→めっちゃ書きやすい。少ない行数で何でも書ける
お、おう(笑)
エアプ勢はレガシー言語触ってろ
0270デフォルトの名無しさん
垢版 |
2020/01/21(火) 23:28:36.06ID:ugpYi19h
Rustは名前が悪すぎる。車輪のベアリングが錆びついてギシギシで滑らかに回らないイメージ。
0274デフォルトの名無しさん
垢版 |
2020/01/23(木) 22:13:59.32ID:gI2c2uQ9
>>271-272
名は体を表すと言う。プログラミングの命名でも、名が体を表すのが良いとされる。
だから、言語名に体を見出そうとするのは自然な感覚。ましてRustのアイコンは
歯車だから、労力が無駄にかかり動作が遅いと思われるのは当然。さらに、Rustは
米国生まれなので、かつては栄えていたが今は没落した北部の重工業地帯を表す
rust beltも連想される。

開発者はこんな変な名前をなぜ選んだのか。真価を分かる人だけが使えば良いという
通好みの言語にしたかったのか。
■ このスレッドは過去ログ倉庫に格納されています

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