パスワードを忘れた? アカウント作成
11870305 story
プログラミング

Rust 1.0のアルファ版がリリースされる 23

ストーリー by hylom
普及となるか 部門より
あるAnonymous Coward 曰く、

Mozilla発のプログラミング言語Rustのバージョン1.0アルファ版がリリースされた(リリースノート)。

最終リリースにむけて現在も利便性の向上を図っているが、破壊的な変更をする予定は無いとのこと。基本ライブラリも同様。

traitsやジェネリクス、マクロ等も備える一方で、GCを使わないメモリ管理、ランタイム不要のバイナリが出力できるため、最近の「better C」系言語の内ではかなりシステムプログラミング寄りと言えるだろう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Rustリンク集 (スコア:2, 参考になる)

    by Anonymous Coward on 2015年01月15日 11時02分 (#2743798)

    ・Rust触ってみたらかなり良かった話
    http://blog.wnotes.net/blog/article/beginning-rust-lang [wnotes.net]
    ・Rustを30分で紹介する(訳)
    http://uehaj.hatenablog.com/entry/2014/04/20/175630 [hatenablog.com]

    ・Rust 言語チュートリアル (非公式日本語訳, 途中)
    http://mimosa-pudica.net/rust-tutorial/ [mimosa-pudica.net]
    ・【翻訳】関数型プログラマのためのRust
    http://postd.cc/rust-for-functional-programmers/ [postd.cc]

  • C(やC++)と構文とか互換性がほとんど無いから、現状でC(C++)が使われている分野で使われる可能性は低いように思う。
    スクリプト言語とかJavaが使われている分野での置き換えだったら有りそうかな。

  • by Anonymous Coward on 2015年01月15日 7時24分 (#2743683)

    どれくらいシステムプログラミング寄りなのかの参考に、Rustで書かれたOSの一覧を紹介します。

    https://github.com/rust-lang/rust/wiki/Operating-system-development [github.com]

  • by Anonymous Coward on 2015年01月15日 9時59分 (#2743754)

    「ラァストゥ」でいいんでしょうかね。
    意味としては「さび」?とか「(精神の)さびつき」?
    とかで本当にいいのかな。
    「才能の無駄遣い」的なシャレだろか。

    >発音記号: rʌ'st 
    >カタカナ読み(発音の目安):  ラァストゥ
    >主な意味: [名]  1 鉄さび(iron rust);(金属一般の)さび;さび状のしみ[よごれ]  
    >2 (精神・能力などの)さびつき, 鈍化, 不活発  
    >3 《植物病理》さび病;サビ菌(r...
    [ http://ejje.weblio.jp/content/rust [weblio.jp] ]

  • by Anonymous Coward on 2015年01月15日 10時52分 (#2743791)

    おお~,こりゃ~,大変いい言語ですな.
    筋がいいことが文法のあちこちから見て取れます.
    個人的な自分の使用する場面で想像される感じる欠点がほとんど無い.大変気に入りました.
    しばらくこいつでプログラムしてみようかな.

    # メタ関数的なものが容易に作れるのが大変素晴らしい.高階関数も使えて,数学的な用途にはとても便利.

    それにしても,時代的には Go lang も似た様なもののはずなんだけど,なんか随分違う匂いがする.
    なんつうか,Go lang の方が洗練度が低いような気がするなあ.私の素人考えなのでだいぶピントがずれてるだろうけど.

    • by Anonymous Coward

      Goは言語の素晴らしさじゃなくて
      環境のすばらしさ(WinでもLinuxでも簡単)とか並列処理の手軽さとかが売りの言語だから。

      • by Anonymous Coward

        なるほど~.注力しているポイントが違うんですな.
        # 並列処理の手軽さは確かに魅力的.

        • by Anonymous Coward

          Goの並列処理は、簡単なだけで洗練されているとは感じないなあ。

    • by Anonymous Coward

      goが他の今時の言語より構文面で洗練度が低いというか表現力が高くない(genericsすらない)のは意図的なもので、
      それによって言語仕様を小さくし、保守性を高くする方に寄せているのだそうです。

      参考 http://gihyo.jp/news/report/01/GoCon2014Autumn/0001 [gihyo.jp]

      Rustはgeneric functionは当然のこと、演算子のオーバーロードもあればマクロもあるので、
      言語レベルではgoとは正反対のてんこ盛り言語ですね。

      • by Anonymous Coward

        保守で苦しんだ経験が多いもので個人的にはGoの理念の方に惹かれる。というか機会があれば実戦投入すべく検証中。

        とはいえ、評価を見る限りRustはかなりよさそうですね。
        バージョンがなかなか上がらなかったのもあって触れていなかったのですがこれを機に触ってみるかな。

  • by Anonymous Coward on 2015年01月15日 12時23分 (#2743846)

    Cではない、という理由で流行ることはない。

    APIや他言語とのインターフェイスが最も充実しているのがCであり、それがすべて。

  • by Anonymous Coward on 2015年01月15日 14時23分 (#2743916)

    OOP in Rust(日本語資料です)
    http://www.slideshare.net/KENZ_gelsoft/oop-in-rust [slideshare.net]

    クラス継承はないけど、traitのmixinがあり、traitにデフォルト実装を定義できるので、インターフェイスを前面に出しつつ、実質的な継承も可能っぽいですね。
    RubyのEnumerableモジュールみたいなものが自然に実装できます。
    なんか最近、golang設計者の主張を初めとした、雑な感じのOOP否定論を耳にすることが多くてモヤモヤしていたのですが、
    RustではちゃんとしたOOPができそうで安心しました。
    golangの何がしたいのかよくわからない型システムに比べれば、ずっとよくデザインされていると感じます。

    • by Anonymous Coward on 2015年01月15日 17時44分 (#2744024)

      引用されているウィキペディアの

      http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%8... [wikipedia.org]
      > これらの機能のうち、オブジェクト指向の考え方で不可欠なのは「カプセル化」の機能だけである。

      これからして間違っているわけだが

      ふつう最も重要とされるのは動的バインディングだよ
      アラン・ケイもそう言っている

      親コメント
      • by Anonymous Coward

        カプセル化だけじゃデータ抽象化と変わらないよね。
        最近の入門書はデータ抽象化→オブジェクト指向の順に書いてあって分かりやすい。

      • by Anonymous Coward

        クラスベースのADTがOOPだと吹き込まれた連中が多いから仕方ない。

    • by Anonymous Coward

      OOPの否定って相手の範囲を拡大させて言っちゃうのが良くない、雑に感じる部分なんだと思っています。
      大体が継承を基盤としたオブジェクト指向に当てはまりますが、OOPの根幹(メッセージパッシング)に対しては少々ナイーブに過ぎる批判ではないかと。

      名前ベースの貧弱な型システムと、クラスベースのOOPを言語の根幹に入れると途端に酷いプログラムの温床になります。
      仕事した気になる小細工が沢山つくられ、3ヶ月後の自分を泣かせる原因になります。
      FizzBuzzエンタープライズ [github.com]は極端ですが、OOPを嫌う人の心理の一端に触れることができます。

    • by Anonymous Coward

      >golangの何がしたいのかよくわからない型システムに比べれば
      私は逆にgolangのアプローチの方がしっくりくるんですよね。
      別コメントにもありますがカプセル化を間違って理解されていることが多いような。

typodupeerror

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

読み込み中...