星艦は、最後の艦隊アップグレード時に並行次元へ転送されたため姿を消しました。現在すべての船舶はその別世界で運航しており、本セクターには表示されません。

2026/02/03 22:27

星艦は、最後の艦隊アップグレード時に並行次元へ転送されたため姿を消しました。現在すべての船舶はその別世界で運航しており、本セクターには表示されません。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


要約

データラッパーの技術リードであるジョナサンは、インターネット・スペクティブ・フィクション・データベース(ISFDB)から得たデータを用いて、科学小説・ファンタジー・ホラーのタイトルが時代とともにどのように変化してきたかを調査しました。ISFDBは約210,000件の英語圏タイトルをリストし、ボランティアによって維持されている書誌情報源です。

発見点

  • クラシックなSFキーワードSpace(宇宙)、Mars(火星)、Planet(s)(惑星)、および Moon(月)– は1950年代から1960年代にピークを迎えました。「Space」は当時タイトルの2.5%以上だったものが、現在では0.5%未満になっています。
  • ファンタジーキーワードDragon(s)(ドラゴン)、Magic(al)(魔法)、および Witch(es)(ウィッチ)– は2000年以降急速に上昇し、Harry PotterThe Lord of the Rings といったシリーズの人気を反映しています。
  • ヴァンパイア関連タイトル (Vampire, Werewolf) および「Moon」の使用頻度は1990年代から2010年代にかけて復活し、TwilightBuffy、および The Vampire Slayer などのテレビ番組が影響を与えました。
  • 安定した用語Darkness(闇)、Wars(戦争)、Death(死)、および Time(時間)は7十年にわたりほぼ一定であり、「darkness」は1990年代にやや増加しました。

ジョナサンは当初、ISFDBのジャンルタグを使用する計画でしたが、タイトルのごく一部しかタグ付けされていませんでした。スクレイピングしたプロット要約とAI支援によるタグ付けで分類しようと試みましたが、信頼性に欠ける結果となりました。最も信頼できる方法は、約210,000件のタイトル全体でキーワード出現回数をカウントすることでした。

示唆

分析から、従来のスペースオペラは都市ファンタジーやドラゴン叙事詩に棚の空間を譲り、SFテーマは多様化し主流化していることがわかります。クラシックなSF作品を探す読者は、ISFDBで検索するか、専門書店へ足を運ぶことで関連作品を見つけることができます。


本文

ミケ・ウィンケルマン、CC BY‑SA 4.0(Wikimedia Commons経由)

こんにちは。私はジョナサンです。Datawrapper のウェブサイトとブログに関する技術面全般を担当しています。今週の Weekly Chart では、数十年にわたる科学小説とファンタジー小説のタイトルを見てみたいと思います。

科学小説の読者として、書店のサイエンスフィクションコーナーがどんどん縮まっていることに気づきました。実際には、ベルリンで「本物」を売ってくれる店舗まで足を運ばなければならないほどです。一方でファンタジーは商業的に支配力を強めているようです。この傾向は秘密ではありませんが、可視化すると面白いと思いました。

データセット

適切なデータセットを探していたところ、インターネット・スペキュレーティブ・フィクション・データベース(ISFDB)に出会いました。これはサイエンスフィクション、ファンタジー、ホラーのジャンルに該当する作品の書誌情報を最新状態で保守するボランティアプロジェクトです。

約 210,000 件のタイトルが収録されているこのデータベースから、典型的なサイエンスフィクション語彙がどれだけ頻繁に登場してきたかを年代別に見てみましょう。

発見

キーワード1950〜60年代現在
Spaceタイトルの >2.5 %<0.5 %
Mars
Planet(s)
Moon(s)

