タグ C言語
人気順 5 users 10 users 100 users 500 users 1000 users今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様
はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつ... 続きを読む
「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能はダメ文字 UTF-8は神 Shift_JISやめろ \を改行とみなすかどうか C言語のコンパイラの仕様によっては\を改行と解釈しコメントが続くと解釈します。この辺りはWindowsのgcc/g++とMac/Linuxのそれ... 続きを読む
Rustプログラムのデバッグ辛すぎ問題 - Qiita
この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきて... 続きを読む
高速な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言語の魅力に迫ってみましょう。 シンプルな構文を持ち実行速度が速い... 続きを読む
NASAが宇宙規模の通信などで発生する損失にも耐えられるよう作った画像圧縮アルゴリズム「ICER」が誰でも利用可能に
NASAは、「宇宙から地球に無線で画像を転送する」といったデータ損失の大きな状況に最適化した画像圧縮アルゴリズム「ICER」を開発しています。そんなICERをC言語のライブラリとして実装したものがGitHubで無料公開されています。 GitHub - TheRealOrange/icer_compression: Progressive, error tolerant, wavelet-based... 続きを読む
Go言語の不満 - まめめも
ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/T... 続きを読む
RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! - エンジニアHub|Webエンジニアのキャリアを考える!
エンジニアHub > 記事一覧 > RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代... 続きを読む
31歳未経験からモダン・フロントエンドエンジニアになった軌跡を全て書いていく - Qiita
※Qiitaのおかげ(?)で転職できた話です。 【22歳】工場勤務ワイ ワイ「毎日毎日、接着剤で部品をくっつけるのしんどいな・・・」 ワイ「転職したいな・・・」 ワイ「プログラマーってカッコええな・・・」 ワイ「よっしゃ、C言語ってやつの本を買って、勉強してみよか・・・!」 C言語の勉強開始 ワイ「さっそく本を読... 続きを読む
ファミコンエミュレータ実装の感想 - ichirin2501's diary
とりあえずスーパーマリオが動いて一段落したので覚えているうちに感想書いていく。 (この記事の情報量は、デバッグは大変、以上) 動機 単に好奇心。ただ、ファミコンのエミュレータに着手したのはこれで3回目になる。 1度目は10年前の身内ハッカソンのとき。このときはC言語で実装してて強引にHELLO, WORLD!を表示する... 続きを読む
RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように
RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように Ruby言語のリファレンス実装、すなわち事実上の標準となっているRubyインタプリタはC言語で実装されています。そのため、このRubyインタプリタもしくはそのソースコードは一般に「CRuby」(もしくは、まつも... 続きを読む
RustでLinuxカーネルの機能を拡張しよう!Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報で
Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活... 続きを読む
ソフトウェア1 (2020)
ソフトウェア1 (2020)¶ 本サイトは、東京大学工学部電子情報工学科・電気電子工学科の進学内定者(2年生、A1ターム)を主たる対象としたソフトウェア1の講義ページです。C言語の基礎を勉強します。 電気系の学科のslackにて講義に関する通知を行うので、常時学科slackをチェックするようにしてください。 電気系の2年... 続きを読む
リンカ
ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの... 続きを読む
Linuxカーネルで学ぶC言語のマクロ - 覚書
はじめに 本記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わない... 続きを読む
授業課題でC言語の謎のエラーに困っていた→金融SE経験がある社会人大学院生がスペースを11個ほど追加してあげたらエラーが消えた!どういうこと? - Togetter
修士の頃、授業の課題でC言語書いてる時にどうしても謎のエラーが出て困っていた。それを見たSE経験(金融系)がある社会人大学院生の同期の女性が「ここにスペースを入れてみて」「もっと沢山、もっともっと」と言い出して、スペースを11個ほどコードに挟み込んだらエラーが消えた。怖かった 続きを読む
20年物のC言語で作られたシステムのテスト工程を改善しようとした話 - Qiita
はじめに ちょっと前に20年物のC言語で作られたシステムのテストを色々改善しようとしてみたので、この時に得たちょっとした知見を書いていこうと思います。 単体テスト用のテストコードの作成 20年も動いているシステムだと、もはや誰にも意味はわからんが、既存の挙動を変えてはいけない箇所がいくつもあります。 そう... 続きを読む
「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説:モダンCPUでは性能低下は軽微 - @IT
ミュンヘン工科大学の研究チームのメンバーはRust言語で開発したネットワークデバイスドライバの処理速度をC言語のものと比較した。その結果、Rust版の速度低下は最大でも数%にとどまっていた。なぜ処理性能がわずかに遅くなるのか、その理由も説明した。 「C」や「C++」に代わるシステムプログラミング言語として「Rus... 続きを読む
Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴
Intel の主席エンジニアの Josh Triplett の Open Source Technology Summit 2019 での講演 Intel and Rust: the Future of Systems Programming を取り上げ、Rust こそがシステムプログラミングの未来であり、C 言語はもはやかつてのアセンブリ言語である。つまり、未だに OS などのシステムプログラミングの大部分で使... 続きを読む
Go言語で実装するプラグイン機構 - kamijin-fanta
ソフトウェアに拡張性を持たせる時にプラグイン機構を持たせる事は一般的ですが、それを実現する方法は結構バラバラなのかなと思います。例えば、 C言語等の.so/.dllを読み込む方法 Nodejsのような言語での単なるimport TCPやUnixソケットを利用してRPC通信を行う方法 などが有るのかなと思います。1番目・2番目は、関数... 続きを読む
【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報
C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのかはわかっていなかったため、C言語の規格を読みながら何が違うの... 続きを読む
Cello - もはや別物、C言語で高レベルプログラミングを実現するライブラリ | ソフトアンテナブログ
C言語は機械語やアセンブリ言語といった低水準言語に近く、最近流行のPythonやRubyといった高水準言語で利用できるさまざまな便利な機能を使用することができません。例えば文字列にも専用の型が存在せず、さまざまな落とし穴に注意しつつ慎重に使用する必要があるのです。 本日紹介する「Cello」は、このなにかと不便な... 続きを読む