次世代言語15 Go Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
>>250
何も間違ってないけど雑な数値計算実験やアルゴリズム実験には本当にイケてるのよ?
漸進的型付けでも型推論と最適化が程よい塩梅で効いてるし私は好き 雑な実験でいいならcかc++くらい使えばいいのにと思うけどね。 >>232
不人気でユーザがいなくなっちゃった言語が
40年越しの環境でそのまま動いても意味ないけどね 雑な実験をC++でやるのには何の問題もないけどそれでもなお煩わしい(ex.tupleとかpairとかがびみょい)
ていうかC++こそ本腰入れた実験に使うんもん(分野によります)だし普段はもっと雑に書きたいなという気持ち
Cは無いかなー
できるけどC++以上にやりたくない 実験って何の実験?
大抵の場合c++は向いてないと思うけどね
ハマってる時間がもったいない そういうコアな計算部分にc++の機能あんまりいらないと思うけどね
結局パフォーマンス必要ならcudaにオフロードとかするんだろうし
構文的なところは凝らないのが正解だよ >>254
他言語のコミュニティメンバーがもう誰にも使われなくなった言語の
しかも40年前の環境を復活させたんなら逆に凄いことだな! CとC++とFortranで型システムが一番マシ(個人の感想)なのがC++って選び方なので 論文のために数回動けばいいようなコード
→ Python (主要な計算部分はライブラリ任せ)
雑とは真逆の実用ライブラリ
→ C (NumPyなど)
というのが数値解析などの分野の人達の感覚では
そしてライブラリ使ってない箇所もあわよくば早くしたいけど
動的言語からあまり離れたくという欲張りさんのために
NumbaやJuliaなどがある >>262
だから雑にやるときはJuliaって言ってるんだよなぁ >>263 python でNumpy やNumba を動かせばよいだけの話。
pythonをNumbaでJIT化すれば高速に動く。
だから数値解析、統計、機械学習などでpython が広まっている。
numbaを利用したpythonループの高速化
https://qiita.com/ken223/items/311032e45f7cd9fb6be6
numpy.sum() より numba でJIT化したほうが若干早い
全体をもっと高速化したい場合はCythonでコンパイルすることになるが、若干ソースに変更が伴うのが欠点。 そのへんのPythonをネイティブにする類、GILはどうなるの? >>266 明示的に書けば良いのでは?
Cython のスレッド並列処理
https://www.isus.jp/products/python-distribution/thread-parallelism-in-cython/
Cython の特長の 1 つは、ネイティブ並列処理 (英語) をサポートすることです (cython.parallel モジュールを参照)。
cython.parallel.prange 関数は並列ループに使用できるため、Python* でスレッド並列処理を使用して、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーを活用することができます。
インテル® Distribution for Python* 2017 の Cython >>266
nogil=TrueでGIL無しになる 関数のカリー化がないのにパイプ演算子だけ持ってきちゃったElixirはなんか変だよな。
パイプ演算子というよりUFCS。ピリオドにしておけばよかったのに。 ユーチューブみてたら外人さんが今年はじめるおすすめ言語でGoあげてたけどどうなの?
https://youtu.be/Wp6Z2wVyPeY >>273
英語わらないけど
パイパンなのはなんとなくわかった Goはいい言語だと思うが文法がきらいという理由で俺個人としてはやりたくない。 Goは悪くないけどGoやるくらいならCで良いって思っちゃう その下の節の Update: Rust で 370B になったとあるけど 人力でそんな手間書けるくらいなら最初からCで書くよね普通。 手間っつってもそんなでもなくない?
普通に-Osオプション的なのもデバッグ情報の削除もCでやるでしょ 連投になって悪いがなんならltoも普通にCでやるだろうし存外普通の事しかやってないぞ? c + lint で済む話をバカが無視するからコンパイラに組み込んだみたいな話、本当バカ。 普通ならなぜデフォにしないの?
Cパイセンに華持たせてるの? 当然ながらデバッグし易さやコンパイル時間などとトレードオフがあるので
特化をデフォルトにする必要は無い
Cは現役だし使うことを誰も止めはしない
比較は構わないけど推されてもここでは単純にスレチ デバッグし易さやコンパイル時間などを考慮した結果、せっかくwasmのクセに性能はす、す、すくりぷとげんごwwのじゃばすくりぷとwwwと大して変わらずww5倍wも巨大なwasmバイナリをデフォで吐いてしまうビチグソ言語()があるらしいwww
CやAssemblyScriptは性能大して変わらなくてもデフォでジャバスクリプト()よりサイズ小さいのにどう言い訳すんのこの新世代()うぇぶ言語wwwww >>278
クラスタ分散周りのコード書くならgoが良いと思われる。 A better C = Go
A better Perl = Python
A better Java = Kotlin
A better Javascript = TypeScript
A better Lisp = Clojure >>297
PythonとPerlって言うほど用途被ってるか?
個人的には
A better Python = Node.js
だって思うけどな 俺はKotlinよりScala推しだけどバックについてる規模がなあ A poorer C = Go
A poorer Perl = Python
A poorer Java = Kotlin
A poorer Javascript = TypeScript
しっくり来るな >>303
まだというかずっとじゃね
GCやgoroutineスケジューラのサイズは削れないし
用途がいくらか被るにせよ、性質的にCの代わりを目指したものでもないし 他の言語が無駄な機能を増やすほどCがbetterということに気づかされる。 >>306
betterというか完全にbestだね
使いやすいけどとっつきにくさがどうしてもあるから
優しいとされる他の言語が重宝されがちになるが >>306 Cは、アセンブラみたいなものだからな。 >>305
禿同。
Goは鯖で速度重視専用な気がする。
マイコンの規模で使える気がしない。 違う。
それだけマイコン使う分野がマイナーってだけ。
CPUパワーがあれば楽出来る言語使うのは当然。 >>311 はあ? マイコンって何を指してるか知らんが、今のスマホのパワーは、数年前のデスクトップを凌駕してるぞ。 >>313 だから、>>311 も>>306 もなんか的外れに見えるという話。
見る視点がまるで違う。 >>313
そそ。
PICとかそこまで小さい規模の話。
スマホでもゲームとかはCやC++もあるだろうけど、楽出来る分にはCは無いわな。 100円のチップでPythonが動く時代なんだぞ。 自動車の自動運転のマイコンなんか、下手なPCよりパワーはあるぞ。 >>316
自動運転用の石はそうだが、パワステ制御だけとか小さい石は今でも8ー16bitだし、CPU全体じゃそっちのが数は多い。(80%)
IntelやARMは小さいパイで大きく稼げる市場を独占しただけで。 少なくとも日本車はルネサス製マイコン使ってる。
Casl2とかニーモニックがそのまんま。
まさに試験が企業の求める人材発掘の篩になってる。 >>318 今はARMだろ。 中央のは、NVidia とか、Intel を使ってるのかな?
自動車って、何十とCPUを使ってるから何がメインかというのは難しいのでは?
Nvidia もIntel も実態はARMコアを使ってるみたいだけど。
ルネサスも震災以降はダウンして、ユーザーからのARMを使えという声に応じざるを得なくなったみたいだし。 >>321
ルネサスって元は日立とどっかの合資で出来たとこだっけ >>307
Go は better C ではなく better C++ なんだけどな
better C 目指しているのは Rust ざっくりした言い回しは自然と情報量が落ちてしまうので難しいもんだが、GoはやっぱりCompiled PythonとかC++とJavaの中間とって言語機能をC並に絞ったとかの複雑な立ち位置の印象だ
Rustもbetter C 兼 replacing C++の印象 理論的には理想に近い言語でも、実用環境が限られたり、スピード的に極端に落ちると現実的ではなくなるからね。
やはり言語的に洗練されていて、環境を選ばずに動き、スピードの解がある言語は伸びる。
Javaは、環境を選ばずに伸び、スピードの解はJITでまあまあ解決した。
Pythonは色々難しい問題がありそうだが、PyPyはJITで動いてるしいずれ本家がJITをサポートする様になるんじゃ無いのかな。Cythonは直接Cに落ちるが互換性の問題があるし。 goは構文が糞すぎて糞
ゲネリクスとかそう言う問題以前
変数宣言さえ糞
設計した奴はガイジの糞
グーグルって俺よりバカなんだなと思うわ goは触れば触るほど、Cでも良かったよね
Cのほうが論理的に簡単にできるよねってことが多過ぎる チュートリやってたら変数宣言だけで4つくらい出てきてガイジかな?って気持ちになった Lisp方言やPythonとRubyのように類似品を乱立させるやり方は古臭い
Java Kotlin C# TypeScript Go
の中からRubyと同じ失敗を繰り返す言語が続出すると思うと残念だ この中だとGoとKotlinが危ないな。
typescriptも、ecmaに型アノテーション
付く形で合流しそう。 >>333
esのデコレーションは今でも同等機能をコードで補完できるんだよな
コードを組み上げられる能力があればtsもゴミみたいにしか感じられなくなるね 最近のC#はあまりにも先端が突っ走りすぎてて、従来の「哀れな底辺ドカタにも最先端の言語を」という重要な役割を見失いつつある
>>336のようなC#のファンですら大抵3つ4つくらい前のバージョンで知識が止まってる状況で、
自社開発でWebサービスやってますみたいな極一部の「別にC#でなくてもいい層」ばかりを相手にしている
次期バージョンでは.NET Coreでしか使えない機能が出てきて足切りが始まり、プラットフォームが完全に分断される .NET Standardで基本事足りるとはいえ、その他のオープンなライブラリ側もおっつけてない感じあるなぁC# >>328
Goは大学出たての経験値の低い人でも書けるお馬鹿さん言語を意図して設計されとるんやで .NET Coreと.NET Frameworkの間でライブラリを共通化するためのAPIセットを定義するのが.NET Standardの主目的であったが、
その.NET Standardが次のバージョンで.NET Frameworkを切り捨てるというギャグのような話 >>337
趣味でもC#書くけど、それでも確かに正直.NET Coreの3を先食いしてる人達からすると数世代遅れてるな。
Span<T>とかはそりゃ確かにパフォーマンスは雲泥だろうけど、それ要るの結構限られてない?とか。
個人的にはあの断捨離は失敗しそうだから、そこから色々拾い上げてるMonoの方が良いんでないの?と思ってる。
Windowsだとほぼバイナリポンで動くというメリットが、クソ多いファイル数にかき消されてる気がして仕方ない。
.NET FW切り捨てるのはちょっと無理があるんじゃねえかなって思ってるけど、やるんだろうな…。 スマホゲー開発はだいたいC#だし、Unityがゲームエンジンとして標準的だからしぶとく残るんじゃないか
コンシューマーゲーはまだまだC++だけど >>340
最初はそんな意図なかっただろうに
反知性主義云々に乗っ取られて終わったな >>341
最初からCoreへの移行のための共通化じゃね
Coreに欠けてたGUIが解決したらFrameworkから追い出し始めるのは
むしろ自然だと思うけど >>342
普通の人が何も意識しなくてもアプリのパフォーマンスが良くなるってのがSpanを含めた最近の変更やで C++を切り捨てるつもりが
いつの間にかC#自身の古いバージョンを切り捨てる話に変わっている
これがPython Rubyと同じ失敗 >>346
そうなんだが、実際問題そこまでパフォーマンスに悩んだ事あんま無いんだよな。
ゲームとかなら顕著なんだろうけど。 C#は言語自体は面白いんだけどな
特に非同期処理は一日の長があるだけにライブラリが非常によく整備されてるし、
課題だった非同期処理のパフォーマンスも最近では飛躍的に改善されてるし
非同期シーケンスなど他言語に先駆けた取り組みも積極的に行われてる
しかし最近のMSはサイドバイサイドに甘えすぎなんだよ
既存資産との折り合いをつける努力を完全に放棄している
Azure関係とかもちょっとSDKのバージョン上げたりするとそのたびにぶっ壊れる有様でほんと酷い >>333
ecma に型アノテーション入って TS がオワコンになるは本当にあり得る未来だね
CoffeeScript もそんな感じで廃れた歴史が実際あるわけだし ■ このスレッドは過去ログ倉庫に格納されています