
20代エンジニアが驚く『テキストエディタだけで戦っていた時代』
こんばんは!IT業界で働くアライグマです!
現代のエンジニアにとって、VS CodeやJetBrains製品のような高機能なIDEは当たり前の存在です。しかし、かつてのエンジニアはテキストエディタだけで開発を行い、補完機能もデバッガもない環境でコードを書いていました。20代のエンジニアにとっては想像もつかないかもしれませんが、エディタ一本での開発は日常だったのです。
この時代には、現在のような豊富な開発支援ツールは存在せず、エディタとコマンドラインを駆使して開発が行われていました。シンタックスハイライトさえない環境で、エンジニアたちはバグと戦いながらコードを書いていたのです。
使われていた代表的なテキストエディタ
かつてのエンジニアが愛用していたテキストエディタには、いくつかの代表的なものがあります。
Vi/Vim
ViやVimは、1980年代から現在に至るまで根強い人気を誇るエディタです。キーボードだけで高速に操作できるため、GUIが発達する前の時代には特に重宝されていました。今でもサーバー管理やシンプルな編集作業には欠かせないツールとして使われています。
Vimは特にカスタマイズ性が高く、多くのプラグインが開発されてきました。しかし、初めて触れるエンジニアにとっては難解な操作体系で、習得には時間がかかることが難点とされています。それでも、多くのエンジニアがこのエディタを愛用し続けています。
Emacs
Viと並ぶ歴史を持つEmacsは、カスタマイズ性の高さで人気を誇っていました。Lispで自由に拡張できるため、プラグインを活用して統合開発環境のように使うことも可能でした。Emacsユーザーの間では「EmacsはエディタではなくOS」という冗談が言われるほど、高機能なツールでした。
Emacsの魅力は、その柔軟性と拡張性です。プラグインを追加することで、テキストエディタに留まらず、メールクライアントやカレンダー管理ツールとしても利用することが可能でした。
Windowsのメモ帳
驚くことに、一部のエンジニアはWindows標準の「メモ帳」でコーディングをしていました。簡単なスクリプトやHTMLファイルを編集する際に使われることが多かったものの、機能がほとんどないため、少しでも快適に開発するために別のエディタへ乗り換えるケースが一般的でした。
IDEがない時代の開発スタイル
コード補完なしのコーディング
現代のIDEにはコード補完機能がありますが、昔のエンジニアはすべて手入力でした。変数名のミスや関数のスペルミスは頻繁に発生し、コンパイルエラーと格闘するのが日常でした。
また、現在のようなインテリセンス機能がないため、APIリファレンスを手元に置きながらコーディングするのが一般的でした。多くのエンジニアは、必要な情報を素早く検索できるよう、分厚いマニュアルや書籍をデスクに並べて作業していました。
デバッガなしのバグ修正
現在はIDEに統合されたデバッガを使って、ブレークポイントを設定しながらバグを効率的に修正できます。しかし、かつてのエンジニアはログを出力したり、手作業でコードを追ったりしながらバグを見つける必要がありました。
エラーメッセージもわかりやすいものではなく、時にはメモリアドレスしか表示されないこともありました。そのため、エンジニアはバグを修正するために試行錯誤を繰り返し、仮説を立てながら問題を解決していく必要がありました。
バージョン管理も手動
Gitが登場する前は、バージョン管理を手作業で行うことが一般的でした。ファイルを手動でコピーして「program_v1」「program_v2」といった形で管理したり、変更内容を別ファイルに記録したりする方法が取られていました。
チームでの開発においては、バージョン管理が特に大変でした。ファイルの競合を避けるために、エンジニア同士が相談しながらコードの修正を進める必要がありました。
それでもエンジニアは戦い抜いた
高機能なIDEがなかった時代でも、エンジニアたちは工夫と知恵で効率的な開発環境を構築し、ソフトウェアを作り上げてきました。
現代のエンジニアにとって、テキストエディタだけでの開発は非効率に感じるかもしれません。しかし、ViやEmacsのようなツールを学ぶことで、より柔軟で効率的な開発スキルを身につけることも可能です。
まとめ
今やIDEなしの開発は考えられない時代ですが、かつてのエンジニアたちはテキストエディタだけで優れたソフトウェアを開発してきました。その知恵や工夫を学ぶことで、現代のエンジニアもよりスキルを高めることができるでしょう。
テキストエディタのみで開発していた時代を知ることで、現在の開発環境のありがたみを改めて感じることができます。エディタの進化は、エンジニアの生産性を飛躍的に向上させましたが、過去の手法を学ぶこともまた、新しい発見につながるかもしれません。