プログラミング
コンピューター・プログラミングは、意味のあるタスクを実行するために、コンピュータ・システムによってインタープリトまたはコンパイルされる、有用で保守可能かつ拡張可能なソースコードを記述する技術です。
コンピュータのプログラミングは、高レベルのプログラミング言語から、低レベルの機械語(コンピュータのハードウェアの仕様をより直接的に制御するコード)やマイクロコード(コンピュータ内の素子を直接制御するコード)に至るまで、色々な方法で行うことができます。
プログラミング言語とマークアップ言語(HTMLなど)の使用には、同じようなスキルが必要とされるが、マークアップ言語の使用は一般的に「プログラミング」とは見なされません。しかし、多くのマークアップ言語ではスクリプトを組み込むことが可能で、例えば多くのHTML文書にはJavaScriptが含まれています。
本ページでは便宜上、マークアップ言語やデータベースなどの関連技術も紹介します。これらはプログラマーが兼任することも多い仕事です。
前書き・予備知識[編集]
スタートアップ[編集]
多くのプログラマーは、一般的に複数のプログラミング言語に精通しています。複数の言語を知っているということは、コンピュータの命令を様々な方法でリスト化する能力を持っているということです。コンピューター・プログラミング言語には多くの共通点があるため、他のプログラミング言語をマスターすれば、新しいプログラミング言語を習得するのは比較的に簡単です。
では、どうやって学習を始めるのか? 一つの方法は、ある言語を選んで、それを実行することです。 残念ながら、すべての人、すべての目的に適したコンピュータ言語を提案することはできません。10人のプログラマーにどの言語を学ぶべきか尋ねれば、10通りの答えが返ってくるでしょう。
言語の種類[編集]
コンピュータ・プログラミングに慣れていない人は、プログラミング言語は基本的にどれも同じだと考えることがあるようですが、これは事実と違います。 主流のパーソナルコンピュータ用の言語は、特定の伝統から派生したものであり、非常に似通っていますが、中には根本的に異なるプログラミング体験を提供する、異なるパラダイムに属する言語もあります。 例えば、Javaでのプログラミングは、アセンブリ言語でのプログラミングとは全く異なり、HaskellやProlog、Forthなどでのプログラミングとは全く異なるものです。
共通知識[編集]
コンピュータ言語[編集]
アセンブリ言語[編集]
- 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 マクロ[編集]
その他[編集]
下位階層のページ[編集]
- プログラミング
- プログラミング/make
- プログラミング/ダックタイピング
- プログラミング/共通知識
- プログラミング/列挙型
- プログラミング/初歩的な課題集
- プログラミング言語
- プログラミング言語/はじめに
- プログラミング言語/アスペクト言語
- プログラミング言語/オブジェクト指向言語
- プログラミング言語/スクリプト言語
- プログラミング言語/ドメイン特化型言語
- プログラミング言語/プロシージャ型言語
- プログラミング言語/並行処理言語
- プログラミング言語/命令型言語
- プログラミング言語/意味論
- プログラミング言語/文法仕様
- プログラミング言語/特徴
- プログラミング言語/特徴/行
- プログラミング言語/特徴/行・オブジェクト指向言語
- プログラミング言語/論理型言語
- プログラミング言語/関数型言語