• ソフトウェア開発の過去を振り返るきっかけは、BASICの60周年とSQLの50周年であった。
  • イアン・ミエルが作成した図は、ソフトウェア開発の歴史を示すのに適しているが、図には重要な進歩を遂げたツールのみが含まれている。
  • 1980年代の学校では、CESIL(Computer Education in Schools Instruction Language)を使用してパンチカードに指示を書き、メインフレームで処理された。
  • グラフィカルユーザーインターフェース(GUI)の登場により、一般の人々もコンピュータを使用しやすくなった。
  • SQLは宣言型言語の一例であり、何をしたいかを述べるが、どのように実行するかは述べない。
  • 1990年代初頭、C言語を使用してプログラムを作成する際にはMakeが必要だった。
  • tarファイルは、展開可能なファイルセットを作成する最初の試みの一つである。
  • バージョン管理システムとして、CVS(Concurrent Versioning System)が初めてのクライアントサーバーシステムとして機能した。
  • 2000年代には、開発者は品質保証(QA)など生産プロセスの他の部分と密接に連携するようになった。
  • Gitは分散型の特徴を持ち、中央のストレージ場所が不要だが、多くの組織が依然として中央の場所を使用している。
  • Javaは依存関係管理にMavenを使用し、プロジェクトを構築するために必要なすべてをダウンロードした。
  • Jenkinsは連続的な統合/連続的な開発(CI/CD)の成功を支えるキーである。
  • クラウド時代の到来により、インフラストラクチャに物理的に触れることができなくなったため、事前に何をしたいかを明確にすることがさらに重要になった。
  • 現在はコンテナ管理、オーケストレーション、スケーリング、監視に焦点が当てられている。
  • クラウドは新たな機会を提供すると同時に、さまざまな問題も提起している。

この記事はソフトウェア開発の進化について詳しく説明しており、特に過去の技術やツールが現代の開発プラクティスにどのように影響を与えているかに焦点を当てている。過去の技術が現在にどのようにつながっているのかを理解することは、より効率的な開発方法や新しい技術の適応に役立つ洞察を提供する。また、技術の進化は単にツールの変更だけでなく、開発者の役割や考え方にも影響を与えていることがうかがえる。


元記事: https://thenewstack.io/from-cards-to-clouds-a-family-tree-of-developer-tools/