ポケットコンピュータ
ポケットコンピュータ(ポケコン)は、1980年代に広く使われた、ポケットにおさまる外形寸法の、携帯用小型コンピュータである。2000年ころまで使われていた。
その名の通りポケットに納まる程度のサイズのコンピュータであり、
1行ないしは数行程度表示可能な液晶ディスプレイと小型のキーボードを備え、BASICなどの高級言語でユーザがプログラムを作成・実行することができるものである。
当時の技術水準で小型軽量化したため表示能力も限られ記憶容量も小さかったが、電池で長時間の稼働が可能で、なによりポケットに入れて持ち運べる(ジャケットの内ポケットに差し込んで気軽に持ち歩ける)という優れた特徴があった。
もともとは製品カテゴリ的には関数電卓の延長上にはあったが、高機能化が一部の機種シリーズで次第に行われ、2009年に発売されポケットコンピュータとして最後の製品となったPC-G850VSでは、BASIC,C言語,CASL,Z80アセンブラ,PICアセンブラを搭載するまでに至った。
1980年代が最盛期であるが、1990年代や2000年代(200X年)でも使われていた。
日本ではシャープが1980年に発売、これをカシオが追い上げる形で続き、他にも数社が参入して多くの製品が販売された(ポケットコンピュータの製品一覧が参照可)。
1980年代前半時点で、コンピュータとしての処理能力は当時の据置型パーソナルコンピュータ(当時はたいていはマイクロコンピュータ(マイコン)と呼ばれていた。)に比べると貧弱であったが、当時コンピュータは非常に高価で、コンピュータに関心を持つもののまだ本格的なPCを買えない層が「ポケットマネーで買えるコンピュータ」として歓迎し、簡単なゲームソフトも作ることができたので趣味の分野でも盛んに利用され、また「高性能プログラム電卓」として使えたので工事現場での構造計算から学術研究フィールドワークにおける計算にも使われ、様々な分野で活用された。
1980年代後半に低価格のMSXが広まりデスクトップパソコンの低価格帯のものが増えてからは、ポケットコンピュータのほうは可搬性という最大の特長を保持したまま機能のほうを強化し、差別化が図られていった。
最盛期であった1980年代には、他にもラップトップパソコンやハンドヘルドコンピュータと呼ばれるような可搬型コンピュータが存在したが、これらがまだ高価で用途が産業用・業務用機に限られ小さな市場を奪い合っていたのに対し、ポケコンのほうは安価で扱い易いなど様々な理由により、産業・商業・教育・趣味といった広い用途で使われ、ユーザ層は企業だけでなく学校や個人にまで広がっていた。
ポケットコンピュータに関する情報も、『I/O』『PiO』(工学社)や『マイコンBASICマガジン』(電波新聞社)などのパソコン雑誌に投稿プログラムが多数掲載され、専門誌『ポケコンジャーナル』(工学社)も刊行されていた。『ポケコンマシン語入門』(工学社)ではシャープのPC-12シリーズでマシン語プログラムを組む際に使える多数の内部ルーチンや、液晶画面を直接制御する方法などが解説されていた。
2000年代以降はノートパソコンが普及し、2010年代にはさらにスマートフォンやタブレットが急速に普及し、それらのポータブルな環境でプログラミングを行ったりプログラムを走らせることができるようになったため、ポケットコンピュータの需要が急激に消滅し、2015年に全ての製品の製造が終了することになった。ラップトップコンピュータやハンドヘルドコンピュータが提供していた機能は、高性化し汎用性が高くなり軽量化が進んでいったノートパソコンへと収斂して行き、可搬性という特長に関しても2010年代に安価になったスマートフォンやタブレットが普及し、そちらが可搬性が高くおまけに高性能な汎用マシンなので、ポケットコンピュータのほうの需要は無くなったのである。
2010年代中頃までは業界内でシャープのみが唯一製品の製造を続けていたが、少なくとも2015年にはポケットコンピュータの生産を終了している。シャープが2009年に製造を開始したPC-G850VSがポケットコンピュータの最後の製品になった。
小型・軽量である
ポケットに入るサイズであり(多少嵩張る機種でも、ジャケットの内ポケットに差し込んで持ち運べる寸法に仕上げてあり、軽量。場所を選ばず、片手で持って使用できる。当時のラップトップ機(腕でしっかり抱えなければならない寸法で、かなり重い)と比べて明らかに可搬性に優れていた。
乾電池やリチウムボタン電池で連続100時間以上駆動できるものが多く、入手しやすい一般的な電池を使っていたので、いつでもどこでも電池切れを気にせず利用できた。学生が日に数時間使う程度であれば、一ヶ月以上電池切れの心配をしないで済んだ。
即興で必要に応じたプログラムを作り易いBASICが搭載されていた(後述)。
起動が速く、動作が安定
1秒弱で起動。フリーズは滅多に起こらず、オールリセットで簡単に初期状態に戻せる。
関数電卓の延長にあるプログラム電卓から派生した製品なので、数学で利用するいくつかの関数が標準で用意されていた。ダイレクトコマンドとしても使えるので、数式を入力すれば瞬時に答えが出た。少し複雑な計算式でも、簡単なプログラムで対応できた。当時もプログラム可能な関数電卓は存在したが、BASIC言語を使った、より本格的なプログラミングができる点で優位であった。
ただし初期の製品は関数キーをほとんど備えておらず、必ずしも関数電卓の代替となる製品ではなかった。実際に「関数電卓としても使えるポケコン」を求める要望が大学生協に寄せられ、これが転機となって、より豊富な関数や統計機能を搭載した電卓モードを持つ製品が開発されるようになった。これ以降、多数の関数キーを備えた関数電卓の性格を持つ製品がポケットコンピュータの主流となっていった。
表示・記憶容量は小さい
当時の技術的な水準から、モノクロ液晶で12 - 32桁・1 - 4行程度の文字表示だけのものが多く、メモリ容量も当初は1KB程度であった。後に記憶容量の大きい機種も出たが、32KBを超えるものは少なく、超えたとしても標準では64KB程度だった。
音を出す機能は一般に貧弱で、Beep音と呼ばれる電子ブザーの単純な音のみのものや、幾つかの音程が出せる程度で、廉価版の中には音を出す機能そのものが無い機種もあった。一方、周辺機器としては主に専用プリンタや、カセットインタフェース、機種によってはRS-232Cインタフェース、RAM増設モジュール、専用ディスクドライブなどが用意され、一応「コンピュータ・システム」を構成していた。
ポケットコンピュータは、学校側が教材として指定するのに適した性質を備えていた。コンピュータ言語習得のための教材や機械制御の学習用教材として学校側が特定の学科の学生に対して一律に指定するのに適しており、学生がそれぞれ持って教室から教室へと移動するのにも適しており、登・下校時にカバンに入れて持ち運び自宅で自習したり宿題の課題を仕上げることもできた。
パソコンが高価であった当時、ポケコンは安価なので経済的なハードルが低い(学生の親いわゆる「親御さん」たちへの負担が小さい)ので学校側で特定の機種を指定しやすく、特定の学科・学部の学生全員に同一機種を購入させるのに適していた。安価なポケコンのおかげで学生たちひとりひとりが、同一の環境を、完全に自分のものとして持つことができ、教師の側から見てある教室の中(同一学年)では学生は全員同一機種を持っている状態にでき、学生たちが同じ操作を行えば同じ結果を得られるので指導がしやすい。
(1980年代の中ごろになると同程度の価格のMSX製品が登場するようになり、価格的優位は揺らいだが)、それ以降のポケコンの開発メーカーは一層、学校教育で高評価される機能や関数電卓の機能に力を入れるようになり差別化を図った。後期の学校向けポケコンでは機械制御用ボードを接続するためのオプション用コネクタやバスコネクタが装備され、工業高校や専門学校に導入されて専用ボードを用いた機械制御の学習用に用いられた。また情報処理系の学校・学部では学生が情報処理技術者試験を受験し合格することが重視されているわけであり、そうした需要にポケコンのメーカー側も応え、その試験で求められるCASL、C言語、アセンブラも搭載した。情報処理試験受験対策用マシンやプログラミング言語学習用マシンとして進化した機種を開発したのである。
プログラミング言語BASICは、プログラミングの入門に適しており、プログラムを逐次解釈して実行するインタプリタ型なので、プログラムの作成・追加・改良が容易で、作りかけのプログラムを1行づつ動かし動作を確認し、プログラムを追加していくこともでき、また無限ループなどで応答が無くなっても、プログラムが破壊されることはなく、確実に止めることができる。
ポケコンの用途は関数電卓の延長上にあることも多く、現場で必要に応じて即座にプログラムを組む際にもBASICは使いやすかったため、単なる入門者用としてでなく、技術者や科学者が現場で利用する専門分野でも役立った。当時の他のプログラミング言語と比べ、BASICは数式の記述方法が実際の数式に比較的近い部類であるという利点もあった。
しかし、1980年代のBASICはまだ構造化されておらず、悪名高き行番号とGOTO文があり、プログラムを追加してゆくと構造が混乱し、ついにはスパゲティプログラムになりバグが頻発する欠点があった。特にポケット・コンピュータの場合はわずか数行しか表示できず編集機能が貧弱だったこともあり、デバッグは困難を極めた。
末期には、BASICに構造化命令を追加した「構造化BASIC」を搭載した機種も登場し、そうした欠点の改善が試みられた。
後期の機種では、ソフトウェア開発で主流となっていた構造化プログラミングができるC言語を搭載する機種が増えた。C言語は構造化されているので、スパゲティプログラムに陥ることはなかった。
CASLは、もともと情報処理技術者試験のために制定された、しかも特定のメーカーに結びつかないように制定された、架空のアセンブリ言語であり、あくまで「架空のマシンCOMETで動く」と試験中の設問で設定されているもの、あくまで「紙の上のマシン」であったが、(画期的なことに)後期の一部のポケットコンピュータはこのCASLを動かせる実機となった。
ただしアセンブリ言語と言ってもエミュレーションであることに変わりはなく、必ずしもBASICより高速とは限らなかった。またCASLはその仕様によりBASICよりも機能が限られているため、必ずしも実用的な言語というわけではなかった。
一部の機種では専用のメモリカードや別売りのディスクドライブが利用できたが、当時はカセットインタフェースを介して接続されたオーディオ用のカセットテープ式テープレコーダを用いてプログラムを保存するものや、この用途に特化したデータレコーダを使うものが一般的であった。
初期の高級機には別売でRS-232Cインターフェースが提供される機種もあったが、中期以降の機種では独自のシリアルインタフェース (SIO) が標準で装備される機種が多くなった。これに別売りのレベルコンバータを介すことでRS-232Cなどに相当するシリアルポートとして使えたため、パソコンや一部のワープロ専用機との間でデータ転送ができ、プログラムやデータをパソコンやワープロの広い画面で編集したり、一般的なフロッピーディスクやハードディスクに保存することができた。
なお当然だが、RS-232Cなどのシリアルポートを持たない現在のPCにおいても、USBなどにシリアルポートを増設することはできるので、ポケコン用のシリアル接続ケーブルと接続することは可能である。中には両者を一体化する形でUSBポートに直接ポケコンを接続するためのコンバータ(アダプタ)を製作しているメーカーも2023年現在ある。ただし、この場合もPC側から見ればUSBを介した増設シリアルポートとして認識されるものであり、USB接続とは言っても操作が簡単になるわけではなく、煩雑な通信条件の設定や、双方の手作業による送受信操作を介してデータ交換を行うという手順は基本的に変わらない。
往年のポケットコンピュータの機能や画面を再現したエミュレータ(エミュレーション・プログラム)を開発している人々もいる。
日本人でポケコンの複数の機種のエミュレーションをおこなうエミュレータ「POEMS」(POcket computer EMulation System)を2000年代(200X年)に開発した人がいる。シャープのPC-1245、PC-1251、PC-1255、PC-1262、PC-1350、PC-1401などの機能を再現している。
()
フランス人がC++で開発したエミュレータ「PockEmul ポック・エミュル」は、Sharp PC-1211やSharp PC-E500の機能(機能の全部ではなく主要な機能)を再現している(PockEmul公式ページのurlは https://pockemul.com/PockEmul )。Windows(32bit版), Linux, Mac OS X、Android上で利用でき、GitHubで公開されている()。こちらは(日本で言う「ポケットコンピュータ」の枠内の機種だけでなく)エミュレーションの対象機種が増え続けており、2022年時点でも開発が継続している。
2013年にはDETUNEから、iOS上で動作するアプリとして独自のポケコン「DPC-100」がリリースされた。