次世代言語15 Go Rust Swift Kotlin TypeScript
レス数が1000を超えています。これ以上書き込みはできません。
>>971
>書く奴はいない
イギリス綴りやラテン語由来の雰囲気を出したい意図があるんじゃない? >>975
そんな意図、欧米人にしか通用しないと思うのだがなぁ…
ところで新記事きてた。
googleの力も借りて箇条書き部だけ適当に訳した。
Microsoft aims for simplicity with Bosque programming language
https://www.infoworld.com/article/3390197/microsoft-aims-for-simplicity-with-bosque-programming-language.html
・Bosqueは不変(immutable)データと調和する機能モデルを採用しているため、すべての値は不変です。
副作用がなければ、コードブロックの任意のステートメントの作用を理解することはとても単純になります。
関数型言語は、プログラム開発の単純化、洗練されたツール、およびこのモデルによって可能になるコンパイラの最適化の恩恵を受けています。
・更新可能なvar!変数への複数回の代入を許可することで、関数型プログラミングはブロックスコープと{…}括弧と融合します。
・関数はファーストクラスの値であり型です。
・ラムダコンストラクタは、ラムダ作成時のクロージャキャプチャ変数のために、ラムダ本体のコード定義と変数コピーセマンティクスを組み合わせたものです。
・シンプルで押し付けがましくない型システムは、意図を伝え、問題領域の関連する特徴を符号化するために、構造型(structural types)、組み合わせ型(combination types)、および公称型(nominal types)といった一連の型の使用を可能にする。
・型付き文字列は、文字列の内容に関する既知の構造を、人にとって意味があり、かつ型チェッカーが利用できる方式で型に変換するためのメカニズムを提供します。
続く>>979 >>978 続き
・ref引数を渡すことでパラメータをスレッド化することができます。
複数の戻り値(multi-return values)に代わるものとして、これはメソッドが渡された変数を使用・更新するようなシナリオを単純化します。
パラメータの更新を許可することで、余分な(extra)戻り値の管理が不要になります。
この機能はまだ実装されていません。
・名前付き引数が提供されています。
残余引数(rest parameters)やスプレッド演算子(spread operators)も。
これらは呼び出しやコンストラクタ操作の一部としてデータ操作を実行できます。
・不変式/不変条件(invariants)、サニティチェック、および診断アサーションといったさまざまな表現のための一級のサポートが提供されています。
・Bosqueでの一括代数データ操作は、一括読み取りとデータ値の更新から始まります。
作成されたオペレータは、コードを全体的な意図に集中させ、開発者がデータ構造操作に関する代数推論をするのを助けます。
代数演算は、データ型、タプル、レコード、および名義型、さらには射影、複数更新、およびマージを含む演算に対して提供されます。
・反復処理機能により、構造化ループは高レベルの反復処理構成体と交換されます。
同じループを書くことの定型句を削除することで、束縛計算を含むエラーのクラスが排除されます。
intentは意図(intent)を明確にします。 これアメリカ人の大部分は初見で読めないんじゃないの?w
むしろ(ケベック系つながりで)カナダ人のほうが読めそう フランス人ならフランス語のQu'est-ce que c'estがケツクセーって読むらしいからやっぱりボスクって呼ばれると思う ケかクだってここにいる高学歴高知能な人間なら分かりそうなもんだけどな bosque スペイン語で森の意味かな?
>>978
>欧米人にしか通用しない
ラテン語やラテン系言語を学んだことのある層は
欧州以外だとごく少なそう。 >>953
それが出来ない環境ってあるんよ。
稼働機はインターネット繋がってないとかね。
そういうのはクロスでコンパイルして持ってったりするし、
それと同じマシンをインターネットにつながる場所からnpm iして、持ってったりするんよ。
ラズパイ使うならあるあるのケースだと思うけど。
そういうユースケースすら浮かばない残念な人なのかな? ラズパイならネット繋がるとこに持ってって>>953すればいいじゃんw そういう場合無理せずgoでいいんじゃないか
Cでもいいけどw Bosqueよう分からんな。俺の頭の中では別レイヤーの概念が同じ階層にいる感じがする。
あと、型付き文字列って特別扱いしないと駄目な機能なのか?
TString<PhantomType> = { data : String, phantom:PhantomType }みたいに定義してコンストラクタ隠したらできると思うし、
そしたら文字列に限定せず、0より大きい3の倍数だとかを表現するのにInteger[Zm3]とかやれるべきだけど特に書いてないし。
subtypingはOCamlで慣れてるからそんなに難しくはなさそう。ただ、リストや配列をコンパクトにできるのか自信無い ラズパイ3B+しか持ってないからネットに繋げられないってシチュエーションが想像できないな スゥウィフトの4値エラーとか革命的発想だと思うんだけどな
なぜ話題にならない? ボスケってなんやねん
ボスケとか声に出して読みたくないぞボケカス >>996
ただの文字列インタンスを生成するのにそんなゴミ情報くっついてたらオーバーヘッドがオーバーだろが このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 5時間 17分 31秒 レス数が1000を超えています。これ以上書き込みはできません。