データは明確な物語を語ります:クラシックサイエンスフィクションのキーワードは1950〜60年代にピークを迎え、その後継続的に減少しています。

  • 「Space」は最も顕著に落ち込み、1950 年代はタイトルの 2.5 % を超えていたものが、現在では 0.5 % 未満です。
  • 「Mars」「Planet(s)」「Moon(s)」も同様の軌跡を辿ります。
  • 小説上での宇宙探査の黄金時代はアポロ計画とともに終わったようです。
    • 1990 年代から 2010 年代にかけて「Moon」タイトルが少し増えた例外もあります(次のカテゴリで説明します)。

一方、ファンタジーキーワードは逆の傾向を示しています。

キーワード1980 前現在
Dragon(s)ごくわずか約2 %
Magic(al)
Witch(es)
  • 「Dragon(s)」は 1980 年代以前にはほとんど登場せず、現在ではタイトルの約 2 % に現れます。
  • 「Magical」「Witches」は同様に、2000 年以降急速に増加し、ハリー・ポッターロード・オブ・ザ・リング の商業的成功と重なります。
  • TwilightBuffy, the Vampire Slayer はヴァンパイアジャンルを復活させました。ヴァンパイアやウェアウルフも「Moon」タイトルの継続的存在に寄与している可能性があります。

すべてがジャンル転換に従うわけではありません。

キーワード7 年代を通じて安定
Dark(ness)
War(s)
Death

これらはジャンルに関係なく、宇宙オペラでも叙事詩ファンタジーでも使われる用語です。1990 年代には超自然への興味から若干増加しました。また時間旅行はまだ実現していませんが、「time」自体も継続的に話題になっています。

サイエンスフィクションへの意味

私は確信できていません。クラシックなスペースオペラは都市ファンタジーやドラゴン満載の叙事詩に棚面を譲ったかもしれませんが、サイエンスフィクションテーマはより多様化し、主流へ部分的に吸収されているようです。新しい何かに進化している可能性もあります。

それでも私はあのコーナーが恋しいです。遠い星々、新たな世界、そして最も重要なのは数え切れないほどの宇宙船を約束するタイトルと表紙を持つペーパーバックには美しさがあります。データは私の地元書店から聞いたことを裏付けています:古典的な作品を探すなら、少し頑張るかオンラインで検索(ISFDB から始める)必要があるでしょう。

学んだこと

  1. 初期計画 – ISFDB の既存タグを使ってサイエンスフィクション/ファンタジーの分離を可視化し、サイエンスフィクションが人気低下していると示す。

    • 実際にはデータベース内の小説はほんの一部しかジャンルタグ付けされていませんでした。満足できる選択肢ではありませんでした。
  2. 第二試行 – ウェブスクレイピングしたプロット要約と LLM を組み合わせて全タイトルをジャンル別に分類。

    • もう一度失敗し、サイエンスフィクションやファンタジーのトロープの微妙さを AI に任せるべきではないと学びました。
    • アワード受賞作品だけに絞り、より多くの文脈を与えても回答はあいまいで、大規模には使えませんでした。
  3. 最終手法 – 単語がタイトルに何度登場するかだけをチェック。

    • 時としてシンプルなアプローチこそ最良です。

以上、今週の私からのお知らせです!次の木曜日は Luc の新しい Weekly をお楽しみに。

同じ日のほかのニュース

一覧に戻る →

2026/02/08 6:45

小型 C コンパイラ

## Japanese Translation: Tiny C Compiler(TCC)は、非常に小さな(約100 KBのx86実行ファイル)Cコンパイラであり、1回のステップでコンパイル・アセンブル・リンクを行い、バイトコード層なしでネイティブx86マシンコードを生成します。2.4 GHz Pentium IV上では、Links BrowserテストをGCC(20.0 秒)より約10倍速く実行できます(2.27 秒)。これは別のコンパイルステージが不要であるためです。 TCCはISO C99を完全にサポートし、自身をコンパイルでき、任意のC動的ライブラリを直接リンクすることも可能です。完全なプリプロセッサ、GNUスタイルのアセンブラー構文、オプションのメモリと境界チェック機能、さらにはシェバンベースの「Cスクリプト」まで含まれ、コマンドラインから実行できます。libtccライブラリにより、他のプログラムがTCCをランタイムコード生成のバックエンドとして使用できるようになります。 性能テストはPentium IV上で行われました。新しい測定値(参照1–4)では、モダンハードウェアでも速度向上が継続しています。ドキュメント、メールリストサポート、およびSavannah/GitHubリポジトリは最新情報を提供します。 TCCはGNU Lesser General Public License(LGPL)の下で配布されており、商用利用も許可されています。

