並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

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

  • 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】
              • 低レベルプログラミング(No.04:関数について)

                使用ツール:Visual Studio Community 2019 使用言語 :C言語 関数について C言語では「関数」と読んだり、他の言語では「メソッド」と読んだりしますが、特定の処理をひとまとめにして、色んな場所から呼び出す事が出来るようにしたものです。 サンプルコード 今回利用するサンプルコードは下記の様なものです。 #include <stdio.h> int plus(int x, int y) { return (x + y); } void main() { int a = 1; int b = 2; int c = plus(a, b); // 関数呼び出し } 説明の必要もないかも知れませんが、3~6行目の関数pulus()は引数x、yを受け取って、x+yの計算結果を戻り値として返します。 13行目では、前回確認したコードの「c=a+b」の「a + b」の部分をplus

                  低レベルプログラミング(No.04:関数について)
                • 開発系AIツールの探索とAI時代の「富豪的プログラミング」 - 弁護士ドットコム株式会社 Creators’ blog

                  こんにちは、CTOの@stanakaです。 年明けから2か月間、社内でさまざまなAIを活用した開発ツールを試してきました。当社ではすでにGitHub Copilotを標準的に導入していますが、他にも良いツールがあるはずだということで、エンジニアの皆さんに新しいツールを積極的に試してもらいました。 今回試した主なツールは以下のとおりです。 Cursor ChatGPT Plus, Pro Claude Pro Claude Code Cline Devin もっといろいろ試せるとよかったですが、リソースは有限なので今回はここまでとしました。取り組みの様子はブログでもいくつか紹介していますので、ぜひご覧ください。 creators.bengo4.com AIによるプログラミングの変化 社内で特にAIツールを使いこなしているエンジニアの傾向を観察すると、単一のツールに限定するのではなく、用途や状

                    開発系AIツールの探索とAI時代の「富豪的プログラミング」 - 弁護士ドットコム株式会社 Creators’ blog
                  • 「Google Chrome」のフォント処理がC/C++言語からRust言語に/「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに

                      「Google Chrome」のフォント処理がC/C++言語からRust言語に/「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに
                    • PHPerKaigi 2025 感想

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

                      • 氷河期時代に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
                          • 数百台のカメラを使う大規模イベントの撮影で色を合わせる方法

                            大規模なスポーツイベントや音楽イベントの様子を映像として記録する場合、会場のさまざまな場所に合計数十台~数百台のカメラを設置する必要があります。大量のカメラの色を合わせる方法について、プログラミング言語「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/ 大規模イベントを撮影する際には、「大型レンズを取り付けた映像専用カメラ」「防水アクションカメラ」

                              数百台のカメラを使う大規模イベントの撮影で色を合わせる方法
                            • 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
                                    • 【海外記事紹介】「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とは|歴史・主な特徴・技術詳細・今後の見通しを専門家がわかりやすく解説
                                          • マルウェア開発にリライトの波? GoやRustなど新たな言語に移行か

                                            セキュリティ研究者らは2025年3月24日(現地時間、以下同)付で公開した論文で、最新のアンチウイルスソリューションで使われているマルウェア検出手法が、その痕跡を検出し損ねる可能性があることを明らかにした。 その背景には、これらの手法が非常に厳格なシグネチャに依存しており、不審な挙動がささいなものであっても本来であれば即座に悪意があると判断されるべきシェルコードを検出できなくなるためとしている。 マルウェア開発に新たな動き GoやRustなど新たな言語に移行か セキュリティ業界はサイバー脅威に対応するため、マルウェアサンプルの収集と分析を実施してきた。2024年には1日当たり約28万件のマルウェアサンプルが報告された。静的解析はこうした悪意のあるファイルを迅速に検出する最も効果的な手段として位置付けられている。 サイバー攻撃者と防御者の間で繰り広げられる熾烈な攻防において、マルウェアの開発

                                              マルウェア開発にリライトの波? GoやRustなど新たな言語に移行か
                                            • 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

                                              • 生成AI時代に必要なシェルの基本知識とシェル芸への入門 - じゃあ、おうちで学べる

                                                はじめに 生成AIの急速な発展により、様々なAIアシスタントが日常的にシェルコマンドを提案してくれるようになりました。また、最新のAI統合ツールは、ユーザーの自然言語指示からコマンドを生成し、場合によっては自動的に実行することさえあります。このような環境では、AIが提案または実行するシェルコマンドを正確に理解し、安全に活用するための知識が不可欠となっています。 「コマンドプロンプトやLinuxなんて難しそう」「プログラミングは専門家の領域」と思っている方こそ、この記事をお読みください。AIツールを使う現代では、専門知識がなくても基本を知っておくことで安全性が大きく変わります。 本記事では、生成AIが提案するシェルコマンドを適切に評価し、安全に活用するために必要なシェルの基本知識と「シェル芸」と呼ばれる技術について詳しく解説します。難しい専門用語は極力避け、初心者の方でも理解できるよう丁寧に

                                                  生成AI時代に必要なシェルの基本知識とシェル芸への入門 - じゃあ、おうちで学べる
                                                1