プログラミング
プログラミングは、コンピューターに実行させるための命令を記述することで、様々なアプリケーションやシステムを作成する技術です。
プログラミング言語は多数あり、それぞれ特定の目的に最適化されています。一般的なプログラミング言語には、C、Java、Python、Ruby、JavaScriptなどがあります。
周辺技術としては、以下のようなものがあります。
- フレームワーク:アプリケーションやシステムを開発するためのツールやライブラリの集合体です。代表的なフレームワークには、Ruby on Rails、Django、React、AngularJSなどがあります。
- データベース:アプリケーションが必要とするデータを保存し、取り出すための仕組みです。代表的なデータベースには、MySQL、PostgreSQL、MongoDBなどがあります。
- クラウドコンピューティング:インターネットを通じて、サーバーやストレージなどのコンピューティングリソースを提供する技術です。代表的なクラウドプロバイダーには、Amazon Web Services、Microsoft Azure、Google Cloud Platformなどがあります。
- ソース管理:プログラムのバージョン管理や共同開発を効率化するためのツールです。代表的なソース管理ツールには、Git、Subversion、Mercurialなどがあります。
- テスト自動化:プログラムの品質を確保するためのテストを自動化するためのツールです。代表的なテスト自動化ツールには、Selenium、JUnit、PHPUnit、RSpecなどがあります。
これらの周辺技術は、プログラミングをより効率的に行うために欠かせないものであり、プログラマーにとって重要な知識となります。
最初に学ぶプログラミング言語の選び方[編集]
プログラミング言語の選択については、学ぶ目的や環境に応じて異なる選択肢があります。以下は、初めて学ぶプログラミング言語を選ぶ際に考慮すべきいくつかのポイントです。
- 目的に合った言語を選ぶ
- プログラミング言語には、それぞれ得意とする分野があります。例えば、Web開発にはJavaScript、データ分析にはPython、システムプログラミングにはCやC++などがよく使われます。学ぶ目的に合った言語を選ぶことで、効率的に学ぶことができます。
- 学習リソースの充実度
- 学習リソースが豊富であるかどうかも、言語選択において重要なポイントです。初心者向けの学習リソースが充実している言語を選ぶことで、スムーズな学習ができるでしょう。また、オンライン上には無料で利用できる学習リソースも多数存在するため、選択肢を広げることも大切です。
- コミュニティの活発さ
- 言語のコミュニティが活発であれば、初心者でも質問や情報収集がしやすく、学習のサポートが受けやすいです。また、コミュニティに参加することで、プログラミングに対するモチベーションを高めることもできます。
- 言語の文法の理解しやすさ
- 初めて学ぶプログラミング言語は、その文法がわかりやすいものが望ましいです。理解しやすい文法を持つ言語を選ぶことで、学習のスピードが上がるでしょう。
- プログラミング言語の人気度
- 人気のある言語は、コミュニティの活発さや学習リソースの充実度が高い傾向があります。また、人気のある言語は求人市場でも需要が高いため、将来的なキャリアアップの可能性を見据えて選ぶこともできます。
共通知識[編集]
コンピュータ言語[編集]
アセンブリ言語[編集]
- x86アセンブラ
(2020-07-11)
- CASL - 国家試験「基本情報技術者試験」に出題するために開発されたアセンブリ言語。
プログラミング言語[編集]
- Ada
- ALGOL
- AWK
- BASIC
(2014-02-09)
- SMILEBASIC
- ※ VBAについては別セクションで紹介。
- Bash_Shell_Scripting
- C++
- C言語
(2020-07-11)
- C#
- COBOL
- D言語
(2020-07-11)
- Dart
- Fortran
(2014-02-09)
- GNU Octave
- Go
(2020-06-19)
- Haskell
- HSP
- Java
(2020-07-11)
- JavaScript
(2020-07-11)
- Kotlin
(2020-07-11)
- Lisp
(2014-02-09)
- Logo
- MathML
(2020-05-12)
- Objective-C
- OpenOffice.org Basic
- Perl
(2020-06-19)
- PHP
(2020-06-19)
- PL/I
- PL/M
- Prolog
- Python
(2020-06-19)
- Ruby
- Rust
- Scala
- Scheme
- SQL
(2020-07-11) ※ MySQL の単元は別の節でリンクを記載。
- Swift
- TypeScript
マークアップ言語[編集]
問い合わせ言語[編集]
データベース[編集]
仕様[編集]
実装[編集]
- MySQL
(2020-07-11) (mariaDB もココ)
- PostgreSQL
- SQLite
低レイヤープログラミング[編集]
ファームウェア[編集]
ファームウェアは、コンピューターや電子機器に組込まれているソフトウェアの一種で、本体内部の回路や周辺デバイスを制御する機能を持っています。
機械語[編集]
その他[編集]
ハードウェア記述言語[編集]
各論[編集]
フレームワークやライブラリ[編集]
- OpenGL
- OpenGLプログラミング
- Xプログラミング
- GNOMEフレームワーク
(2020-07-11)
- GTKプログラミング
(2020-07-11)
- Qtプログラミング
(2020-07-11)
- CGI
(2020-07-11)
- Chainer
マークアップ言語および関連技術[編集]
ソケットプログラミング[編集]
Office マクロ[編集]
その他[編集]
下位階層のページ[編集]
- プログラミング
- プログラミング/
- プログラミング/Haskell で学ぶ関数型プログラミング
- プログラミング/JavaScript で学ぶプロトタイプベースオブジェクト指向プログラミング
- プログラミング/Null安全性
- プログラミング/Ruby で学ぶオブジェクト指向プログラミング
- プログラミング/make
- プログラミング/ジェネリックプログラミング
- プログラミング/ダックタイピング
- プログラミング/テンソル
- プログラミング/データー構造
- プログラミング/プログラミング・パラダイム
- プログラミング/リテラル
- プログラミング/共通知識
- プログラミング/列挙型
- プログラミング/初歩的な課題集
- プログラミング/型推論
- プログラミング/変数
- プログラミング/式と演算子
- プログラミング/浮動小数点数
- プログラミング/短絡評価
- プログラミング/連想配列
- プログラミング/遅延評価
- プログラミング/配列
- プログラミング/関数型プログラミング
- プログラミング言語
- プログラミング言語/はじめに
- プログラミング言語/アスペクト言語
- プログラミング言語/オブジェクト指向言語
- プログラミング言語/スクリプト言語
- プログラミング言語/ドメイン特化型言語
- プログラミング言語/プロシージャ型言語
- プログラミング言語/並行処理言語
- プログラミング言語/命令型言語
- プログラミング言語/意味論
- プログラミング言語/文法仕様
- プログラミング言語/特徴
- プログラミング言語/特徴/行
- プログラミング言語/特徴/行・オブジェクト指向言語
- プログラミング言語/論理型言語
- プログラミング言語/関数型言語