タグ

プログラミングとRubyに関するUhoNiceGuyのブックマーク (10)

  • まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」

    プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。3回目は、「Second System Syndrome」について。前回はこちら。 退屈は最大の敵 まつもとゆきひろ氏:次はPerlですね。ここまでですでに4回ぐらいPerlの話題が出てきています。なぜかというと、私はPerlが大好きなんですね。実は、Perlが大好きなんですが、Perlのプログラミングは大好きじゃないんですね。あと、Perlのソースコードも大好きじゃないんですね

    まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」
    UhoNiceGuy
    UhoNiceGuy 2024/01/13
    ただ、2000年代初頭と今は状況が違っていると思う。あの頃のOSSは勢いのあるベンチャーが使うものだったが、今ではJTCも普通に使っているのでOSSに求められるものも変わってきたのでは
  • 関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由

    技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日最大のオンラインカンファレンスです。「技育祭2023【春】」に登壇したのは、Ruby開発者のまつもとゆきひろ氏。プログラミングの体験の中で実感した、ことわざや格言について話しました。全4回。1回目は、「名前重要」について。 日プログラマーで最も有名なRubyの生みの親 まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。 今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。 まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっ

    関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由
    UhoNiceGuy
    UhoNiceGuy 2023/08/16
    例えばArrayにlengthとsize、同じ機能のエイリアスがある等、Rubyはめちゃくちゃ名前に気を使っている
  • Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた

    Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた まつもとゆきひろ氏によって開発が始まったRuby言語の30周年を祝うイベント「プログラミング言語Ruby30周年記念イベント」が2月25日にオンラインで開催されました。 イベントでは関係者やRuby愛好家らによる過去30年の振り返りやRubyにまつわるライトニングトークなどが行われ、最後にまつもとゆきひろ氏による基調講演「D is for Dream, V for Vaporware」が行われました。 基調講演では、Rubyを開発する前にまつもと氏が手がけた、Rubyの原点となるソフトウェア「CXライブラリ」や、今回初めて名前が明かされた「Tish」という作りかけのプログラミング言語や、これまであまり語られることのなかった、さらにその前の学生時代に妄想していたプ

    Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた
    UhoNiceGuy
    UhoNiceGuy 2023/03/03
    プロファイルを取って最適化手法を変えるという話か//型情報を追加できる動的言語の方がもしかして最適化に有利かも、とのことだが、そのアプローチは静的言語でも本質的には取れるのでは//subset Rubyは期待
  • “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値

    プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Ruby歴史・これからについて語りました。全5回。1回目は、Rubyの価値を形作る、Productivity・Community・Joyについて。 オフラインでも開催された「RubyKaigi 2022」 まつもとゆきひろ氏(以下、まつもと):おはようございます。 会場:おはようございます。 まつもと:声が小さい(笑)! (会場笑) まつもと:おはようございます! 会場:(さらに大きく)おはようございます! まつもと:あぁ、いいですね、物理会場は。おはようございます。15分ほど遅れましたけれども、2日目を始めたいと思います。 昨日のカンファレンスはどうでした

    “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値
    UhoNiceGuy
    UhoNiceGuy 2022/12/13
    RubyはSmallTalk的オブジェクト指向で文法の例外がなく、チグハグがなく統一されていて凄く使って楽。考えなきゃいけないことが少ない。最近Pythonばっかだけど//SmallTalkみたいで楽ってSmallTalkってどんだけすごかったんだろう
  • Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点

    プログラミングの学習を始めようとする人がする定番の質問がある。「どのプログラミング言語を選べばいいか」というものだ。 私はこのコラムで以前、JavaScriptからプログラミングを始めてはどうかと書いた。JavaScriptはWebブラウザーさえあれば動作するからだ。例えば「Chrome」であれば、F12キーを押して「Console」タブを選ぶだけで、JavaScriptの対話実行環境を利用できる。 関連記事: 保存していないクレジットカード情報が漏洩する謎、鍵はあのプログラミング言語 もっとも、JavaScriptは最初に学ぶ言語としては少し癖が強いとも感じている。どちらかというと、2番目か3番目に学ぶことで視野が広がるタイプの言語ではないだろうか。 私が初心者に勧めるとしたら候補は2つある。「Ruby」と「Python」だ。 私がRubyを勧める理由は、「プログラミングの楽しさ」を体験

    Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点
    UhoNiceGuy
    UhoNiceGuy 2022/01/14
    記事は読んでない。Pythonのライブラリが凄いのもあるが、RubyはWindowsで気楽に始められないんだよね(だよね?)。なので、他人に勧められるのがPythonになる。自分が使っているのはRubyなのに(自分はマカー)
  • Railsの未来についての一考察 - okuramasafumiのブログ

    概要 前置き この記事はRails Advent Calendar 2020の15日目の記事です。昨日はnegito6さんの忙しい人のための Rails デバッグ方法まとめでした。 動機 うなすけさんのRailsを主戦場としている自分が今後学ぶべき技術について(随筆)という記事と、それに対するmizchiさんのアンサーブログ、Re: Rails を主戦場としている自分が今後学ぶべき技術についてに触発されて書いています。 お断り この記事ではRails技術的な側面を意図的に重視していません。というのは、私がRails以外の技術についてそこまで詳しくないため比較するのが困難だからです。 また、ふわっとした話題を扱うということもあり、どうしても書き方が推測多めになってしまっています。これは私の知見と経験の少なさによるものです。 編 アプリケーション開発のマトリックス いきなりですが、アプリケ

    Railsの未来についての一考察 - okuramasafumiのブログ
    UhoNiceGuy
    UhoNiceGuy 2020/12/17
    Webで使われてる静的言語ってなんだろ。Java、C#、Scala?//CookPadだけでなくGitHubもRailsなんだ!
  • Rubyと型についてのポエム - まめめも

    zenn.dev matz はじめコミッターの型に対する姿勢にも疑問を持っています。 というご意見が自分に刺さった気がしたので、他の話題はともかくこの点に関してだけ、ポエムを書きます。 「Rubyに型が欲しい」というのは、「もっと速い馬が欲しい」だと思っています。意味を知らない人は ヘンリー・フォード もっと速い馬が欲しい で検索してください。 これは批判でも皮肉でもありません。みんなが馬の乗り方を知っている世界では、誰も乗り方を知らない自動車より、速い馬のほうが確実で合理的です。まして、自動車が当に実現できるかどうかわからない段階では。なので、他言語で型注釈を書くことによるプログラミング体験が良いと思った人が、それをRubyでも享受したいと思うのは自然だと思います。実際、Steep や Sorbet は Ruby でそういうプログラミング体験を提供することを目指していて、すでにある程度

    Rubyと型についてのポエム - まめめも
    UhoNiceGuy
    UhoNiceGuy 2020/12/15
    おっ、Rubyにも型解析機能が入るのか。進歩してるなぁ
  • RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ

    こんにちは、Webチームの柴山(@shikeapp0909)です。 今回は、弊社Webアプリ「mamanoko」の一部に処理高速化のためにGoを導入したので、どのように導入したかをご紹介しようと思います。 Railsで開発しているWebアプリ内にどのようにGoを取り入れたのか、実際のコード例を交えながら解説していきたいと思います。 なぜRails環境にGoを導入したのか そもそもなぜGoを導入することになったのかと疑問に思われるかと思います。 mamanokoはメディアサービスのため、ライターさんに文章を書いていただいています。複数のライターさんがおり、文章量も膨大になるため、表記揺れや誤字がどうしても出てきてしまいます。 そのため、文章校正が必要であり、以前からその機能を提供していました。 しかしこの文章校正の機能は記事の文章に対して表記揺れなどチェックしたい単語を総なめする処理をしてい

    RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ
    UhoNiceGuy
    UhoNiceGuy 2018/06/29
    校正って記事を書き上げたときに一回だけでしょ?1分程度の時間がサーバ負荷の問題になるなんてどんだけ記事を入稿しているんだろう。
  • 状態管理用の変数をインスタンスに持たせるなこのタコって話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    たとえば、今、「ユーザーが方向を入力したらプレイヤーが動くゲーム作りたい」みたいなはなしがあるとする。その場合、モデルクラスはまあシンプルな実装として下のようなものが考えられると思う。 「できたよー」って見せにいったら、今度は「あのさー、『高速移動モード』っていうモード欲しいんだよね。そのモードだと二倍速で動くの」って言われたとする。シンプルにやるとこうなりますね。 「できたよー」って見せにいったら、今度は「なあ、すげえ面白いこと考えたんだけど、『蟹モード』って面白くない?横は4倍速で動くんだけど縦は半分の速度で動くの」とか言われたわけです。あなたは「お、おう」と言って、以下のようにコードを修正しました。 これ、ヤバい感じしますね。破滅の匂いがする。「今度は『よっぱらいモード』欲しいな〜。入力に関係なくランダムに動くの」みたいなこと言われたら確実に複雑さが爆発してメンテ不能になりになり死

    状態管理用の変数をインスタンスに持たせるなこのタコって話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    UhoNiceGuy
    UhoNiceGuy 2013/02/10
    あくまで説明用の例だとしてもcase-whenの山が気になるw(<--悪意はないよ、自分がパラノイアという意味)/MovinModeがインスタンスを持つことがないんならnewせずにクラスメソッドとか。説明のためだろうけど/個人的にはlambda
  • Rubyで点数を集計するとき、あなたはどうしてますか?

    ─ 問題 ─ 5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をそれぞれ3回ずつプレイした結果のデータdataがある。 data =<<EOS player gameA gameB Bob 20 56 Ross 68 33 Bob 78 55 Kent 90 15 Alice 84 79 Ross 10 15 Jimmy 80 31 Bob 12 36 Kent 88 43 Kent 12 33 Alice 90 32 Ross 67 77 Alice 56 92 Jimmy 33 88 Jimmy 11 87 EOS

    UhoNiceGuy
    UhoNiceGuy 2013/01/24
    自分だったら細かいとこ雑にするとstep2: scores.each{|elm| name=scores0;sums name = 足す処理(sums name, elm)} でstep4かな
  • 1