ハードディスク搭載のプリンタなどで、プリンタが高機能であればプリンタ内部のファイル操作が可能であり FSDIRLIST といったファイルシステム操作のPJLコマンドが利用可能であるなど、言語としての側面を強く持つ。具体的には以下のようにすることで<ESC>%-12345X@PJL INFO FILESYSVOLUME　　　TOTAL SIZE　　　FREE SPACE　　　LOCATION LABEL　　　STATUS0:　　　　　2929683456　　　2922577920　　　HDD　　　　　　　　 READ-WRITEのように、ハードディスクのボリューム番号、利用可能容量などが返される。
印刷送信の他に、プリンタステータスの取得（搭載しているトレイの種類など）をサポートしている。16進数で1Bを<ESC>、改行コードを<CR><LF>と表現し、以下の文字列をプリンタへ送信する。<ESC>%-12345X@PJL <CR><LF>@PJL ECHO 09:10:09.1 08-22-00 <CR><LF>@PJL INFO INTRAYS <CR><LF><ESC>%-12345Xすると、プリンタからは以下のようにプリンタ搭載トレイの種類を返す。@PJL ECHO 09:10:09.1 08-22-00<CR><LF><FF>@PJL INFO INTRAYS [8 TABLE]<CR><LF>INTRAY NAME<CR><LF>INTRAY 1 "UPPER TRAY"<CR><LF>INTRAY 2 "RED PAPER"<CR><LF>INTRAY 3 "PAPER RED"<CR><LF>INTRAY 4 "PREPRINT"<CR><LF>INTRAY 5 "TRAY A1"<CR><LF>INTRAY 6 "TRAY B1"<CR><LF>INTRAY 7 "TRAY C1"<CR><LF>INTRAY 8 "TRAY D1"<CR><LF><FF>プリンタが返す文字列をどのように受け取るか、というのはネットワーク対応プリンタであればFTP接続によって、というのがある。
Printer Job Language（略称: PJL）は、ヒューレット・パッカード社（Hewlett Packard）によって策定されたプリンタジョブを制御する言語。キヤノン社、ゼロックス社、リコー社のプリンタをはじめ、ヒューレット・パッカード社以外であってもこのPJLの記述を解釈できる、対応したプリンタがある。基幹業務系の開発などで、事務処理の種類に応じて直接プリンタを制御して、Aの処理はインナートレイに排紙する、Bの処理はホチキスしてフィニッシャートレイに排紙する、といった印刷に関する一連のすべてを予め事務処理に組み込んで自動化することができる。
2011年第1弾シングル。当初2011年3月23日発売予定であったが、東日本大震災の影響で2週間延期された。ライブビデオ『YUKI concert tour 2010 "うれしくって抱きあうよ" 東京国際フォーラム ホールA』と同時発売。
4/4拍子、ソナタ形式。主題は最初の6小節にわたって短3度音程を重ねた調性のはっきりしない楽句にはじまり、それからようやくニ長調らしくなる。途中でモーツァルトのリンツ交響曲第1楽章を思わせるパッセージが現れる。ロンバルド・リズム（16分音符+付点8分音符）の使用も特徴的である。再現部では主題の冒頭がチェロに現れる。
かなり素朴な音楽である。トリオではト長調に変わり、ファゴットのソロと弦楽器によってシンコペーションのきいた曲が演奏される。同様のリズムは後に交響曲第92番のトリオでも使われている。
6/8拍子、ソナタ形式。通常ハイドンの交響曲は緩徐楽章の調性がほかの楽章と異なるが、この曲は例外的にニ長調のままである。弱音器をつけたヴァイオリンによって軽やかな主題が演奏され、途中からフルートが加わる。展開部ではヘ長調に変わる。
ここでは、Smalltalkによるメッセージ転送の記述例を示す。Smalltalkではメッセージを受け取ったオブジェクトがセレクターに該当するメソッドを保持していない場合、受け取ったメッセージを「doesNotUnderstand:」メソッドに転送する。次に「doesNotUnderstand:」メソッドのみ登録した「Example」クラスを使用して具体例を示す。クラス定義:"ExampleクラスをSmalltalk環境に登録する"Object        subclass:               #Example        "ExampleはObjectクラスから派生させる"        instanceVariableNames:  ''              "オブジェクトに所属する変数は定義しない"        classVariableNames:     ''              "クラスオブジェクトと共有する変数は定義しない"        poolDictionaries:       ''              "クラスに所属する変数は定義しない"        category:               'UserObjects'.  "クラスの分類はUserObjectsとする(今回の名前に意味はない)""Exampleに登録するdoesNotUnderstand:メソッドの登録"Example methodsFor: 'message forwarding'!doesNotUnderstand: aMessage "メッセージのセレクターがhelloであるか判定する"( aMessage sends: #hello )ifTrue:["セレクターがhelloであれば次の文字列を返す。"^'Selector is hello'.]ifFalse:["セレクターがhello以外なら次の文字列を返す。"^'Selector is not hello']!!メッセージ送信:| example |example := Example new.example hello.            "'Selector is hello'が返される"example goodbye.          "'Selector is not hello'が返される"上記の例は、「hello」とそれ以外のメッセージをExampleが生成したオブジェクトが受け取り、オブジェクトがメッセージ中のセレクターを基準に処理を切り替えている例である。このようにSmalltalkではメッセージ送信が比喩ではなく具体的な機構である事を利用し、オブジェクト宛に送信されたメッセージを自在に制御することができる。なお、今回メッセージ中のセレクター情報( hello )しか使用していないが、メッセージからは引数情報も参照できる。また、「aMessage sendTo: 送信先のオブジェクト」と記述することでメッセージを別のオブジェクトに送りつけることもできる。