次世代言語29 TypeScript Swift Go Kotlin Rust Nim
レス数が950を超えています。1000を超えると書き込みができなくなります。
スレタイ以外の言語もok
前スレ
次世代言語28 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1661739736/ 「人月の威力 - 納期を短くする銀の弾丸」フレデリック・ブラックス 低位な階層のライブラリがそろえば、
高位階層のライブラリ開発・機能実装が捗り、
メジャーアップデートは目に見えて進むことであろう その前提条件はどうやって満たされるかと言うと、やっぱり集まる人数が増えるからじゃなかろうか もちろん、あらゆるプロジェクトに共通する事だが
「そうであったらいいなあ」という願望を含む >>729
流行ってないのは確かだが
流行れば良いってもんでもない 良い言語が流行るんじゃないんだ
流行った言語が良い言語なんだ なぜ流行ったかとするとやっぱり魅惑的な音の響きだな
つまり人前で堂々とパイパイと発音すること自体が主目的だ やっぱりキラーフレームワークやライブラリがないといかんね
大抵流行ったもんにはそういうのがつきもんや GCするなら思い切ってbetter pythonに舵を切っても良いと思うが
python使いならトランスパイラとか気にしないだろうし https://github.com/Naotonosato/Clawn
> メモリ管理
> Clawnはプログラム中の値の依存関係を静的に検証し、適切なタイミングでメモリの確保と解放を行うコードを自動的に挿入するメモリ管理機構を持っているため、プログラマがメモリについて意識する必要はありません。
>
> ただし、この機能は実験的で今後さらなる安定化及び最適化がなされる予定です。
次はClawn++でその次がDlawnかな?Clawn#かも
高校生だと思うんだけど勉強大丈夫なのかな?
開成中からどこ進んだんだろ? まあ確かにバックエンド、コンソール、Windowsデスクトップ、マルチプラットフォームならC#で良いと思う
でもフロントはやっぱReact使いたいんだわ
React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな >>877
XMLリテラルなんてJavaScriptにもないが。
JSXのことならあれプリプロセスで事前に単純な関数呼び出しに変換(たいていBabelで)してるだけだぞ?
<Foo><Bar attr1="test"/></Foo>
↓
React.createElement(Foo, null, React.createElement(Bar, {
attr1: "test"
}));
難しいもクソもない
プリプロセスなんだからあらゆる言語に同等なものを作れるだろう
価値を見出だされないないから作られないだけで >>878
プリプロセスで処理されるとか具体的な解析実装はどうでもよくて
TSXという言語の文法としてはあの要素はXMLリテラルとしか言いようがないだろう >>879
じゃXML使ったテンプレートエンジンじゃダメなの?
というかフロントでC#が使われないのはXMLリテラル()のあるなしの問題じゃないんだけどな
つまり>>877の
> でもフロントはやっぱReact使いたいんだわ
> React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな
だと、暗にC#にXMLリテラルが無いからC#でReactみたいに書けるReact.NETのようなものが出ないと言ってるようだが、
そうではなく単純にパフォーマンスとランタイムの容量の問題でやってないだけ(あるいはあるのかもしれないけど流行ってないだけ)だと思うよ
C#をフロントで動かすわけだから
知らんけどBlazorとかで挑戦したんじゃないの?
でも流行らなかったのは詰まるところこれでしょ rustはメモリリークを防ぐ事を目標とはしません。 メモリリークはRustにおいてはメモリ安全であることを意味します。 そもそも誰かが安全を約束した記憶がないぞ
まずは記録、次に記憶、最後に安全だ >>886
*メモリリーク除く
て書くべきだよなぁ。 問題は2種類ある
消してはいけない記憶を消すのは安全か?
記憶を消した方が得なのに記憶が残っているのは安全か? Rustならメモリーリークがあっても安心安全なんだよ メモリリークってメモリ安全ではないだろ
Rustのメモリ安全性に対する立場誤魔化しすぎやわ メモリリークって処理系が対処しうる脆弱性なのかね。
どんな言語使ってもそこはアプリケーション開発者の責任にせざるを得ない気がする。 メモリリークで迷惑すんのはOSやユーザなのに
何言ってんだ まぁよくあるのがイベントハンドラとかの登録解除忘れで
これはGCでも回収できないよね
そういう意味でもメモリリークは安全性に含まないという立場は妥当だと思うけど
(含めてもいいけど、そうすると全部の言語が不安全ということになるからあまり意味ない) それはリソースリーク。広義のメモリリークかもしれんが 言語処理系自身がどのように努力しても回収できないメモリリークは言語処理系自身のバグでしょ
イベントハンドラの登録解除はプログラマが努力すればリークは防げる
ただrustにはプログラマがどのように努力しても解放できないメモリリークが存在する
だからrustはメモリ安全ではない トロッコ問題も2種類ある
命に関わらないケースでじゃんじゃん犠牲者を出すタイプ
命に関わる時だけ突然必要悪や合理主義について語り出すタイプ メモリ安全性についてRustばかり注目されてるけど、Ponyも同等以上の安全性だよね
Ponyはアクターモデルで実現している >>901
アクターモデルの作り方わかってる?
アクターひとつひとつメッセージ待ち受けのループまわするだぜ?負荷が違いすぎるだろ Ponyはループで待ってんの?
普通はselectとか使うんでは? https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/
> NSA は、組織が C や C++ などのプログラミング言語から、C#、Rust、Go、Java、Ruby、Swift などのメモリセーフな代替言語に移行することを奨励するガイダンスをリリースしました。
るるる、るびぃwwwww いつの間にかC++とか本屋で入門書すら売られてないんだよな >>907
でかい本屋しか売ってないね
しかも売れてなさそう まあ今から最初の言語としてC/C++選ぶのはかなりレアだろうししゃーないわな いやいや C や C++ は人気上位言語なので
入門書が売れすぎて品不足になっているだけ arduinoとかで使ってるCにちょっとC++要素が入ってる言語が丁度良い感じする >>912
基幹系・勘定系はJavaだけど
ウエブサイトのフロントエンジニアは今はなんだろ?
なんだかんだいってRubyかPHPだろ >>905
当然pselectのとこを見る。
お前は待ち受けループという言葉をどう思ってんだ? >>913
フロントはtypescriptがデファクトスタンダードじゃろ。
勘定系はCOBOLをJavaに書き写しただけのJOBOLだよ。クソ。 >>918
みずほが採用してるってことは、近寄ったらダメってことでは? >>916
epoll、kqueue、iocpを調べること。 >>916
うーん、確かにそういう意味ではループ回してるか。すまん、ビジーループでイベント待ってるのを想像してた。
グリーンスレッドにするにしても確かにメッセージポンプ的なのは回すわな。 リソース消費はともかく、各種安全性に関してはアクターモデルは強力だよ
MicrosoftがPonyに影響受けたveronaを公開して研究してるし C/C++ のメモリ管理を知ってて
手を抜くために別の言語を使うのは合理的だが
最初から C/C++ を知らなくて良いという結論にはならないな 知らなくていいだろ
んでCやったらアセンブリやれだろバカバカしい アセンブリからCよりも
パンチカードからアセンブリのほうがエポックメイキングだったよな
アセンブリとCはたいして変わらない
複数のターゲットCPUのためにそれぞれアセンブリ書きたくなかったから中間層ひとつ足しただけ アセンブラがマクロアセンブラに進化しただけで
それまでと大違いで、いたく感動したものだけどな
ましてC言語に触れた時はなおさら 今でもCが一番互換性高い言語になってるってのもなんか不思議な話だわな。 言語ランキング、首位Pythonが差を広げる中、新興言語でトップ20に入った注目株は?
https://atmarkit.itmedia.co.jp/ait/articles/2211/14/news050.html
TIOBE SoftwareでCEO(最高経営責任者)を務めるポール・ジャンセン氏は、「Rust」が2022年10月にトップ20入りし、11月も20位だったことに対し、次のように解説している(なお、Rustの過去最高順位は、2020年9月の18位)。
将来性のある新興プログラミング言語のほとんどは、ごく短い期間だけ脚光を浴びるものの、本当に流行することはない。われわれは『Kotlin』『Dart』『Julia』といった言語がTIOBEインデックスのトップ20に入るのを何年も待っているが、実現していない。そうした中で唯一の例外がRustのようだ。Rustの人気が上昇している主な理由は、速度と安全性のユニークな組み合わせにある。Rustの今後に要注目だ。 >>923
リソース消費をともかくで片付けるなよ
Rustみたいな低レイヤのプログラミング言語を語る上では全てといってもいい
Lispがなぜ理想で終わってて実用に向かないかと同じ。なんでも再帰で片付けられれば数学的には美しいが実用的ではない。 これJavaじゃなくてRustじゃないと速度面を犠牲にすることになるだろ
Rustがここで推奨されれば一気に覇権なんだが
米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
https://japan.zdnet.com/article/35195997/ >>933
国家安全保障局なんだから、実績のある技術優先だわな。
Rustを推奨するのは実績できてからの話かと。 ここまでくるとfree ware潰しだろ
企業にハンドリングされてないコンパイラの存在を消そうとしてる >>933
ヌルポがあるJavaがメモリ安全とはこれいかに >>933
C#にすればいいのにMicrosoftからの強力なバックアップ受けれるのになぁ >>934
よく読んだらRustも推奨してるぞ
米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。 >>942
そしてこの中で低レイアのソフトウェアを開発できる言語はRustだけとなる >>944
なんの分野でもいいからオンリーワンというのは強いよね
メモリ安全性、低レイヤ、NSA推奨はRustだけ マルチスレッドデータ共有、結局mutexかactorで、stmでも実用的な速度を目指すとロック使ってるし、ロックフリーなstmやconcurrent revisionsみたいなのはなかなか実用に至らないね そもそもそんな細かい並列処理する?
Webだと、複数台に分散する必要がある程度に十分な数のリクエストがあるなら、CPUバウンドな処理をローカルで並列化する意味はほぼ無いからね ああ、もちろん画像処理みたいな単純に処理対象のデータ量が多いケースは別ね
でもその場合は並列処理といってもデータ並列なんで、結局ループを並列化してぶん回すだけであって>>946が期待してるような問題とはだいぶ違うよね 並列分散処理もいまや多岐に渡ってるから
ドメインによって問題が全く違うのよ
だから自分がしないからといって決めつけは良くない シングルスレッドのプロセスが、それぞれ複数のリクエストを処理するnginxは一定の成功をおさめた 決めつけてるんじゃなくて、実際のユースケースを知りたいんだ
反例も挙げずに人それぞれとだけ言われても、それこそ決めつけじゃないかな?
>>949はどんな並列処理してるのか教えてほしい 解きたい現実の問題がない計算方法がロックフリーかつ超並列可能でもしゃーねーからなぁ。 分野は違うけどニューラルネットワークとかも応用が見つかったから寂れてた分野が再び脚光浴びたわけで。 >>951
まず数値計算で使ってる
ゴリゴリの差分法(単なるクソでかい連立方程式)を解く
これを解くのに行列演算をするのだがこれにCUDAを使ってる
これはいわゆる「データ並列」
行列演算の個々の要素は完全に独立しているので並列処理が可能
GPUのグリッド、ブロック、スレッドを使った超並列処理をしている
次にそれらの計算を行うためのジョブキュー
これはグローバルに一つのキューがあって計算ジョブをエンキュー、デキューする必要がある
ここでキューの実装にロックフリーアルゴリズムいわゆるcompare and swapを使ってる
これを使うことでミューテックスにかかるコストをゼロにしながら高速にキューを処理できる
俺が普段並列処理をしている分野はこの程度だからしょぼいよ
分散環境の並列処理は分散サーバーに対してロックを取ったり
リーダー選挙問題などさらに上位の概念をしなきゃならんのでさらに難しい 目的が不明の仕様が最初から入っているのは仕様変更しないことが目的なんだろう
用途が判明してから言語仕様変更するのはJavaやGoのジェネリクスのようなパターン >>953
ディープラーニングは単なる応用じゃないぞ
リントンがやったことは応用じゃなくてブレークスルーだよ
しかもまだなぜそれがうまくいくのかわかっていないw >>956
応用とブレークスルーはべつに排他じゃないだろ レス数が950を超えています。1000を超えると書き込みができなくなります。