タグ C言語
人気順 10 users 50 users 100 users 500 users 1000 usersPyTorchやPythonなしの純粋なC言語を使用した大規模言語モデルトレーニングツール「llm.c」がリリースされる
AIの本体と言える大規模言語モデル(LLM)のトレーニングはほとんどの場合PyTorchやPythonを使用して行われていますが、そうしたトレーニングを純粋なC言語のみで実装したツール「llm.c」が登場しました。まだ最適化が行われておらず従来の手法に速度面では敗北していますが、GPT-2のトレーニングを行う実装を約1000行のク... 続きを読む
C言語向けコルーチン非同期 I/O ライブラリ neco を使ってみた。
はじめに C言語でコルーチンを扱う方法は色々ありますが、専用の命令を専用の記述方法で実装しなければならなかったりなど、あまりとっつきやすいものではありませんでした。 今日 X/Twitter のタイムラインで見付けた neco はまさにそんな悩みを解消できる物でした。 neco とは neco はコルーチンを使った非同期 I/O ラ... 続きを読む
人気ジャンルの開発を通してC言語を楽しく学べる! 「ゲーム開発で学ぶC言語入門」3月7日発売 動作を確認しながら学べる160以上の無償サンプルを提供
ホワイトハウスが開発者に対しC++やC言語からRustやJavaなどのメモリ安全性に優れたプログラミング言語への移行を勧める
アメリカ・ホワイトハウスの国家サイバー局長室(ONCD)が、開発者に対し、C++やC言語といったプログラミング言語からRustやC#などのメモリ安全性が確保されたプログラミング言語への移行を勧めています。 BACK TO THE BUILDING BLOCKS:A PATH TOWARD SECURE AND MEASURABLE SOFTWARE (PDFファイル)https://www.whitehouse... 続きを読む
メガドライブ相当のゲームをC言語のみで自作可能なOSSのゲーム機「VGS-Zero」
個人サークル「SUZUKI PLAN」がゲーム機エミュレーターおよびSDKの「Video Game System - Zero(VGS-Zero)」を2024年1月1日に公開しました。VGS-ZeroはRaspberry Pi Zero 2 Wのベアメタル環境で動作し、メガドライブ相当のゲームを動作させられるとのことです。 GitHub - suzukiplan/vgszero: SUZUKI PLAN - Video Game S... 続きを読む
「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能はダメ文字 UTF-8は神 Shift_JISやめろ \を改行とみなすかどうか C言語のコンパイラの仕様によっては\を改行と解釈しコメントが続くと解釈します。この辺りはWindowsのgcc/g++とMac/Linuxのそれ... 続きを読む
C言語でWASMインタプリタを実装した話
概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWASMインタプリタをC言語でフルスクラッチで実装した。自作WASMランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWASMランタイムを実装するにあたり、「できるだけ... 続きを読む
Rustプログラムのデバッグ辛すぎ問題 - Qiita
この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきて... 続きを読む
WasmLinux: LinuxカーネルをWebAssemblyにする
LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindow... 続きを読む
高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Downlo... 続きを読む
「Go言語で楽しくなるシステム開発:基礎から実践テクニック」mattn × 渋川よしき | ITエンジニア向けのトレンド情報
【Go言語入門】Go言語とは? まずはGo言語の基礎をおさらいしていきましょう。 Go言語は、Googleと世界的エンジニアが共同開発した言語 Go言語は、Googleによってプログラミング環境を改善する目的で開発されました。この開発には、C言語を設計した世界的なエンジニアが携わっています。 Kenneth Lane Thompson (Ken Th... 続きを読む
Mojoは「C言語のように速いPython」なのか - k0kubun's blog
LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalle... 続きを読む
なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
回答 (2件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパ... 続きを読む
世界のプログラミング言語(47) PythonのようにシンプルでC言語のように高速な言語Nimを試してみよう
NimはPythonのようにシンプルな構文を持ちながら、C言語と同等の速度で動かすことができるプログラミング言語です。そのため、ゲーム開発からシステムプログラミング、Web開発とさまざまな用途で活用されています。今回は、効率性と表現力が魅力のNim言語の魅力に迫ってみましょう。 シンプルな構文を持ち実行速度が速い... 続きを読む
RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
僕はRustでRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyでRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務とし... 続きを読む
NASAが宇宙規模の通信などで発生する損失にも耐えられるよう作った画像圧縮アルゴリズム「ICER」が誰でも利用可能に
NASAは、「宇宙から地球に無線で画像を転送する」といったデータ損失の大きな状況に最適化した画像圧縮アルゴリズム「ICER」を開発しています。そんなICERをC言語のライブラリとして実装したものがGitHubで無料公開されています。 GitHub - TheRealOrange/icer_compression: Progressive, error tolerant, wavelet-based... 続きを読む
『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech
Go言語プログラミングエッセンス エンジニア選書 作者:mattn技術評論社Amazon 『Go言語プログラミングエッセンス』、C言語の勉強に役立つなぁ(?)— magnoliak🍧 (@magnolia_k_) 2023年3月11日 普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プロ... 続きを読む
プログラミングが難しくなったのはなぜか、原因はC言語のあの記法?
プログラミングを全くしたことのない人がプログラミングの学習を始めた場合、どこでつまずくかを考えることがよくある。小学校でプログラミング教育が始まったこともあり、プログラマー以外の人も少しはプログラミングを知っておいたほうがいいと思うからだ。 初心者がつまずく場所としてよく聞くのが「繰り返し」だ。プ... 続きを読む
C言語の符号付き整数はモジュラー演算ではない
C言語の符号付き整数の足し算、引き算、掛け算は「2^nを法とするモジュラー演算である」と説明されることがありますが、これは間違いです。正しい説明は、「C言語の符号付き整数のオーバーフローは未定義動作である」となります。 この違いが観測できる例を2つ紹介します。 まず、単項マイナスについて。以下のプログラ... 続きを読む
Go言語の不満 - まめめも
ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/T... 続きを読む
5分でざっと理解するZig言語
Zig言語の話をするときに、初めての人にざっと読んでもらうためのページ。 Zig言語とは 静的型付きのコンパイル言語。C言語と同じ立ち位置。 本家 Wikipedia 英語版 ドキュメント 標準ライブラリのリファレンス 現在の状況 まだ開発中で正式リリースには至っていない。なのでまだ破壊的変更はあり得る。 現在の安定版タ... 続きを読む
🎍QDくん🎍Python x 機械学習 x 金融工学 on Twitter: "ハーバード大学のコンピューターサイエンス入門講義は日本語版が無料公開されている https://t.co/oBzdp6zFbq ・講義動画は日本語字幕付き ・講
ハーバード大学のコンピューターサイエンス入門講義は日本語版が無料公開されている https://t.co/oBzdp6zFbq ・講義動画は日本語字幕付き ・講義ノートも日本語訳あり ・C言語 ・配列 ・アルゴリズム ・メモリ… https://t.co/M3LD3E0shh 続きを読む
char* を Go の string に変換するテクニック
はじめに Go には cgo と呼ばれる、Go からC言語を扱う為の機能があります。go build を実行すると、内部でC言語のコンパイラが実行され、ソースの一部が Go に取り込まれます。 cgo とは まずは以下を見て下さい。 //go:build ignore // +build ignore package main /* int add(int a, int b) { return a + b; } */ imp... 続きを読む
M5StickC PLUSでミニゲームを動かそうとして久々にC言語と格闘 - ABAの日誌
JavaScriptのゲームライブラリcrisp-game-libで量産したミニゲームを、PCやスマホだけでなくて、何か小さなデバイスでも遊んでみたい。そう思って、移植性の高いC言語でライブラリを再実装してみている。 画面とボタンが付いていて入手が容易な小さなデバイスとして、まずはM5StickC PLUSで動かすことを目指してみた。い... 続きを読む
RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! - エンジニアHub|Webエンジニアのキャリアを考える!
エンジニアHub > 記事一覧 > RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代... 続きを読む