Open lycp152 opened 1 year ago
Programing Langage
C: C言語の影響:C言語は1972年に開発され、それから数十年にわたり広く使われ続けている。そのため、現代の多くのプログラミング言語の基盤となっており、その影響は非常に大きい。
C++: C++はC言語の拡張: C++はC言語を拡張した言語であり、Cとの高い互換性を持っている。C++ではCのコードをそのまま利用でき、C++言語の機能を追加できる。これは、既存のCプロジェクトをC++に移行する際に役立つ。
C#: C#とMicrosoft: C#はMicrosoftによって開発され、プラットフォームでのアプリケーション開発に特に適している。.NET Coreはクロスプラットフォーム対応であり、LinuxやmacOSでもC#アプリケーションを実行できる。
Go: Goはコンテナ技術の開発に関与: GoはGoogleによって開発され、非常に高速なコンパイルを実現している。またDockerのコンテナ技術は、Go言語で開発された。Goのシンプルで効率的な特性が、Dockerの成功に寄与した。
Java: 最初はオーク: Javaは当初、「オーク」(Oak)という名前で開発された。しかし、コンピュータ産業で同名の商標が既に存在していたため、後にJavaに名前が変更された。この名前はコーヒー豆に由来している。
カレンダーシステムのバグ: 2003年に発見されたJavaのカレンダーシステムのバグにより、特定の日付が正しく表示されないという問題が発生した。これは、複雑な日付計算の難しさを示している。
JavaScript: 初めはMochaから始まった: JavaScriptは最初「Mocha」という名前で開発されたが、後に「LiveScript」に改名され、最終的に「JavaScript」に変更された。この名前の変更は、当時のJavaの人気に乗じるための戦略的な決定だった。
TypeScript: Microsoftが開発: TypeScriptはMicrosoftによって開発された。TypeScriptの主要な設計者の一人は、C#の設計者であるAnders Hejlsberg。この言語は、JavaScriptの静的型システムを追加して、大規模なアプリケーションの開発を支援することを目的としている。
PHP: 個人プロジェクトから始まった: PHPは当初、個人プロジェクトとしてRasmus Lerdorfによって開発された。最初のバージョンは、彼が自身のウェブサイトを管理するために作成したスクリプト言語だった。
Ruby: 松本行弘(Matz)による開発: Rubyは日本のプログラマーである松本行弘(通称:まつもとゆきひろ、またはMatz)によって開発された。彼はプログラミング言語の設計において、プログラマの幸福と可読性を重要視しており、Rubyの設計哲学はこの思想に基づいている。
Perl: Practical Extraction and Reporting Languageの略: Perlの名前は「Practical Extraction and Reporting Language」の略で、初期のバージョンではテキストデータの抽出と報告を主な目的としていた。しかし、Perlはその柔軟性から汎用のスクリプト言語として広く使用されるようになった。
Frontend Development
Vue.js: Evan Youによる個人プロジェクト: Vue.jsはEvan Youによって開発され、2014年に最初のバージョンがリリースされた。最初は個人プロジェクトとして始まりましたが、急速にコミュニティに受け入れられた。
React: Reactはフレームワークではなくライブラリ: 単独でUIコンポーネントのビルディングをサポートする。一方で、AngularやVue.jsなどはフレームワーク。
CSS3: CSSのバージョン: CSS3は実際にはバージョン番号が存在しない、非公式な用語。CSSは連続的に進化しており、新しい機能が追加されているが、公式にはCSS仕様のレベル(Level)が指定されている。CSS3はCSSのレベル3の機能を指す言葉として広まった。
HTML5: HTML5の統一規格: HTML5はHTML、CSS、JavaScriptを含むウェブ技術の統合規格であり、ウェブ開発者がさまざまなメディアやプラットフォームに適したコンテンツを作成するための多くの新機能を提供している。また、オーディオやビデオのネイティブサポートなど、多くの優れた機能が導入された。
Backend Development
Node.js: npm(Node Package Manager): Node.jsのエコシステムはnpmと呼ばれるパッケージ管理システムを通じて成長した。npmは、数百万ものオープンソースパッケージを提供し、ウェブ開発者にとって非常に便利なツールとなっている。
NestJS: Angularに影響を受けた: NestJSは、Angularのコンポーネントベースのアーキテクチャからインスパイアを受けている。そのため、Angular開発者がNestJSに移行しやすく、フロントエンドとバックエンドの開発を統一的に行うことができる。
TypeScriptのサポート: NestJSはTypeScriptをベースにしており、静的型チェックや豊富なIDEサポートを提供する。これにより、安全で信頼性の高いコードを書くことができる。
Mobile App Development
Flutter: Googleによる開発: FlutterはGoogleによって開発されており、クロスプラットフォームのモバイルアプリケーション開発を支援するために設計された。GoogleはAndroidの開発にも関与しており、FlutterはAndroidアプリケーションとの親和性が高い。
Dart: Googleによる開発: DartはGoogleによって開発された。最初に「Dash」というコードネームで開発が始まり、後にDartとして正式に発表された。GoogleはDartをウェブアプリケーション開発向けに推進している。
Kotlin: JetBrainsによる開発: KotlinはJetBrainsというソフトウェア開発ツールの会社によって開発された。最初はJavaの代替言語として設計され、Javaとの互換性を持っている。
Database
MySQL: MySQLの発音: MySQLの発音については多くの議論がある。一般的な発音は「マイエスキューエル」または「マイエスキュール」とされているが、それぞれの地域や言語によって異なる発音が存在する。
Devops
AWS: Amazonの利益の大部分: AmazonはEC2(Elastic Compute Cloud)、S3(Simple Storage Service)、RDS(Relational Database Service)など、多くのAWSサービスを提供している。これらのAWSサービスはAmazonの収益の大部分を占めており、Amazonの主要な収益源となっている。
初期のバージョンの名称: AWSの初期のバージョンは「Amazon Web Services」ではなく「Amazon Elastic Compute Cloud (Amazon EC2)」という名前だった。その後、「AWS」は広範に使用されるようになり、AWS全体のサービスを指す一般的な用語となった。
最初の顧客: AWSの最初の公的な顧客は、2004年にスタートアップとして立ち上げられたSmugMugという写真共有サービスだった。彼らはAWSのS3(Simple Storage Service)を利用して写真を保存し、その後、AWSが大規模なクラウドプラットフォームとして成長する一助となった。
Docker: Dockerの起源: DockerはSolomon Hykesによって開発された。最初はDotCloudというプラットフォームの一部として作成され、後にDocker Inc.という会社が設立され、Dockerプロジェクトが独立した。
コンテナ仮想化: Dockerはコンテナ仮想化を基にしており、アプリケーションとその依存関係をコンテナにパッケージ化し、異なる環境で実行できるようにする。これにより、アプリケーションの移植性と効率が向上した。
Azure: Microsoftのクラウドプラットフォーム: AzureはMicrosoftによって提供されるクラウドコンピューティングプラットフォームであり、さまざまなクラウドサービスを提供している。AzureはAWSと競合する主要なクラウドプロバイダーの一つ。
オープンソースのサポート: Azureは多くのオープンソースプロジェクトや技術と統合されており、Linux仮想マシン、Dockerコンテナ、Kubernetesクラスタなど、さまざまなオープンソーステクノロジーをサポートしている。
Google Cloud Platform(GCP): Googleの基盤: GCPはGoogle自体が運用するインフラストラクチャを基にしている。Googleは世界中にデータセンターを持ち、高可用性とスケーラビリティを提供する。
量子コンピューティング: Googleは量子コンピューティング分野にも進出し、Quantum AI(量子人工知能)を推進している。GCPはQuantum AIをサポートし、量子コンピューティングの利用を研究者や開発者に提供している。
Backend as a Service(BaaS)
Firebase: Firebaseは初めは独立したスタートアップ: Firebaseは2011年にJames TamplinとAndrew Leeによって設立されたスタートアップで、モバイル開発者向けにバックエンドサービスを提供していた。その後、2014年にGoogleに買収され、Googleのクラウドプラットフォームと統合された。
Framework
Django: Djangoの名前の由来: Djangoはジャズギタリストのジャンゴ・ラインハルト(Django Reinhardt)にちなんで名付けられた。ジャンゴ・ラインハルトはベルギー出身のギタリストで、彼の音楽に触発されたDjangoの開発者がこの名前を選んだ。
.NET: .NET Coreと.NET 5以降: .NET Coreはクロスプラットフォーム開発をサポートするために導入され、その後.NET 5、.NET 6などのバージョンがリリースされた。これにより、Windows、Linux、macOSなどの異なるプラットフォームでアプリケーションを開発できるようになった。
Laravel: Artisanコマンドラインツール: LaravelにはArtisanと呼ばれるコマンドラインツールが組み込まれており、アプリケーションのスケルトンコードの生成、データベースのマイグレーション、テストの実行など、さまざまなタスクを効率的に実行できる。
Ruby on Rails: 開発者の幸福度: Ruby on Railsは開発者の幸福度を高めることに焦点を当てて設計された。Rubyのシンプルな構文とRailsのコーディング規約により、開発が楽しくなり、生産性が向上する。
Software
Illustrator: 初期のバージョンはMac専用: Illustratorは1986年に初めてリリースされ、最初のバージョンはMacintosh専用だった。後にWindows版も登場し、広く普及した。
Photoshop: 初期のバージョンは非常に限定的: 最初のPhotoshopは非常に限定的な機能しか持っておらず、写真編集ソフトウェアとしての可能性を十分に示していなかった。しかし、バージョンアップと共に多くの機能が追加され、多岐にわたるデザインおよび編集用途に広がった。
"Photoshop"は動詞にもなる: "Photoshop"は写真編集ソフトウェアの名前として広く知られているが、一般的には写真や画像を編集する行為そのものを指す動詞としても使用される。例えば、"I Photoshop the image. "という風に使われる。
Static Site Generators
Next.js: ホットリローディング: 開発中にNext.jsはホットリローディングをサポートしており、コードの変更をリアルタイムで反映させることができる。これは開発者にとって効率的な開発環境を提供する。
Nuxt.js: 日本発祥: Nuxt.jsは日本の開発者である藤原 宏によって作成された。彼はVue.jsコミュニティで活動しており、Nuxt.jsはその経験から生まれたフレームワーク。藤原宏は日本を代表するフロントエンドエンジニアの一人として知られている。
Game Engines
Unity: 大手ゲーム制作会社に採用: Unityは多くの独立系ゲーム開発者だけでなく、大手ゲーム制作会社にも採用されており、ヒットゲームの制作に広く利用されている。例えば、「Pokemon Go」や「Hollow Knight」などがUnityで開発された。
Unreal Engine: 映画制作にも使用: Unreal Engineはゲーム開発だけでなく、映画制作にも広く利用されている。リアルタイムレンダリングの能力により、映画制作者は劇的な効果や背景をリアルタイムでプレビューできる。
Others
Linux: リーナス・トーバルズによる創始: Linuxオペレーティングシステムは、フィンランドのコンピュータサイエンティストであるリーナス・トーバルズによって1991年に開発された。彼は当初、UNIX互換のオペレーティングシステムを趣味で開発していたが、後にLinuxは世界中の開発者によって支えられる大規模なプロジェクトとなった。
Git: Linus Torvaldsによる開発: GitはLinuxカーネルの開発者であるリーナス・トーバルズによって開発された。彼はLinuxカーネルのソースコード管理のためにGitを作成し、その後、世界中のソフトウェア開発で広く採用された。
GitHub: GitHubの創設者は2人: GitHubは2008年にTom Preston-Werner、Chris Wanstrath、PJ Hyettの3人の共同設立者によって創設された。この3人はRuby on Railsコミュニティで活動していたことがGitHubの発端であり、その後GitHubは急速に成長した。
GitLab: GitHubとGitLabは同じ年に設立: GitHubとGitLabは両方とも2008年に設立された。GitHubはTom Preston-Werner、Chris Wanstrath、PJ Hyettによって設立され、GitLabはDmitriy Zaporozhetsによって設立された。このため、両者は同じ時期に登場し、競合関係にある。
Ubuntu: Ubuntuの名前の由来: "Ubuntu"という名前は南アフリカのズールー語に由来しており、"人間性に対する思いやりと共感"を意味する。この名前は、Linuxのコミュニティにおける協力と共感の精神を反映している。
Visual Studio Code(VSCode): 起源はTypeScript: Visual Studio Codeの開発は、TypeScriptというMicrosoftのプログラミング言語で行われた。実際、VSCodeはTypeScriptのコードで書かれており、TypeScriptコンパイラを使用してビルドされている。
As Is
(今の状態を記載)
To Be
(理想の状態を記載。タスク完了の条件にもなる。)
アクション
(改善のための具体的なアクションを記載)
課題
(現状分かっている課題を記載)