「プログラミング言語」の記事一覧
-
Swift 6.2の注目新機能まとめ
2025-05-09 20:20
科学・技術Swift 6.2は、言語機能と並列処理の大幅な強化が特徴です。@MainActorの自動適用により、UI中心の開発では明示的な並列処理記述が不要に。また、バックトレースやタスク名のサポート、文字列補間でのデフォルト値指定、メソッドのキーパス対応、weak letの導入など、開発効率とコードの明瞭性が大幅に向上しました。非同期処理に関する安全性の向上も進み、Swiftの習得ハードルを下げる工夫が多数含まれています。
-
Odin:Cに代わる実用的なシステム言語
2025-05-09 18:01
科学・技術Odinは、C言語に代わる実用的なシステムプログラミング言語として設計された、シンプルかつ高速な言語です。SOA対応や動的配列、複素数・ベクトル・行列など豊富な組み込み型を提供しつつ、手動メモリ管理の制御性も維持。エラーハンドリングはGo風のマルチリターン方式を採用しています。EmberGenなどグラフィック系ツールでの実績もあり、ZigやJaiとの比較でも独自の立ち位置を示しています。
-
C++の問題から見えるRustの強み
2025-05-06 17:51
科学・技術長年C++を使ってきた筆者は、Matt Godboltの講演を通じて、Rustがいかにコードの安全性と可読性を高めているかに気付きました。C++では型安全性を保つために多くの工夫が必要でしたが、Rustではコンパイラが間違いを事前に検知し、安全なAPI設計を自然に促します。特に値の型制限やエラーハンドリング、コンパイル時チェックによって、実行時のバグや混乱を未然に防ぐ設計がされています。Rustは単なるメモリ安全性以上の利点を持つ言語です。
-
Schemeで学ぶ強力なマクロの書き方
2025-05-05 06:07
科学・技術この記事は、Scheme言語における強力なマクロの構築方法を詳しく解説した技術ドキュメントです。特にhygiene(衛生性)と呼ばれる仕組みにより、Schemeのマクロは他の言語と比較して衝突のない安全なコード展開が可能で、抽象構文を自作する強力な手段となります。実際の例として、変数のインクリメントやデバッグ用のtrace-let、ベクタへのアクセスなどのマクロ定義が紹介されています。EmacsとChez Schemeを使った開発環境の構築手順も含まれており、学習者が実際に手を動かしながらマクロ設計の力を身につけられる構成になっています。
-
Schemeで学ぶ強力なマクロの書き方
2025-05-05 06:07
科学・技術この記事は、Scheme言語における強力なマクロの構築方法を詳しく解説した技術ドキュメントです。特にhygiene(衛生性)と呼ばれる仕組みにより、Schemeのマクロは他の言語と比較して衝突のない安全なコード展開が可能で、抽象構文を自作する強力な手段となります。実際の例として、変数のインクリメントやデバッグ用のtrace-let、ベクタへのアクセスなどのマクロ定義が紹介されています。EmacsとChez Schemeを使った開発環境の構築手順も含まれており、学習者が実際に手を動かしながらマクロ設計の力を身につけられる構成になっています。
-
Pascalとその派生言語の歴史をたどる技術アーカイブ
2025-05-04 01:27
文化・芸術Wirth系言語の影響を受けたPascalやModula、Oberonなどの歴史や開発背景を網羅した個人技術アーカイブが公開されています。UCSD PascalからDelphi、FreePascalに至るまで、教育・組込み・PC向けの多様な実装が紹介され、資料やソースコードも多数収録。Pascalの発展とその思想の系譜を辿る上で貴重なリソースです。
-
Rustでのメモリ管理との格闘
2025-05-03 21:01
科学・技術Rustのメモリ管理に関する連載の第5回では、所有権と借用による制約を克服するための実践的な工夫が紹介されています。forループでVecを直接消費することで値が移動し、以降使用できなくなる例や、メソッド呼び出しと借用ルールの関係、また所有権を保持したまま安全に複数回アクセスする方法として、クローン、再借用、コード構造の工夫などが議論されます。Rustの安全性と制約のバランスについての深い理解が得られます。
-
C++26で広がるconstexpr対応:標準ライブラリの進化
2025-05-01 18:36
科学・技術C++26では、標準ライブラリにおけるconstexpr対応が大幅に進展します。従来の制限を超え、stable_sortやuninitialized系のメモリアルゴリズム、<cmath>、<complex>の関数、さらには多くのコンテナがコンパイル時に使用可能となります。constexpr化により、より効率的で信頼性の高いコードが書けるようになり、静的解析や高速起動などの恩恵が広がります。本記事はその主な提案と影響をわかりやすく紹介しています。