並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 25 件 / 25件

新着順 人気順

C言語の検索結果1 - 25 件 / 25件

  • IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?

    はじめに 組み込みソフトウェア開発の世界では、プログラミング言語の選択が製品の品質、開発効率、そして長期保守性に大きな影響を与えます。近年、メモリ安全性や並行処理の安全性を強みとするRust言語が様々な分野で注目を集め、採用が進んでいます。Webバックエンド、システムプログラミング、そしてLinuxカーネルのような重要なプロジェクトでもRustの導入が進んでいるにもかかわらず、組み込み開発の現場では依然としてC言語が主流であり続けています。本稿では、最新の安全な言語であるRustが、なぜ組み込み開発において広く採用されず、数十年の歴史を持つC言語が今なお主要な選択肢であり続けているのか、その技術的・実務的な要因を詳しく検討します。 1.ヒープを使わない開発が多いのでRustの本領が発揮されない 組み込み開発では、動的メモリ管理を避ける設計が一般的です(ヒープを使わない)。 Rustの特徴で

      IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?
    • マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開

      マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開 Hyperlightはマイクロゲストを実現するライブラリ Hyperlight Wasmの基盤となるHyperlightは、仮想化ハイパーバイザ上にマイクロゲストを作成するライブラリソフトウェアです。 そもそも仮想化ハイパーバイザでは一般に、ホストとなる仮想化ハイパーバイザ上にゲストとなる仮想マシンが作成され、その仮想マシン内でOSが実行され、OS上でアプリケーションが実行される、という階層構造になっています。 仮想マシンやOSなどから構成されるこうした階層構造のおかげで、アプリケーションの実行環境の互換性が保たれるわけですが、一方でこれはコンピューティングリソースの面ではオーバーヘッドであり、アプリケーションが起動するまでの時間もかかります。 Hyp

        マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開
      • 抽象化のもれる穴が小さくなる - 西尾泰和の外部脳

        「コンパイラが間違ってることを疑ってコンパイラの出力した機械語をチェックすること」と「人間が間違ってることを疑ってC言語の記述をチェックすること」の期待リターンが後者の方が高くなる 「LLMが間違ってることを疑ってLLMの出力したソースコードをチェックすること」と「人間が間違ってることを疑ってLLMに与えた自然言語の記述をチェックすること」だと2025年3月現在はまだ前者の方がリターンが大きそう

          抽象化のもれる穴が小さくなる - 西尾泰和の外部脳
        • 25/3/16 タネンバウムの『コンピュータネットワーク』を読んでワンランク上の現代人になった - LWのサイゼリヤ

          タネンバウム『コンピュータネットワーク』 技術者、学生必読の伝説的名著の最新版らしい 回線張り直したくないから技術でどうにかしてよ ルーティングするなら金をくれ 帯域利用効率13%……カスです 問:暴力団員と国際標準を交配すると何が生まれるか? あなたの敵がMossadなら、あなたは死ぬでしょう 応用情報の取得が……できるなら 人生に残る名著 タネンバウム『コンピュータネットワーク』 ここ1ヶ月くらいタネンバウムの『コンピュータネットワーク』(第6版)をずっと読んでいた。 コンピュータネットワーク第6版 作者:アンドリュー・S・タネンバウム,ニック・フィームスター,デビッド・J・ウェセラル日経BPAmazonAmazonの書影で見てもわかりにくいが、技術書としては最大級に重厚な本である。23.4 x 17.8 x 4.1cmという辞書クラスのサイズ、手近にあった宗教学辞典より大きい。紙版で

            25/3/16 タネンバウムの『コンピュータネットワーク』を読んでワンランク上の現代人になった - LWのサイゼリヤ
          • UEFI ブートキット入門 - FFRIエンジニアブログ

            はじめに 基礎技術研究部の松尾です。 PC やサーバーの電源を入れた際、まずはじめに実行されるのが Basic Input/Output System (BIOS) というシステムファームウェアです。 もし BIOS が攻撃者に乗っ取られたら、その後に起動される OS 等を好き勝手に改ざんできる事になります。 この、BIOS に感染するマルウェアの事を「ブートキット (Bootkit)」と呼びます。 そこまでして感染させる必要があるのかと思う方も多いと思いますが、ブートキットは机上の話ではなく、数は少ないものの実際に観測されている脅威です。 確かに民間企業を狙うマルウェアであれば、BIOS まで狙うのはオーバーキルだと思います。しかし、安全保障に関わる領域、クラウドや Trusted Execution Environment (TEE) 等のハイパーバイザーベースのセキュリティが絡む領域

              UEFI ブートキット入門 - FFRIエンジニアブログ
            • なぜこれまでなかった? C言語の公式ホームページが新たに公開、テキスト中心の簡潔な内容【やじうまWatch】

                なぜこれまでなかった? C言語の公式ホームページが新たに公開、テキスト中心の簡潔な内容【やじうまWatch】
              • 「Google Chrome」のフォント処理がC/C++言語からRust言語に/「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに

                  「Google Chrome」のフォント処理がC/C++言語からRust言語に/「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに
                • C++創始者Stroustrup氏、メモリ安全性向上へ緊急行動を呼びかけ - イノベトピア

                  2025年3月2日、C++言語の創始者Bjarne Stroustrup氏が、C++言語を「深刻な攻撃」から守るため、C++コミュニティに支援を呼びかけた。 背景には、過去数年間でサイバーセキュリティ機関や技術専門家がC/C++のメモリ安全性の欠点を指摘し、Rust、Go、C#などの代替言語の使用を推奨してきたことがある。 2024年10月、米国サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は、2026年1月1日までにメモリ安全でない言語を使用している製品のメーカーに対し、メモリ安全性のロードマップ作成か、メモリ安全な言語への移行を求めるガイダンスを発表した。 Stroustrup氏は2025年2月7日に「C++標準委員会(WG21)へのノート」を発表し、Profilesと呼ばれるメモリ安全性フレームワークを提案した。 一方、TrapCプロジェクトを主導するRobin

                  • 【海外記事紹介】新たなC言語拡張コンパイラ「TrapC」が発表 — ガベージコレクトなしでメモリ安全なC/C++を目指す

                    3月1日、海外のテクノロジーメディアInfoWorldが「TrapC proposal to fix C/C++ memory safety」と題した記事を公開した。 3月1日、海外のテクノロジーメディアInfoWorldが「TrapC proposal to fix C/C++ memory safety」と題した記事を公開した。 この記事では、TrapCが提案するC/C++のメモリ安全性向上に関する取り組みについて詳しく紹介されている。以下に、その内容を紹介する。 TrapCとは、C言語の拡張コンパイラであり、最も重要な特徴はメモリ安全であることだ。TrapCのメモリ管理は自動化されており、メモリリークが発生しない設計だとされる。ポインタはガーベジコレクションではなく、オブジェクトのライフタイムを管理する仕組みを採用している。 言語としては、C言語をベースとしたいくつかの拡張が行われて

                      【海外記事紹介】新たなC言語拡張コンパイラ「TrapC」が発表 — ガベージコレクトなしでメモリ安全なC/C++を目指す
                    • RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社

                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: So You Want To Remove The GVL? | byroot’s blog 原文公開日: 2025/01/29 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 GVLは「グローバルVMロック」の略ですが、「ジャイアントVMロック」とされることもあります。 参考: Rubyの(グローバル)VMロックをトレースする(翻訳) 参考: スレッド (Ruby 3.4 リファレンスマニュアル) 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかし

                        RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社
                      • PHPerKaigi 2025 感想

                        PHPerKaigi 2025 day1 - day2 に参加しました。これまで観た各トークセッションの感想です。順序はタイムテーブル順。 今後アーカイブで観た分は、Xのメンションで感想をお送りするかもしれません。優先的に見るべきセッションがあれば自薦他薦を問わず是非教えて下さい。 PHPによる”非”構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- (資料) by きんじょうひでき逆説的に「普段の開発で避けるべきこと」を知る 使う: gotoや標準関数は使う プロポーザルの時点で、聴くことを決めていた。 1年ほど前から読んでいるPHP自体のソースコードでgotoが多く使われている。世界最高峰のプログラマーが集まるリポジトリで「過去の遺産」と言える書き方が出てくることに驚いたが、詳しい人に聞いても、どうやらそれが「ベストな書き方」のようだ。該当の箇所をgotoを使わず書き直し

                        • オレがサンクコストを捨てまくってきた話(その2)|GOROman

                          免責事項 この文章はAIを使わずに人間(GOROman)が書いたので誤字脱字が多いです。読みにくい点などございますがバイブス感を大事にしたいためご了承ください。 Human Vibe Writing 1993年 このままパソコンやってたら女子にモテなくなると思い、全てプログラミングもパソコンをやめる。金もないし、下宿先に電話回線もないのでパソコン通信もやめる。全ての過去と友人の連絡を断つw リセットだw 唯一おばあちゃんは葉書くれてたw ワンダーフォーゲル部になぜか入部。ワンゲルに入った理由は最初に入学後に声をかけてくれたナイスガイの勝野くんがワンゲルに入りたいと言ってたからだけ、彼はどう見てもパソコンとかやってなさそうなイケメンでスポーツマンだったが、まさかのプログラミング特技推薦で入っていた。ファミリーベーシックは持っていたらしい。 「インターネットの時代が来る!」と確信して進学したの

                            オレがサンクコストを捨てまくってきた話(その2)|GOROman
                          • 氷河期時代にITエンジニアになりたかったけど「工場の方なら入れるよ」と言われ工場作業員の面接中にそこの社長が入ってきて、結果的に就職浪人する事になった話

                            Fラン社畜 @fran_syatiku ワイは氷河期時代に学校サボってプログラムしてて バイトで見つけた会社でプログラム書くようになって そのままその会社に就職して 工場で働く同級生とかの辛さとか低賃金とか首になった話とか聞いて 「あれは俺には無理だ、他に選択肢なくプログラマになったけど、結果オーライたな」とか思ってた x.com/ebiebi_pg/stat… 2025-03-12 11:55:48 hiroyan360@さいばーすてぃっく(/・ω・)/ @hiroyan360 氷河期なのにゼミ等の諸事情で就職活動スタートが遅れて、何社か落ちて途方に暮れてたところ、一社だけC言語の経験だけで内定貰い、入社後マナー研修1ヶ月だけでいきなり炎上現場に放り込まれ、Win3.1とMacOS7とUNIXのプログラム改修に追われることに。 (:3_ヽ)_ x.com/ebiebi_pg/stat…

                              氷河期時代にITエンジニアになりたかったけど「工場の方なら入れるよ」と言われ工場作業員の面接中にそこの社長が入ってきて、結果的に就職浪人する事になった話
                            • BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation

                              PHP 8.4では、BCMathにオブジェクトAPIの追加と処理の高速化という大きなアップデートが行われました。このトークでは、BCMathの処理速度向上について詳しく解説します。まず、従来のBCMathが「なぜ遅かったのか」を明らかにし、その問題点を具体的に説明します。その後、新しいコードの改善点や実…

                                BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
                              • 【海外記事紹介】「C++の生みの親」Stroustrup氏が、ついにメモリ安全性に関する議論に参戦 — C++コミュニティの衰退に強い危機感

                                3月3日、海外のテクノロジーメディアThe Registerが「C++ creator calls for action to address 'serious attacks'」と題した記事を公開した。この記事では、近年C++言語がサイバーセキュリティ界から厳しく批判されるようになった背景と、それに対してC++の創始者であるBjarne Stroustrup氏が危機感を示して呼びかけを行った点について詳しく紹介されている。 以下に、その内容を紹介する。 近年、C++はメモリ管理をプログラマが手作業で行う仕様ゆえに、メモリ安全性の問題で批判を受けてきた。特にシステムへの深刻な侵害や脆弱性の多くがメモリ関連の不具合に起因していることから、サイバーセキュリティの専門家や各国政府機関は、Rust、Go、C#、Java、Swift、Python、JavaScriptなど、メモリ管理がより安全に行え

                                  【海外記事紹介】「C++の生みの親」Stroustrup氏が、ついにメモリ安全性に関する議論に参戦 — C++コミュニティの衰退に強い危機感
                                • Lisp、Haskell、Rustでマルウェア開発:検出回避に利用されるマイナー言語の脅威 - イノベトピア

                                  Last Updated on 2025-03-31 12:59 by admin ギリシャのピレウス大学とアテナ研究センター、オランダのデルフト工科大学の研究者らが、マルウェア作成者が検出回避のために一般的でないプログラミング言語を使用する傾向について調査した結果を発表した。 研究者チームはTheodoros Apostolopoulos、Vasilios Koutsokostas、Nikolaos Totosis、Constantinos Patsakis、Georgios Smaragdakisらで構成されている。 彼らの論文「趣味と利益のための奇抜なプログラミング言語によるマルウェアのコーディング」によると、マルウェア作成者は静的解析による検出を回避するために、DelphiやHaskell、Rust、Nimなどの一般的でない言語を使用している。アンチウイルス評価機関AV-TESTに

                                    Lisp、Haskell、Rustでマルウェア開発:検出回避に利用されるマイナー言語の脅威 - イノベトピア
                                  • Ubuntu 25.10でのcoreutilsのRust置き換え、pluckyの開発; ベータへ向けて、Jetson向けオフィシャルイメージ | gihyo.jp

                                    Ubuntu Weekly Topics Ubuntu 25.10でのcoreutilsのRust置き換え⁠⁠、pluckyの開発; ベータへ向けて⁠⁠、Jetson向けオフィシャルイメージ Ubuntu 25.10でのcoreutilsのRust置き換え 「Ubuntuらしい」チャレンジングな試みが開始されます。Jon Seagerによる『酸化』の試みのDiscourse上のポスト[1]では、coreutilsをRustベースの新実装であるuutilsで置き換え、可能であれば25.10でデフォルトにし、26.04 LTSでも同様にデフォルトとする方向が示唆されています。 coreutils(GNU core utilities)はLinuxシステムにおける基本的なコマンド群で、lsやmvやrm、cp、chownなどなど、「⁠コマンドライン操作では必ず利用する」ツールキット群です。これを別

                                      Ubuntu 25.10でのcoreutilsのRust置き換え、pluckyの開発; ベータへ向けて、Jetson向けオフィシャルイメージ | gihyo.jp
                                    • 「インタプリタは機械語に翻訳する」という誤解 | 雑記帳

                                      プログラミング言語のインタプリタの説明で「逐次機械語に翻訳する」という説明を見かけることがある。ググればそういう説明がたくさん出てくるので具体例は割愛する。 しかし、「機械語に翻訳する」という説明は好意的に言えば「誤解を招く言い方」で、率直に言うと「デタラメ」である。 そういう説明を書く人は、自分でインタプリタを書いたことがあるのだろうか?誰かが書いた間違った説明文をそのまま引き写しているのだろうか? もちろん、世の中にはJITコンパイルする言語処理系もあるが、それはインタプリタのように使えたとしても「コンパイラ」なのではないか。 機械語に翻訳しなくてもプログラムは実行できる 「逐次機械語に翻訳する」という説明を書いた人は「プログラムを実行するのだから機械語を生成しているのだろう」と考えたのかもしれない。これは間違った推論だ。 重要な事実として、機械語に翻訳しなくてもプログラムは実行できる

                                      • 2064年もエンジニアで稼ぎ続けるには Python歴20年のベテランが語る、生成AI時代のキャリア戦略 | ログミーBusiness

                                        フューチャー株式会社(フューチャーアーキテクト株式会社)の講演では、シニアアーキテクト渋川氏と若手コンサルタント大岩氏が、IT業界の現状と未来について語りました。Python歴20年の渋川氏は、生成AIの台頭や若手エンジニアの活躍を踏まえながら、2064年までITで仕事を続けるためのキャリアプランを提示。特にドメイン知識とプログラミング知識という2つの観点から、今後のIT技術者に求められるスキルと生存戦略について具体的に解説しました。 Python歴20年のシニアアーキテクトと若手コンサルタント渋川よしき氏(以下、渋川):はい。それでは始めたいと思います。私からは「2064年もITで仕事をし続けるためのキャリアプラン」というタイトルで発表します。私はフューチャーの渋川と申します。 まず、お前誰よということですけれども。現在、社会人歴20年ぐらいですかね。大学は電気電子の専門だったんですけど

                                          2064年もエンジニアで稼ぎ続けるには Python歴20年のベテランが語る、生成AI時代のキャリア戦略 | ログミーBusiness
                                        • 数百台のカメラを使う大規模イベントの撮影で色を合わせる方法

                                          大規模なスポーツイベントや音楽イベントの様子を映像として記録する場合、会場のさまざまな場所に合計数十台~数百台のカメラを設置する必要があります。大量のカメラの色を合わせる方法について、プログラミング言語「Elixir」の公式ブログに解説記事が掲載されています。 Cyanview: Coordinating Super Bowl's visual fidelity with Elixir - The Elixir programming language https://elixir-lang.org/blog/2025/03/25/cyanview-elixir-case/ Cyanview – Shade anything anywhere https://www.cyanview.com/ 大規模イベントを撮影する際には、「大型レンズを取り付けた映像専用カメラ」「防水アクションカメラ」

                                            数百台のカメラを使う大規模イベントの撮影で色を合わせる方法
                                          • 【海外記事紹介】「Python 3.14のインタープリタは10〜15%高速」は誤っていた?その裏側を解説したブログ記事が話題に

                                            注目すべきは、clang-19によるビルドがclang-18に比べて約9~12%ほど遅くなっている点だ。一方tail-callインタープリタはclang-18よりやや速いか、あるいはほぼ同等の速度を示す。つまり、clang-19同士で比較すると大きな速度改善とも言えるが、clang-18と比較すると当初の「10~15%高速化」という数字ほどの大きな改善ではないことがわかる。 LLVM 19における問題 こうした結果を引き起こしたのは、LLVM 19のある特性だ。 クラシックなバイトコードインタープリタは以下のような構造を持つことが多い。 while (true) { opcode_t this_op = bytecode[pc++]; switch (this_op) { case OP_IMM: { // push an immediate onto the stack break; }

                                              【海外記事紹介】「Python 3.14のインタープリタは10〜15%高速」は誤っていた?その裏側を解説したブログ記事が話題に
                                            • AI Coding Agent 時代の Scala

                                              Tweet / Photo allowed. This work by Windymelt is licensed under CC BY-SA 4.0 class: center, middle # AI Coding Agent 時代の Scala <time itemprop="datePublished" datetime="2025-03-14">2025-03-14</title> Scala わいわい勉強会 #5 `id:Windymelt` --- # Windymelt - [Windymelt](https://www.3qe.us/)です - 全宇宙でこの ID を使っています - mixi2 もやってるよ - GitHub, X/Twitter, etc... - PGP: `F2FC 63C2 42C0 4D9D` - 2016- [株式会社はてな](https:

                                              • MIL-STD-1553とは|歴史・主な特徴・技術詳細・今後の見通しを専門家がわかりやすく解説

                                                5. 技術特徴 ―――技術的な特徴について教えてください。 **岡田さま** MIL-STD-1553について、構造的な特徴と通信の特徴に分けてご紹介します。 5-1. 構造 MIL-STD-1553の特徴として、バス・コントローラ(BC)・リモート・ターミナル(RT)・モニタ(MT)と呼ばれる3種類の役割を担った機器で構成されています。 <構成> MIL-STD-1553は、通信の司令塔として存在するバス・コントローラ(BC)、BCからのコマンドを受けて通信をおこなうリモート・ターミナル(RT)、そして通信状態を監視できるモニタ(MTまたはBBM(バックアップ・バス・モニタ))で構成されています。BCは1端末のみで、RTは必ずBCからの命令を受け取って通信をおこないます。 BC(Bus Controller):バス・コントローラー すべての通信を司る RT(Remote Terminal

                                                  MIL-STD-1553とは|歴史・主な特徴・技術詳細・今後の見通しを専門家がわかりやすく解説
                                                • never型があると便利か(言語処理系実装者の観点から) | 雑記帳

                                                  TypeScriptをはじめとするいくつかのプログラミング言語には、never型という型がある。この型は典型的には「制御を返さない関数」の返り値として使われる: function f(x: string): never { console.error(x); throw new Error(); } never型は型システム的には「値を持たない型」「任意の型の部分型」として特徴づけられる。 他のプログラミング言語、例えば私が作っているLunarMLにもnever型があると便利だろうか? 前提:部分型はゼロコストで変換できて欲しい これは私の意見だが、部分型から上位型へはゼロコストで変換できて欲しい。例えば Sub <: Super という関係があった時に、Sub 型の値をゼロコストで Super 型へ変換できて欲しいのはもちろん、関数型についても A -> Sub から A -> Supe

                                                  • 知ったかぶりエンジニアの憂鬱 ~最新技術や用語との戦い~:エンジニア同盟:エンジニアライフ

                                                    エンジニア歴が長くなると、年々増えていくのが「新しい技術のキャッチアップ」と「知ったかぶり力」だ。いや、知ったかぶりを推奨するわけではない。 しかし、最新技術の話題が飛び交う現場で、「それって何ですか?」と聞く勇気が持てないタイミングもありますよね。 毎年繰り返される「知らない技術」の洗礼 新しい技術、ツール、プログラミング言語、フレームワーク......。IT業界では毎年のように新しい単語が生まれる。昨年は「Web3」、一昨年は「ゼロトラスト」、その前は「マイクロサービス」......と、まるで流行のファッション用語のように新しい概念が飛び交う。 そして、新しい技術が話題になったとき、運悪くそのタイミングでトイレに行っていたり、集中して作業していたりすると、その技術について初めて知るタイミングを逃してしまう。こうなると、知ったかぶるしかないのだ。「ああ、あれね。最近話題ですよね」と言いつ

                                                      知ったかぶりエンジニアの憂鬱 ~最新技術や用語との戦い~:エンジニア同盟:エンジニアライフ
                                                    1