コンピュータプログラミングにおいて、トランジェントとは、システム内のあらゆる要素が一時的に持つ特性を指します。この用語は、トランジェントアプリケーション(エンドユーザー向けソフトウェアで、一時的なアプリケーション状態として表示されるもの) 、トランジェントデータ(計算で不要になった後に破棄されるもの)、およびトランジェントコード(実行時間のごく一部の間だけシステムにロードされるサブルーチンまたはソフトウェアコンポーネント)に適用されます。
この用語の適用例を以下に示します。
Javaプログラミング言語では、 transientはフィールド修飾子として使用されるキーワードtransientです。フィールドがtransientとして宣言されると、そのフィールドが属するクラスがシリアライズされても、そのフィールドはシリアライズされません。Javaでは、メソッド、クラス、インターフェースはシリアライズされないため、transientとして宣言することはできません。[ 1 ]
Hibernateやその他の永続化システムでは、トランジェントはインスタンス化されたがHibernateセッションに関連付けられていないオブジェクト、 つまりメモリ上には存在するが永続化されていないオブジェクトを表します。[ 2 ]

X Window Systemでは、あるウィンドウが別のウィンドウに属していて、そのウィンドウよりも長く存続しない場合、そのウィンドウは別のウィンドウの一時的なウィンドウであると言われます。警告メッセージなどのダイアログボックスは、その一般的な例です。これは、別のウィンドウを含むウィンドウと混同してはいけません。包含ウィンドウは親ウィンドウ内に完全に存在しますが、一時的なウィンドウは独立したウィンドウであり、通常は画面上で自由に移動できます。一時的なウィンドウはウィンドウマネージャによって特別に扱われる場合があり、トップレベルウィンドウ ( twmのようにユーザーによる配置が必要な場合がある) とは異なり、表示時にユーザー操作を一切必要としてはなりません。[ 3 ]
トランジェントとは、メインメモリにロードされると短時間だけメモリに残るモジュールを指すこともあります。今日ではこの用語はほとんど使われておらず、廃れてしまっています。代わりにオーバーレイという用語が一般的に使われており、実行中のプログラムが必要としたときにメモリにロードされ、不要になったときに別のモジュールと置き換えられるプログラムモジュールを指すため、プログラムのメモリ要件が低くなります。プログラムモジュールは、異なるモジュールが同じメモリ領域を共有できるように作成されており、メインプログラム自体が必要に応じてディスクとメモリ間でモジュールを交換する責任を負っていました。[ 4 ]
1960年代半ばから後半にかけて、IBM System/360などのメインフレームコンピュータのメモリサイズは8KBから512KBでした。メモリを節約するために、トランジェントは特定のタスクをサポートする小さなモジュールであり、メモリにスワップインおよびスワップアウトされました。トランジェント領域の概念は、 Mythical Man-Monthのメインメモリの設計と使用に関する議論の一部です。[ 5 ] S/360のオペレーティングシステムには、入出力操作をサポートするトランジェント用に予約された2つの領域がありました。これらは「論理トランジェント領域」 [ 6 ] と「物理トランジェント領域」[ 7 ]と呼ばれていました。たとえば、アプリケーションプログラムがプリンタを使用する必要がある場合、印刷をサポートするトランジェントがトランジェント領域に取り込まれました。アプリケーションがテープドライブを使用する必要がある場合、テープドライブへのアクセスをサポートするトランジェントがトランジェント領域に取り込まれました。同じ時代のIBM 1130は、メモリの最初の4Kの一部をトランジェント領域として使用しました。
1980年代、MS-DOSはプログラム間またはユーザーコマンド間でCOMMAND.COMの一時的な部分を再読み込みした。[ 8 ] [ 9 ]
メッセージパッシングのレベルでは、一時通信とは、メッセージがバッファに保存されず、受信側での配信を待つことがない通信方式を指します。メッセージは、送信側と受信側の両方のシステムが稼働している場合にのみ配信されます。送信時に受信側が稼働していない場合、メッセージは中間バッファに保存されていないため破棄されます。