並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 135件

新着順 人気順

プログラミング言語の検索結果81 - 120 件 / 135件

  • “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値 | ログミーBusiness

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

      “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値 | ログミーBusiness
    • hugoの日付書式がクソすぎる(悪いのはgo言語です) - やってみる

      yyyy-MM-dd HH:mm:ssのような書式ではなく2006-01-02 15:04:05である。この数値でなければ正しく表示されない。は? なにこれ? ひどくない? 手順 Go言語をインストールする hugoをインストールする プロジェクト作成&pulpテーマ適用 以下のように設定ファイルを編集する コード 日付の表示形式をyyyy-MM-ddに変更したい。以下のようにする。 config.toml [params] listPageDateFormat = "2006-01-02 15:04:05" singlePageDateFormat = "2006-01-02 15:04:05" 具体的な日時に見えるでしょ? これ、フォーマットなんだぜ……。 ハァ? と思うでよね? ふつうyyyy-MM-dd HH:mm:ssとか%Y-%m-%d %H:%M:%Sとか、そーゆー感じなのに

        hugoの日付書式がクソすぎる(悪いのはgo言語です) - やってみる
      • 最も電力を使わないプログラミング言語は?

        エネルギー使用量のデータは、プログラミング言語の品質について何か教えてくれるのでしょうか? 昨年、ポルトガルの3つの異なる大学の6人の研究者からなるチームがこの問題を調査し、最終的に「プログラミング言語全体のエネルギー効率」と題する論文を発表しました。彼らは、27の異なる言語で書かれた10のプログラミング問題の解答を実行し、それぞれがどれだけ電力を使用しているか、速度やメモリ使用量と同様に注意深く測定しました。 具体的には、コンピュータ言語ベンチマーク・ゲームの10の問題を使用しました。これは、パフォーマンスを比較するためのフリーソフトウェア・プロジェクトであり、単純なアルゴリズムの問題の標準セットと、テストを実行するためのフレームワークが含まれています。(以前は「The Great Computer Language Shootout」と呼ばれていました。)「これにより、コンパイル/実行

          最も電力を使わないプログラミング言語は?
        • Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?

          回答 (13件中の1件目) JIT方式は中途半端なものではありません。もちろん万能でなんでも優れているわけでもありませんが以下の利点があります。 * プログラムは単一の機械独立、OS独立の形式で配布できる(実行時に実行環境の機械語に変換できる) * 配布形式が小さくなる。マシン中立なバイナリ表現にした場合は特に。 * 全体をネイティブコンパイルするのではなく、速度にシビアに関わる最内周ループや何度も実行される場所に限ってネイティブコンパイルすることで実行に必要なメモリフットプリントを減らすことができる。 * 実行時だけわかる情報を元にした最適化やコード生成が可能。例えば、 *...

            Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?
          • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

            言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

              Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
            • 美しすぎる。神の言語といわれるLISPは、数学のように純粋で美しいロジックが展開できる言語。オシャレな LISP インタプリタ。 - Qiita

              「本記事は、技術的な視点から情報を提供することを目的としております。内容については可能な限り正確性を期しておりますが、記事内の見解は執筆者の意見や理解に基づいており、すべての方にとって普遍的な結論を示すものではありません。技術の分野は常に進化し、新たな知見が追加されることもあります。ご意見がある場合には、建設的な対話を歓迎いたしますが、批判的な意見を展開する際も、お互いの尊重を大切にしたコミュニケーションを心がけていただけると幸いです。」 タイトル: 「東京プログラマー リスプを書かずにはいられない物語」 新宿の夜景を見下ろすカフェで、主人公の大輔は、ノートパソコンに向かって静かにキーボードを叩いていた。彼は東京で働くプログラマー。コードの世界に浸り、特に最近夢中になっているのが関数型言語LISPだった。 LISPは、数学のように純粋で美しいロジックが展開できる言語。大輔は「この関数型の世

                美しすぎる。神の言語といわれるLISPは、数学のように純粋で美しいロジックが展開できる言語。オシャレな LISP インタプリタ。 - Qiita
              • Goエラーハンドリング戦略

                Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

                  Goエラーハンドリング戦略
                • COBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 レバテックラボ(レバテックLAB)

                  TOPフォーカスCOBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 立命館大学情報理工学部教授 上原 哲太郎 情報セキュリティ学者。デジタル・フォレンジック研究会会長や情報セキュリティ研究所理事を務め、官公庁のセキュリティ対策支援や、警察組織のサイバー犯罪アドバイザーなどを行う。「PHS反対運動の父」を掲げる。研究室には大量の菓子類を常備している。学生にはスナック系やブラックサンダーが好評。 公式サイト 立命館大学 研究者学術情報データベース X 「昭和100年問題」と呼ばれる年問題があります。西暦ではなく、元号である「昭和」を用いて、年の値を数字2桁固定で処理しているシステムが、COBOLなどで記述された企業や自治体の一部ソフトウェアに存在することに起因します。 当時の仕様のまま今も昭和換算で運用を続け、無理やり「2024年=

                    COBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 レバテックラボ(レバテックLAB)
                  • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 | ログミーBusiness

                    テーマは「動的型付け言語と大規模開発」まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞きたいんですけど」ということで設定されたんですね。 「動的型付け言語と大規模開発」。例えばRubyとか、Ruby on Railsとかで開発をし

                      「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 | ログミーBusiness
                    • 全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査

                      全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査 IT業界に関する調査を行っているSlash Dataは、全世界のソフトウェア開発者に関する調査結果を発表しました。 発表によると、全世界のソフトウェア開発者は合計で約4700万人。そのうち最も多く使われているプログラミング言語がJavaScriptで、約2800万人のソフトウェア開発者が利用しています。 2位がJavaで約2320万人、3位がPythonで2290万人、4位がC++で1630万人、5位がPHPで1150万人と続いています。 言語ごとの開発者の増加ペースで見ると、JavaScriptを利用する開発者はこの1年で280万人増加したものの増加ペースは鈍化。 スラッシュデータは、この鈍化はJavaScript開発者をめぐる人材市場が成

                        全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査
                      • Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜

                        エディタ支援 言語の公式がエディタ支援(LSP等)を提供しているかを示しています。 自動テスト 言語の公式が自動テスト(ユニットテスト等)を備えているかを示しています。 リンタ 言語の公式がリンタを提供しているかを示しています。 ビルドシステム 言語の公式がビルドシステムを提供しているかを示しています。 パッケージマネージャ 言語の公式がパッケージマネージャを提供しているかを示しています。 フォーマッタ 言語の公式がフォーマッタを提供しているかを示しています。 手続き型 言語のプログラミングパラダイムが手続き型プログラミングを強くサポートしているかどうかを示しています。 オブジェクト指向 言語のプログラミングパラダイムがオブジェクト指向プログラミングを強くサポートしているかどうかを示しています。 関数型 言語のプログラミングパラダイムが関数型プログラミングを強くサポートしているかどうかを示

                          Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
                        • 「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史

                          Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2025-05-30 07:00 オープンソース運動の創始者の1人であるEric S. Raymond氏は、次の言葉が有名だ。「全ての良いソフトウェアは開発者の個人的な希望から始まる」。Mozillaのソフトウェア開発者であるGraydon Hoare氏がプログラミング言語「Rust」の開発に着手したときも、まさにそうだった。 2006年、Hoare氏は自宅マンションのエレベーターがたびたび故障することを不満に思っていた。同氏は後に、「コンピューターに携わるわれわれが、故障しないエレベーターも作れないとは、ばかげた話だ」と語っている。同氏は、エレベーターが頻繁に故障する原因として、制御ソフトウェアのメモリーエラーを疑っていた。このソフトウェアは「C」または「

                            「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史
                          • アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)

                            GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) に食わせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E

                              アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
                            • プログラミング言語Rustのご紹介

                              Zli x サイバーエージェント合同LT会にて発表した内容です。

                                プログラミング言語Rustのご紹介
                              • textlint - Linterの作り方

                                [fit] textlint - Linterの作り方 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Book: JavaScript Primer アジェンダ Linterを作る人向けの話 Linterの考え方とアーキテクチャを一致させる 使うものを作ろう、作るために使おう textlint とは 自然言語(日本語や英語など)に対するLinter MarkdownやHTMLなどのマークアップ言語に対応している ビルトインのルールは0 利用できるルールは100以上ある 多くのルールはオフラインで動くので、外部に入力してる内容を送信しない CI/CDに組み込める自然言語のチェッカー(表記揺れ、スペルチェック、誤用、読みやすさのチェックなど) textlint users Translation: Angul

                                • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

                                  オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                                    Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
                                  • The Rust Programming Language 日本語版 - The Rust Programming Language 日本語版

                                    The Rust Programming Language 日本語版 著:Steve Klabnik、Carol Nichols、貢献:Rustコミュニティ このテキストのこの版ではRust 1.58(2022年1月13日リリース)かそれ以降が使われていることを前提にしています。 Rustをインストールしたりアップデートしたりするには第1章の「インストール」節を読んでください。 HTML版はhttps://doc.rust-lang.org/stable/book/で公開されています。 オフラインのときは、rustupでインストールしたRustを使ってrustup docs --bookで開けます。 訳注:日本語のHTML版はhttps://doc.rust-jp.rs/book-ja/で公開されています。 rustupを使ってオフラインで読むことはできません。 また、コミュニティによるい

                                    • 企業にとってのプログラミング言語の位置づけ - 覚書

                                      プログラミング言語の良し悪しについては昔から活発に議論されてきました。このような議論の中で企業がどのようなプログラミング言語を採用するかについて釈然としない思いをしたかたも多々いらっしゃるかと思います。典型的には「なぜ自分の会社では俺の好きな言語を採用しないのか」です。この「なぜ」の一部に回答する、かつ、そこに共感しないまでも理解してもらうのが本記事の目的です。 この手の会話は炎上しがちであり、かつ、私はそのようなことはしたくないので個々の言語の名前は挙げません。そのためやや抽象的な表現が多くなりがちですがご容赦ください。また、筆者はここで書く価値観が絶対というつもりはなく、読者のみなさま個人のプロジェクトは自分の欲望の赴くままに好きなものを使えばいいと思っています。 企業は継続的にプログラムの開発やメンテナンスをする必要があります。これを念頭に置くと、使いこなせる人が多い言語であれば複数

                                        企業にとってのプログラミング言語の位置づけ - 覚書
                                      • JavaScript エンジンの高速化

                                        これらの JavaScript エンジンのうち、以下では特に JavaScriptCore を扱います。 最適化の基本戦略 JavaScript をはじめとする動的言語は、主にインタープリタにおいて実行されます。しかし、インタープリタはコンパイルされたコードと比較して実行に時間を要するという欠点があります。そこで、インタープリタの最適化では、バイトコードの JIT コンパイルが最初に行われます。 しかし、コンパイルには当然時間がかかります。少しでも高速化されたコードを生成するには、より多くの時間をコンパイルにかけなければなりません。コンパイルによる速度向上とコンパイルのレイテンシはトレードオフの関係にあります。 そこで、多くの JavaScript エンジンは、インタープリタと多階層の JIT コンパイラの組み合わせで構成されています。次の図は、主要な JavaScript エンジンの設計

                                          JavaScript エンジンの高速化
                                        • 【第1回・後編】エンジニア和田卓人のこれからを形作る技術 | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                          『テスト駆動開発』や『SQLアンチパターン』をはじめとする技術書の翻訳者、さまざまなIT企業をわたり歩く技術顧問、さらに最近ではエンジニアリング文化を伝える講演者としても活躍されている和田卓人さん(https://twitter.com/t_wada)。 そのソフトウェアエンジニアとしての素顔を株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出す対談の後編では、現在とこれからのIT業界におけるプログラミング言語のトレンド、具体的にはRustを始めとする静的型付き言語への視座から、 ソフトウェアエンジニアとして新しい技術を学び続けるうえでの態度について語り合います。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク

                                          • 「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史

                                            Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-05-15 07:30 「Python」や「JavaScript」が学ばれるようになるずっと前、米国時間1964年5月1日の夜明け前の暗闇の中で、コンピューター史におけるささやかながら非常に重要な出来事がダートマス大学で幕を開けた。数学者のJohn G. Kemeny氏とThomas E. Kurtz氏がGeneral Electricの「GE-225」メインフレームを操作して、独自に考案した言語の最初のプログラムを実行した。その言語こそ、初心者向け汎用記号命令コード、すなわち「BASIC」だ。 BASICは最初に普及した言語ではない。その栄誉を得たのは、ビジネス分野では「COBOL」、エンジニアリング分野では「FORTRAN」だった。しかし、19

                                              「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史
                                            • 元JavaエンジニアがGoに感じた「表現力の低さ」と「開発生産性」の話 - DMM inside

                                              |DMM inside

                                                元JavaエンジニアがGoに感じた「表現力の低さ」と「開発生産性」の話 - DMM inside
                                              • Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp

                                                Linux Daily Topics Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任⁠⁠、背景に“C vs. Rust”対立に端を発したブリゲーディング 僕はもう、カーネル開発プロセスやコミュニティ管理アプローチになんの信頼も置いていない(I no longer have any faith left in the kernel development process or community management approach.)―2020年のプロジェクトローンチ以来、Asahi Linuxのリードデベロッパを務めてきたHector Martinは2月7日、Appleシリコン(ARM)コードのアップストリームカーネルメンテナーを辞任する意向をLinux開発者メーリングリストで表明した。突然の辞任の背景には、Cベースの古参メンテナーとRustコード推進派の対

                                                  Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp
                                                • 新しい言語を勉強する意味あるんだろうか…?

                                                  別に何の言語でも良いけど、とりあえず自分が手を出せそうなpythonを題材にする 恥ずかしながら、Webアプリケーションの世界しか知らないから、有効な使い道が分かっていない Pythonを使えば、スタンドアローンなアプリケーションも作れるし、コンソールベースのバッチも作れるって言うのは分かる でも、自分が思い浮かぶサービスは、ブラウザベースのアプリケーションで事足りる 例えばwebページのスクレイピングをして、その結果を分析してユーザーが見たい形式で表示するアプリケーションを作りたいとする 軽く頭の中で設計すると、分析の要件定義さえ出来れば、jsとphpとWebサーバー周りをこねくり回せば大体作れるだろうな…っていう結論にいたる 視野が狭いだけなんだろうけど、勉強するモチベーションを捻出出来ない

                                                    新しい言語を勉強する意味あるんだろうか…?
                                                  • Ruby が YJIT でなんで速くなるのか? Lazy Basic Block Versioning をサクッと理解してみた - estie inside blog

                                                    estie でソフトウェアエンジニアをしている徳永(@yTo_9)です。 estie では Ruby を書いたりTypeScriptを書いたりしています! estie 夏のブログ祭りにかこつけて、せっかくなら普段は追わない部分だけど、気になっていたYJITなるものを深掘りしてみようと思い、「YJITがなぜRailsアプリケーションの高速化を実現できたのか」を調べてみたので紹介したいと思います。 「どうせ難しいんでしょ?」と思いながら調べてみたのですが、講演や論文の説明がわかりやすく、意外に概要を把握することは難しくありませんでした。 YJIT の核となっているのは Lazy Basic Block Versioning (LBBV) という手法で、これはRubyだけに限らず動的言語全般に適用可能な強力なアプローチであることがわかりました。 「あるタイプの条件分岐は、ほとんどの場合で片側しか

                                                      Ruby が YJIT でなんで速くなるのか? Lazy Basic Block Versioning をサクッと理解してみた - estie inside blog
                                                    • Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点

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

                                                        Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点
                                                      • 「IBM COBOL for Linux on x86」発表。x86サーバ上のRHELやUbuntu Serverでz/OS互換のCOBOLコンパイルや実行を可能に

                                                        米IBMはx86サーバ上のLinux環境でCOBOL言語のコンパイルや実行を実現する「IBM COBOL for Linux on x86 1.1」を発表しました。 IBM COBOL for Linux on x86 1.1は、「IBM COBOLコンパイラファミリー」の最新製品として、IBM Enterprise COBOL for z/OSおよびIBM COBOL for AIXとの互換性を備えています。 また、Enterprise COBOL for z/OSと同じ最適化技術がIBM COBOL for Linux on x86 1.1に用いられ、コンパイラの基本的なバックエンドも共有されているため、高速な処理が実現できるとのこと。 TXSeriesのマルチプラットフォームに対応。Db2 for Linux/UNIX/Windowsに対応。Db2ファイルシステムはシーケンシャル、イ

                                                          「IBM COBOL for Linux on x86」発表。x86サーバ上のRHELやUbuntu Serverでz/OS互換のCOBOLコンパイルや実行を可能に
                                                        • WebAssembly所感

                                                          WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

                                                            WebAssembly所感
                                                          • TypeScript の型定義に凝りすぎじゃね? - Neo's World

                                                            TypeScript の型定義に凝りすぎじゃね? ここ数年で、Qiita や Zenn で TypeScript の話を見かける機会が多くなった。JavaScript には Java のような型定義がなく、初心者の混乱の元・ひいては障害の元になりうるのはよく分かる。 しかし、最近どうにもこうにも、TypeScript でむりくり型定義するような Tips を多く見かけて、疑問に思っている。たかが TypeScript に頑張り過ぎじゃね? と。 【TS】TypeScript 4.0 の新機能 - Qiita こういう新機能とか、追加されるのはいいんだけど、本当に便利なんか?と思ってしまう まず、TypeScript による型定義は単なる Linter でしかない。コードが実行される時は基本的に JavaScript に変換され、TypeScript の構文で記した型定義は消失する。コーディ

                                                              TypeScript の型定義に凝りすぎじゃね? - Neo's World
                                                            • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

                                                              Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

                                                                Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
                                                              • Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表

                                                                Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表 式言語とは一般に、プログラミング言語の一部やネットワークなどの構成ファイル、テンプレートファイルなどの中で、簡易な式やロジック、ポリシーなどを記述する際に使われる言語のことです。 こうした用途では、さまざまなプラットフォームに対応する移植性、起動時やプログラムの実行中に評価されることがあることから高速に評価が完了すること、安全に評価が実行できること、用途に応じて拡張しやすいこと、などが求められます。 CELは超高速に評価、ポータブル、サブセットサポート CELは正にこうした要件に対応した式言語となっており、Googleは次のような特徴があるとしています。 ナノ秒からマイクロ秒程度の高速な評価に最適化されている C++、Java、Goでサポートされるスタックによるポータブ

                                                                  Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表
                                                                • WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

                                                                  WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。 WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。 WASM GCはChromeのフィーチャーフラグで有効化 ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。 現在リリースされているChrome 111 Devリリースチャンネル

                                                                    WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進
                                                                  • PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】

                                                                      PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】
                                                                    • 動的型付き言語は素早くプロジェクトを立ち上げるのに向いており、静的型付き言語は長期間の保守にむいているという仮説 - kmizuの日記

                                                                      注:誤解されないように最初にこの記事の意図を書いておくと、古典的な静的型付き言語VS.動的型付き言語の論争をするつもりはありません。これまで色々なプロジェクトを観察(風聞も含む)して来たところ、そういう傾向があるのではないかという仮説です。それと、文脈として主にWebアプリケーション開発する時のことを想定しており、それ以外のケースはいったん脇に置いています。WebアプリケーションだとPHP(動的型付き言語)の方が圧倒的に事例多いのではという感想もありそうですが、その辺りを考え出すと話がこんがらがるので、これもいったん脇においています。 たとえば、色々な事例を見聞きするに、スタートアップ企業において動的型付き言語であるRubyのWebアプリケーションフレームワークであるRuby on Rails(RoR)は好まれる傾向にあります。近年のPythonの動向はさておき、未だにRoRの求人がかなり

                                                                        動的型付き言語は素早くプロジェクトを立ち上げるのに向いており、静的型付き言語は長期間の保守にむいているという仮説 - kmizuの日記
                                                                      • Pythonが教育用途において十分だという話

                                                                        Pythonが教育用途において十分だという話 今話題のPythonを教えている現役の講師です。Pythonを教える際に重視すべきだと考えている機能等について書いておきます。 dataclass / Pydantic 自分は型ヒントよりもdataclassやPydanticを使った型付けを重視しています。いわゆるクラスベースな言語の書き方が大事だと考えています。 dataclass Pythonは動的型付け言語であり、interface相当の機能すらclassの構文で書く変わった言語です。近年Pythonの型ヒントは少しづつ充実してきていますが発展途上であることは否めないですし、何より実行時にその型であることは保証されないので、dataclass等を使った開発スタイルが依然強力だと考えています。 Python+TypeScriptというようなスタックを使う際には両言語の差に混乱するでしょう。

                                                                          Pythonが教育用途において十分だという話
                                                                        • マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに

                                                                          マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに マイクロソフトは、.NETでサポートする3つのプログラミング言語「C#」「F#」「Visual Basic」の今後に関する戦略を、最新版にアップデートしたことを明らかにしました。 下記はマイクロソフトで.NETのプリンシパルプログラムマネージャを務めるKathleen Dollard氏のツイート。 We've updated our .NET Language Strategy. You can read more and get the links here: https://t.co/SsmZJBSEUA — Kathleen Dollard (@KathleenDollard) February 6, 2023 最新版の戦略はこれま

                                                                            マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに
                                                                          • これから流行る言語 | 雑記帳

                                                                            新言語にできることはまだあるかい なんとかWIMPS 最近(1ヶ月くらい前)、こんな記事が出ました: 新しいプログラミング言語が出てこない(新しく出てた言語を追記) – きしだのHatena Kotlin, TypeScript, Rust, Swift以降にみんなが話題にするような新しい言語が出てこない、それはなぜか、みたいな趣旨です。客観的に見れば「新しい言語は常に出続けている」わけですが、「みんなが話題にするような」というのが多分曲者なんでしょうね。 例え話をすると、新しい若木は常に生えてきているんだけど、大木に成長するには時間がかかるので、大木にしか興味のない人には「この8年間で新しい大木は登場していない」と判断してしまうのかもしれません。 まあ私としても、Web (HTTP) APIを書く言語とか、JSON色付け係が使う言語はもう出揃ってしまったのかもしれないという気はしなくもな

                                                                            • Java 30周年記念! Javaの30年をふりかえる

                                                                              JJUG CCC 2025 Spring 発表資料

                                                                                Java 30周年記念! Javaの30年をふりかえる
                                                                              • Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ

                                                                                先月、国内最大のセキュリティ研究会であるコンピュータセキュリティシンポジウム 2020(CSS 2020)が開催され、そこで、Rust言語を用いてファームウェア、OS、言語処理系を設計・実装した話を発表しました。本来、CSS 2020はリアルで開催されるはずでしたが、コロナ禍の影響でオンライン開催となり発表動画作成が求められました。せっかく作った動画をこのまま捨て置くのももったいないと思い、ここで供養したいと思います。 www.youtube.com 概要 内容は、Rust言語を用いて、AArch64のセキュアワールド内で動作するファームウェア、OS、プログラミング言語処理系を実装した話となります。と言っても、まだまだ基本的な部分しか実装しておらず、実現目標に対して2〜3割と言ったところですが、どうぞご笑覧ください。 ブート部分は多少アセンブリ言語を使っていますが、その他の部分はRustで

                                                                                  Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ
                                                                                • MoonBit が WebAssembly 時代の理想(の原型)だった

                                                                                  最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

                                                                                    MoonBit が WebAssembly 時代の理想(の原型)だった