2026/02/08 8:23

**良質なコードの静かな終焉**

## Japanese Translation: 著者は中学時代から「Good Code™」―読みやすく、保守しやすく、特定の目的を持って存在するコード――を書き続けることに情熱を注いできました。機能提供に重点を置くソフトウェアエンジニアとして、彼は今日の高速開発環境で良いコードがますます希少になっていると感じています。 同僚の経験はこの状況をよく示しています。外部Linuxカーネル統合システムをCからRustへ書き換えた後、最初のバージョンは機能していたものの読みづらく保守が困難でした。原始的なCロジックを学習した上で再度書き直すと、コードはクリーンになり、自明であり、元のCよりも優れていると言えるようになりました。この経験が著者に品質コードへの熱意を再燃させました。 現在、彼はほとんどの場合初期バージョンを書かず、代わりに「Good Code™」ではなく許容できるものを生成するコーディングエージェントに頼っています。このようなツールへの継続的な依存が個々の行レベルでの品質への注意を薄め、業界実務におけるGood Codeの静かな消滅を招くと彼は恐れています。コード品質が低下すると保守コストや技術的負債が増大し、開発者の生産性、製品の信頼性、そして最終的には企業から提供されるソフトウェアへのユーザーの信頼まで損なわれます。

2026/02/08 2:39

**セクターC:512バイトで実装されたCコンパイラ**

## Japanese Translation: SectorCは、x86‑16アセンブリで完全に書かれたCコンパイラで、単一の512バイトのブートセクタに収まります。Ultra‑compactなトークン化スキーム「Barely C」を使用しており、各スペース区切り語を「メガトークン」とみなし、`atoi()`で識別子をハッシュし64Kテーブルに格納します。変数はこのハッシュを通じてセグメント0x3000に保存されます。最初のBarely C実装は468バイトで、シンボルテーブルなしの再帰下降パーサーでした。バイトスレッド化されたForth風の変種も試みられましたが、サイズをさらに削減することはできませんでした。 最終的なコンパイラはわずか **303 バイト** です。サイズは、フォールスルーロジック、テイルコール、コールフュージョン、`lodsw/stosw`の広範な使用、およびすべてのジャンプオフセットを1バイト内に収めるなどの手法で削減されました。残り約200バイトでBarely Cは完全なCサポートへと拡張されました:ネストされたif/whileブロック、包括的な演算子集合(+, −, *, &, |, ^, <<, >>, ==, !=, <, >, <=, >=)、ハッシュテーブルを介した関数定義と再帰、インライン`asm`ステートメント、および単一行(`//`)と複数行(`/* */`)コメントの両方が実装されました。 コンパイラのランタイムは `rt/` ディレクトリ内の2つのCファイルに分かれています:ライブラリルーチン(多くの場合インラインasmを含む)を持つ `lib.c` とエントリポイントとして機能する `_start.c` です。これらはプログラムソースと結合してからコンパイルされます。記事には、全ブートセクタのBase64文字列、VGAモード0x13hで動くサイン波を描画するデモ、および追加例(`hello.c` はビデオメモリ0xB8000に書き込み、`twinkle.c` はPCスピーカーで「Twinkle Twinkle Little Star」を再生)が含まれています。この作業は、512バイトという一見不可能な目標—完全機能のCコンパイラを実現すること—が、創造的なトークン化、ハッシュ化、および積極的なコードサイズ最適化によって達成できることを示しています。