深奥的编程语言
编程语言的范型可以分为若干类别，这些类别可以用来大致了解特定语言的操作方式。其中包括命令式语言，如brainfuck，其指令描述了如何修改数据；函数式语言，如Unlambda，其中的数据和代码都或多或少地可交换，而程序的执行是通过重复迭代调用函数实现的；和重写语言，如Thue，其中可以使用变换函数使状态初始化。
异常处理
许多常见的程序设计语言，包括Actionscript，Ada，BlitzMax，C++，C#，D，ECMAScript，Eiffel，Java，ML，Object Pascal（如Delphi，Free Pascal等），Objective-C，OCaml，PHP（version 5），PL/I，Prolog，Python，REALbasic，Ruby，Visual Prolog以及大多数.NET程序设计语言，内建的异常机制都是沿着函数-{zh-hans:调用栈;zh-hant:呼叫堆疊}-的函数调用逆向搜索，直到遇到异常处理代码为止。一般在这个异常处理代码的搜索过程中逐级完成-{zh-hans:栈卷回;zh-hant:堆疊輾轉開解;}-（stack unwinding）。但Common Lisp是个例外，它不采取-{zh-hans:栈卷回;zh-hant:堆疊輾轉開解;}-，因此允许异常处理完后在抛出异常的代码处原地恢复执行。而 Visual Basic（尤其是在其早于 .net 的版本，例如 6.0 中）走得更远：codice_18 语句可轻易指定发生异常后是重试（codice_19）还是跳过（codice_20）还是执行程序员定义的错误处理程序（codice_21）。
函数式编程
1973年爱丁堡大学的Robin Milner发明了ML语言，它的语法受到了ISWIM的启发。同年，在圣安德鲁斯大学开发了SASL语言，它基于了ISWIM的应用式子集。在1976年，Turner重新设计并重新实现它为惰性求值语言。在20世纪70年代的爱丁堡，和John Darlington开发了NPL语言。 NPL基于Kleene的递归方程，并在他们的程序转换工作中首次引入。 然后Rod Burstall、David MacQueen和结合了来自ML的多态类型检查，从NPL派生出了Hope语言。ML最终发展成几种语言，其中最常见的是OCaml和Standard ML。
指称语义
把一个程序语言转换成另一个语言经常是有用的。例如一个并发编程语言可被转换成进程演算；高级编程语言可以被转换成字节码(实际上，常规指称语义可以被看作把编程语言解释成域的范畴的内部语言)。
Curl (编程语言)
Curl语言容易学习，且编程效率高，是一种支持多重继承，泛型等特性的面向对象编程语言。
教育编程语言列表
“Abelson 和 Sussman 在1984年出版的《Structure and Interpretation of Computer Programs》（SICP），给上世纪八十年代的计算机课程设计带来了彻底性的改变。更为重要的是，SICP 打破了语法入门课程的垄断，不再是将课程的组织仅仅围绕某个当前流行的程序设计语言的语法，而是将学习计算科学的重点放在了：functional abstraction (函数抽象), data abstraction（数据抽象）, streams（流）, data-directed programming（数据导向编程）, implementation of message-passingobjects（消息传递对象的实现）, interpreters（解释器）, compilers（编译器）, and register machines（寄存器机器）。”
通用中间语言
通用中间语言（Common Intermediate Language，簡稱CIL，发音为"sill"或"kill"）是一种属于通用语言架构和.NET框架的低階（lowest-level）的人类可读的编程语言。目标为.NET框架的语言被编译成CIL，然后汇编成字节码。CIL类似一个面向对象的組合语言，并且它是完全基于堆栈的。它运行在虚拟机上，其主要的语言有C#、Visual Basic .NET(VB.NET)、C++/CLI以及J#。
函数式逻辑编程
函数式逻辑编程，是在一个单一的编程语言中，组合函数式编程和逻辑编程两种编程范式。这种编程风格已经体现在多种编程语言中，包括Curry、Mercury和Oz等。
只写语言
被戏称为只写语言的编程语言有APL、（DDT）、Perl、Forth、（TECO）、Mathematica、IGOR Pro和各种语言中使用的正则表达式语法。这些语言的共同属性包括大量的操作符集和鼓励或至少允许编写非常密集的代码的语法。有些语法与其他语言非常不同，有些使用不同的字符集。
第三代编程语言
第三代编程语言（third-generation programming language）簡稱3GL，是在编程语言世代的分类中，針對高階電腦编程语言分類的方式，像是Fortran、COBOL、C语言及Java都是第三代编程语言。
值级编程
在计算机科学中，值级（Value-level）编程，指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一，另一种是函数级编程。Backus最初使用术语“对象级编程”，但是现在这么称呼可能会混淆于面向对象编程。
字符串
一些编程语言设计为编写字符串处理程序更容易编写。这是一些例子：
符号式编程
支持符号式编程的语言包括同像性语言比如LISP、Prolog和Wolfram语言等。
指定敘述
一些编程语言，比如APL、Common Lisp、Go、JavaScript（自从1.7）、Lua、Maple、occam 2、Perl、PHP、Python、REBOL、Ruby、Windows PowerShell，允许多个变量被并行的赋值，语法如下：
编程语言
一个程序中专门处理数据的那个系统被称为程序语言的型态系统（）；对型态系统的研究和设计被称为型态理论（）。语言可以被分为静态型态系统（），例如C++和Java，和动态型态系统（），例如Lisp，JavaScript，Tcl和Prolog。前者可被进一步分为包含宣告型态（）的语言，即每一个变量和函数的型态都清楚地宣告，或type-inferred语言（例如MUMPS，ML）。
JavaScript
JavaScript与Java在名字或语法上都有很多相似性，但这两门编程语言从设计之初就有很大的不同，JavaScript的语言设计主要受到了Self（一种基于原型的编程语言）和Scheme（一门函数式编程语言）的影响。在语法结构上它又与C语言有很多相似（例如if条件语句、switch语句、while循环、do-while循环等）。
程序员
软件开发人员需要在计算机技术的某些方面具有深厚的技术专长。有些职位需要相关领域的学位，如计算机科学、信息技术、工程、编程或任何其他与IT相关的研究生学习。 一个理想的软件开发人员是一个自我激励的专业人员，在诸如C++、C#、PHP、Java、C、JavaScript、Visual Basic、Python、Smalltalk等关键编程语言上拥有动态的动手实践经验。
通用编程语言
在计算机软件中，通用编程语言指被设计為各种应用领域服务的编程语言。通常通用编程语言不含有为特定应用领域设计的结构。
松耦合
拥有作为核心模块的函数（参见函数式编程）或函数对象的计算机编程语言提供了松耦合编程的极好的例子。函数式语言拥有计算续体、闭包或生成器等模式。函数式编程语言的例子参见Clojure和Lisp。Smalltalk和Ruby等面向对象的语言拥有代码块，而Eiffel拥有agent。基本思想是具象化(封装为对象)独立于任何其他封闭概念的函数(例如将对象函数与封闭对象的任何直接知识解耦)。作为头等函数的一种形式，函数作为对象的更进一步知识参见头等函数。
泛型编程
泛型程序设计（generic programming）是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型，在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift 和 Visual Basic .NET 称之为泛型（generics）；ML、Scala 和 Haskell 称之为参数多态（parametric polymorphism）；C++ 和 D称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型（parameterized type）。
边界检查
在目前常见的编程语言中，强制进行边界检查的有C#、Ada、Haskell、Java、JavaScript、Lisp、PHP、Python、Ruby和Visual Basic。其中C#同时支持“unsafe块”（不安全代码块），即一段暂时关闭边界检查、启用指针以提高效率的代码块。这个功能常被用于加速一小段不可能出现越界问题的代码的执行速度，而不至于破坏整个程序的安全性。除了这些语言，D语言和OCaml也支持自动边界检查，但是允许用户通过编译器的一个开关选项来选择是否启用该功能。 然而，有一些编程语言（比如C语言）为了提高速度，从来都不会自动进行边界检查，这经常导致差一错误（见右图）和缓冲区溢出的发生。许多程序员认为这些语言为了速度所付出的代价太大了。在1980年图灵奖讲座上，東尼·霍爾讲述了他设计包含边界检查的ALGOL 60语言时的经历：
深奥的编程语言
深奥的编程语言（Esoteric programming language，有时简写为Esolang）是一类编程语言，它们被设计用于测试计算机语言表达的极限，或者作为一个概念的证明(POC)，或仅仅是一个程序员的冷玩笑。"esoteric"将它们与开发人员真正用于编写软件的语言区别开来。通常情况下，Esolang的创作者通常并不打算让它成为主流编程语言，尽管如此，一些深奥的功能如视觉空间语法，启发了在艺术中的实际应用。这种语言在黑客和爱好者之间通常较流行。
编程语言
電腦程式語言可能是以批处理任务的方式執行，中間不需和使用者互動，也有可能是由用戶在直譯器中指定執行特定的的程式。若某一程式語言的是目的是在某一應用軟體（如Unix shell）或其他命令列介面執行其他程式，此程式語言會稱為脚本语言。
动态语言
动态编程语言是高级编程语言的一个类别，在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言：例如新的函数、对象、甚至代码可以被引进，已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript（JavaScript）便是一个动态语言，除此之外如PHP、Ruby、Python等也都属于动态语言，而C、C++、Java等语言则不属于动态语言。
可微分编程
多数可微分编程框架是通过构造包含程序中的控制流和数据结构的图来进行工作的。早期的尝试一般可归入两组之中： 这些早期方式都只能微分以适合于这些框架的风格书写的代码，限制了同其他程序的互操作性。
面向堆栈编程
面向堆栈编程，或基于堆栈编程，是依赖于堆栈机器模型来传递参数的编程范型。一些编程语言适合这种描述，著名的有Forth、、 PostScript、BibTeX风格设计语言和很多汇编语言。
编程语言
编程语言可借助机械、电子、电脑完成人类需求的计算、功能与目的。
第三代编程语言
這些程式語言可以在不同的平台下執行，所以是跨平台的。不過隨著抽象程度更高語言的出現，「高階語言」及「低階語言」變成相對性的概念。這些早期的「高階語言」相較於Python、Ruby或Common Lisp而言，已經算是比較低階的語言了，而後者的語言已有一些第四代程式語言的特點。
高階組合語言
HLA 支持所有与其他 x86 汇编程序相同的低级机器指令。而且，HLA 的高级控制结构是基于 MASM 和 TASM 中发现的那些，它们中的类高级编程语言的特征要比 HLA 的出现早上几年。在HLA 中，通过忽略高级编程语言的控制结构，低层汇编代码可以像其他汇编程序一样容易编写。与像Pascal和C/C++这样的高级语言不同，HLA 不需要内联 asm 语句。在 HLA 中，类高级编程语言的特征能够通过平滑学习曲线为开始学习汇编语言的程序员提供学习帮助（假设他们在掌握低级指令集后将停止使用这些语句）。在实践中，许多有经验的程序员在掌握低级指令集后仍旧继续在HLA、MASM 和类高级编程语言的语句，但这通常是为了提高可读性。
Unicode字型
Unicode 现在是许多新标准和协议的标准编码，并内置于操作系统（Microsoft Windows、Apple Mac OS 以及许多版本的 Unix 和 Linux）、编程语言（Ada、Perl、Python、Java、 Common LISP、APL）和库（IBM International Components for Unicode (ICU)，以及 Pango、Graphite、Scribe、Uniscribe 和 ATSUI 渲染引擎）、字体格式（TrueType 和 OpenType）等。 许多其他标准也正在升级以符合 Unicode。
纯函数式编程
当一个程序使用了某些函数式编程概念的时候， 比如头等函数和高阶函数，它通常就被称为是函数式的。但是，头等函数不必然是纯函数式的，由于它可以使用来自指令式范型的技术，比如数组或输入/输出方法，故而它们不是纯函数程序。事实上，最早被引证为函数式的编程语言，IPL和LISP，按照当前定义都是非纯函数式语言。
第四代程式語言
第四代程式語言的概念是從1970年代到1990年代之間形成，和大部份的第三代程式語言發展有重疊。像是C语言、C++、C♯、Java及JavaScript仍常出現在許多應用中，而第四代程式語言最早是針對較專門的應用所規劃。一些晚期的第三代程式語言，像是Python、Ruby及Perl已結合了一些第四代程式語言的能力，但仍在通用第三代程式語言的環境下運作。大部份流行的第三代程式語言也有函式庫支援類似第四代程式語言的功能，因此兩者的分界越來越來模糊。
中华人民共和国学科分类与代码国家标准
《学科分类与代码》仅将学科分类定义到一、二、三级，共设5个门类、62个一级学科或学科群、676个二级学科或学科群、2382个三级学科。门类排序顺序为：A 自然科学，代码为110~190；B 农业科学，代码为210~240；C 医药科学，代码为310~360；D 工程与技术科学，代码为410~630；E 人文与社会科学，代码为710~910。
编程范型
编程范型提供并决定了程序员对程序执行的看法。例如，在面向对象编程中，程序员认为程序是一系列相互作用的对象，由于方法论的不同，面向对象编程范型又分为基于类编程和基于原型编程，而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。
省略号 (计算机编程)
一些编程语言 (如Ada、Perl、Ruby、Groovy、Kotlin、Haskell、Pascal)，2个句点作为省略号，用于表示给定两端数值的一个范围。例如，Perl语言的在1至100的整型列表（list）上迭代：codice_1
基于对象语言
在这种定义下，基于原型是基于对象的，如JavaScript，其他的例子有：早期版本的Ada、Visual Basic（VB）和Fortran 90。而面向对象则是基于类且基于对象的，如：Simula、Smalltalk、C++、Objective-C、Eiffel、Xojo、Python、Ruby、Java、Visual Basic .NET、C#和Fortran 2003。另一种更常见的定义则是，只要使用“对象”该概念的编程语言都是面向对象语言，这种定义下，面向对象有两种分类：基于类的面向对象，基于原型的面向对象。
Windows API
C是Windows API（Win32）的主要编程语言，在该API的文档中所公开的函数和数据结构均以该语言进行了描述。但是，如果某种编程语言能够处理（明确定义的）低级数据结构，并能按照规定进行调用与回调，那么其编译器或汇编器也可以调用Windows API。类似地，在历史上Windows API也由多种语言进行了开发。尽管C不是面向对象的编程语言，但Windows API和Windows都具有面向对象的特性；同时，也有许多面向对象语言的包装类和扩展（如微软基础类库MFC、可视化组件库VCL、GDI+等）使这种面向对象的结构更加清晰。例如，Windows 8提供的Windows API和WinRT API就是用C++实现的，并且在设计上也是面向对象的。
文学编程
文学程序是用自然语言（比如英语）写出来的对程序逻辑的解释，程序中交织点缀着巨集和传统源代码段。在文学编程的源文件中，巨集很简单，它或与标题类似，或是解决编程问题时用人类语言描述抽象的解释性短语。它把代码段或更低层次的巨集隐藏了起来，且与计算机科学教学时经常用到的，用虛擬碼写的算法相似。这些任意解释的短语成为新的精确的操作符，操作符由程序员在运行过程中创建，组成了在基本编程语言之上的“元语言”。 预处理器用于替换任意层级，说得更准确些是“在'网'和巨集之间建立联系”，用命令"tangle"产生可编译源代码，用命令"weave"产生文档。预处理器还提供了写出巨集的内容的能力和在文学程序源文件中的任何地方增加已创建的巨集的能力，由此不必受传统编程语言强加的那些限制或是打断自己的思路。
脚本语言
虽然许多脚本语言都超越了计算机简单任务自动化的领域，比如JavaScript、Perl、PHP、Python、Ruby和Tcl，成熟到可以编写精巧的程序，但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层，如计算机游戏，网络应用程序，字处理文档，网络软件等。在许多方面，高级编程语言和脚本语言之间互相交叉，二者之间没有明确的界限。
通道 (编程)
编程语言XC提供了原始类型codice_1，和两个算符codice_2和codice_3用于对通道的发送和接收数据。XC语言还允许通过codice_4语句在通道上异步接收。
编程语言
如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译，并之后运行内部格式，那么这个翻译过程就被称为编译。因此，一个编译器是一个将人可阅读的程序文本（叫做源代码）作为输入的数据，然后输出可执行文件（）。所输出的可执行文件可以是机器语言，由计算机的中央处理器直接运行，或者是某种模拟器的二进制代码。
编程语言
每一种程序设计语言可以被看作是一套包含语法、词汇和含义的正式规范。
数据结构
系統架構的关键因素是数据结构而非算法的見解，导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想，透过将数据结构的具体实现封装隐藏于使用者介面之后的方法，来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来達到這個目的。
编程语言
有许多用于特殊用途的语言，只在特殊情况下使用。例如，PHP专门用来显示网页；Perl适合文本处理；C语言被广泛用于操作系统和编译器的开发（所谓的系统编程）。
比較C♯和Java
现在的编程语言都支持泛型编程，但它们却采用了不同的实现方式。
程式語言世代
第三代语言是高阶语言，较易被人类理解，包括常用的C／C++、C#、Objective- C、Java、Pascal和Visual Basic等等……
类型论
在计算机科学分支中的编程语言理论中，类型论提供了设计分析和研究类型系统的形式基础。实际上，很多计算机科学家使用术语“类型论”来称呼对编程语言的类型语言的形式研究，尽管有些人把它限制于对更加抽象的形式化如有类型lambda演算的研究。
编程语言
编程语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说，懂得程序设计语言是十分重要的，因为在当今所有的计算都需要程序设计语言才能完成。
函数级编程
他设计的FP语言成为了第一个专门支持函数级编程风格的编程语言。
Factor (编程语言)
Factor是动态类型的、函数式和面向对象的编程语言。代码可以围绕叫做单词的小型过程来构造。在典型的代码中，这些过程一般1–3行长，多于7行长的过程是非常少见的。在其他编程语言中习惯上表达为一个过程的某个东西，在Factor中可以写为多个单词。
函数级编程
在计算机科学中，函数级（Function-level）编程，指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一，另一种是值级编程。
Dylan (编程语言)
在Dylan中，泛化函数表示零或多个类似的方法，用codice_39方式创建的所有方法自动的包含在同名的泛化函数之内。泛化函数也可以显式的用codice_40声明，允许编程者精确控制可以增加哪种方法。代码被隔离于存储而位于泛化函数中。很多类在其中拥有它们自己的方法，因此在感官上就像多数其他OO语言一样。但是代码实际上位于泛化函数之中，意味着它们不附属于特定的类，并可以被任何人自然的调用。下例将类codice_28的方法codice_42并入同名的泛化函数之内： define method turn-blue (w :: ) end method; 这个定义类似于其他语言的定义，并有可能被封装到codice_28类之中。注意codice_44这个codice_27调用，它是codice_46的语法糖。
程式語言理論
编程语言理论中存在着几个研究领域,或者对编程语言理论产生了深远的影响，其中许多有相当大的重叠。此外，PLT还利用了数学的许多其他分支,包括可计算性理论、类型论和集合论。
阵列编程
支持阵列编程的现代编程语言（也叫做向量或多维语言），已经具体的工程设计为将在标量上的运算，推广为透明的适用于向量、矩阵和高维数组。其典型例子是APL、Fortran 90、J语言，其他例子还包括：、Cilk Plus、Julia、Mata、MATLAB、Python语言NumPy扩展、Octave、（PDL）、R、（作为列表）、Wolfram语言等。在这些语言中，在一个整体的阵列上的运算可以叫做“向量化”运算，无论它是否执行于向量处理器（它实现了向量指令）。阵列编程原语（primitive）简明的表达了关于数据运算的宽泛想法。这种简明程度在特定情况下可能是戏剧性的：不难发现与阵列编程语言的一行程序相对应Java程序有时需要很多页代码。
编程语言
最早的编程语言是在電腦發明之前產生的，當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言，而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序，而有些编程語言則屬於，說明需要的結果，而不說明如何計算。
程式語言世代
编程语言（Programming Language）大致可以分为五个世代。第一代语言是机器语言，由０和１组成，可以由处理器直接执行。执行速度最快，编辑难度高，可读性低。
JSFuck
JSFuck（或为了避讳脏话Fuck写作 JSF*ck ）是一种深奥的 JavaScript 编程风格。以这种风格写成的代码中仅使用 codice_1、codice_2、codice_3、codice_4、codice_5 和 codice_6 六种字符。此编程风格的名字衍生自仅使用较少符号写代码的Brainfuck语言。与其他深奥的编程语言不同，以JSFuck风格写出的代码不需要另外的编译器或解释器来执行，无论浏览器或JavaScript引擎中的原生 JavaScript 解释器皆可直接运行。鉴于 JavaScript 是弱类型语言，编写者可以用数量有限的字符重写 JavaScript 中的所有功能，且可以用这种方式执行任何类型的表达式。
编程范型
编-{}-程-{}-范型、编-{}-程-{}-范式或程式-{}-設計法（），是指软件工程中的一类典型的编程风格。常见的编程范型有：函數式編程、指令式编程、过程式编程、面向对象编程等等。
编程范型
正如软件工程中不同的群体会提倡不同的「方法学」一样，不同的编程语言也会提倡不同的「编程范型」。一些语言是专门为某个特定的范型设计的，如Smalltalk和Java支持面向对象编程，而Haskell和Scheme则支持函数式编程，同时还有另一些语言支持多种范型，如Ruby、Common Lisp、Python、Rust。
编程语言
之所以有那么多种不同的编程语言存在的原因是，编写程序的初衷其实也各不相同；新手与老手之间技术的差距非常小，而且有许多语言对新手来说太容易学；还有，不同程序之间的运行成本（）各不相同。
Pascal語言
这里是一个非常简单的“Hello world”程序示例的源代码： （注：在实际编程中，通常可以省略第一行的output甚至program行） Program HelloWorld(output); begin end.  Pascal和几种其它流行编程语言的类型以定义变量能存储的值的范围的方式定义一个变量，也定义了一个允许在该类变量上执行的操作符集。预定义类型是：
编程语言
于是，新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱（以及脑细胞）。只要轻敲几个键，一整段代码就可以使用了。这也得益于可以重用的程序代码库。
并行编程模型
并行编程模型的分类可以宽泛的在两个领域主题下进行：进程交互和问题分解。
教育编程语言列表
自那以后，Scheme 社区为低年级课程提供了一些定制的教育编程环境。其中有 PLT Scheme 和 DrScheme 环境，还提供了免费的教师培训教材：How to Design Programs 和 Teach Scheme!。
串接编程语言
串接语言的特性来自它们的复合式语法和语义：第一个串接编程语言是Forth，尽管第一个自称串接语言的是Joy。其他串接语言有Factor、Onyx、PostScript和等。
低级语言
低级编程语言有时可分为两类：第一代和第二代。
编程语言
大多数被广泛使用或经久不衰的程式語言，拥有负责标准化的组织，经常会晤来创造及发布该程式語言的正式定义，并讨论扩展或贯彻现有的定义。
程序员
计算机程序员通常分为两大类：应用程序员和系统程序员。应用程序员编写程序来处理特定的工作，例如在组织内跟踪库存的程序。他们还可以修改现有的套装软件（），或定制通常从独立软件供应商购买的通用应用程序。相比之下，系统程序员编写程序来维护和控制计算机系统软件，如操作系统和数据库管理系统。这些工作人员对指令进行更改，这些指令决定了系统的网络、工作站和CPU如何处理给定的各种作业，以及如何与打印机和磁盘驱动器等外围设备通信。
编程语言
一旦数据被确定，机器必须被告知如何对这些数据进行处理。较简单的指令可以使用关键字或定义好的语法结构来完成。不同的程序语言利用序列系统来取得或组合这些语句。除此之外，一个程序语言中的其他指令也可以用来控制处理的过程（例如分支、循环等）。
属性 (编程)
属性（Property），在一些面向对象编程语言中，是类的特殊成员，功能上居于字段（或数据成员）与方法之间。可读可写属性的语法类似于字段，但属性的读写操作通常被编译为getter与setter方法调用。属性使用类似于字段的读写语法，比普通的方法调用的语法形式更易于读写操作；但属性读写编译为内部的方法调用，则可以支持数据确认、主动修改或实现只读字段等功能。 支持属性的编程语言有：ActionScript 3、C#、D、Delphi/Free Pascal、eC、F#、Kotlin、JavaScript、Objective-C 2.0、Python、Scala、Swift、Lua、Visual Basic。
函数式编程
非純函数式编程语言可按类型系统分为两类：
宣告式編程
声明式编程是一个大的概念，除了一些特定的领域专属语言之外，一些有名的编程范型也被归类为其子范型。
编程语言
大多数语言还能够在内置的型态基础上组合出复杂的数据结构型态（使用数组，列表，堆栈，文件等等）。面向对象语言（，又译作“物件导向语言”）允许程序员定义新的数据型态，即对象（），以及运行于该对象的函数（）和方法（）。
阵列编程
在阵列语言中，运算被推广为应用到标量和数组二者之上。因此codice_1可以表达两个标量的和，如果a和b是标量；也可以表达两个数组的和，如果它们是数组。阵列编程语言的典范例子包括APL、Fortran 90、J语言。其他例子包括：A+ 、、、Futhark、IDL、Julia、K、Klong、Mata、MATLAB、、、NumPy、Octave、、、R、、SAC、Wolfram语言、等。
第二代程式語言
这些语言可能有一些优势，例如它们的执行速度更快；但是，它们也有缺点。在编写第二代编程语言的程序时，程序员需要：当今，大多数程序都是用第三代编程语言或第四代编程语言编写的。汇编语言在运行速度方面的优势也不再明显；与汇编相比，编写完善的C语言程序通常能运行得一样快甚至更快。 第二代编程语言占据了计算机发展史中的重要地位。有很长一段时间，给许多机器（如红白机或康懋达64）编程的唯一选择就是第二代编程语言。 第二代编程语言在从“程序员向机器妥协”到“机器向程序员妥协”的道路上迈出了第一步，编程语言世代的发展遵循了这条道路。
OOPSLA
在OOPSLA的推进下，面向对象编程发展成为现今的主流编程方法。OOPSLA还促进培养了许多相关学科，包括设计模式，重构，面向侧面的程序设计，模型驱动工程，敏捷软件开发和领域特定语言。
教育编程语言列表
Lisp 是现如今使用的计算机语言家族中第二古老的语言，因此拥有大量的方言以及广泛的实现。Lisp 最初是作为计算机程序的实用数学记法而创立的，基于λ演算，这使得它特别适合于理论计算的教学。作为最早的程序设计语言之一，Lisp 开创了许多计算机科学概念的先河，包括树形数据结构、自动存储管理、动态类型、面向对象编程、自足执行的编译器（self-hosting compiler）。这些概念对于学习计算机科学而言是十分有帮助的。
编程语言
虽然大多数的语言既可被编译又可被解译，但大多数仅在一种情况下能够良好运行。在一些编程系统中，程序要经过几个阶段的编译，一般而言，后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL，编译程序先编译一个叫做“0代码”的转换程序（），然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code，以及Smalltalk和二进制码，在很多时候，中间过渡的代码往往是解译，而不是编译的。
Ada
在1970年代，美国国防部（DoD）所属的嵌入式计算机系统项目中使用的编程语言数量逐日增多，其中的很多语言十分陈旧或者依赖于硬件，而且没有一个支持安全的模块化编程，对此DoD感到十分担心。基于这个原因，在1975年成立了高级语言工作组（HOLWG），它的使命是就是寻找或者创造某种适合国防部需要的编程语言，以便减少现有编程语言数量。该小组最终的工作成果就是Ada语言。由此，类似项目中使用的高级编程语言的数量大大减少了，1983年的450种编程语言，到1996年只剩下37种。
高级语言
高级编程语言（）是高度封装了的编程语言，与低级语言相对。它是以人類的日常語言為基礎的一種編程語言，使用一般人易於接受的文字來表示，有較高的可讀性，以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國，因此一般的高階語言都是以英語為藍本。在1980年代，當東亞地區開始使用電腦時，在日本、台灣及中國大陸都曾嘗試開發用各自地方語言編寫的高級語言，當中主要都是改編BASIC或專用於數據庫資料存取的語言，但是隨着編程者的外語能力提升，現時的有關開發很少。
通用编程语言
相对而言，领域特定语言就是为某一个特定的领域或应用软件设计的编程语言。比如说，LaTeX就是专门为排版文献而设计的语言。
教育编程语言列表
Squeak 是一个现代的，开源的，功能齐全的 Smalltalk 程序设计语言和执行环境。Smalltalk 是一个面向对象，拥有动态类型和反射特性的程序设计语言，用来支持“人机共栖”这个“新的世界”的计算典范。像Lisp 一样，它有影像式持久性（image-based persistence），所以通过语言本身能对所以任何事物进行修改（参见 Smalltalk＃反射）。Smalltalk 在面向对象编程和 JIT 及时编译等方面给行业带来了深远的影响。Squeak 是在广泛开发项目中使用的工具，包括多媒体应用，教育平台和商业网络应用程序等。Squeak 被设计为高度可移植的，调试，分析和维护亦是如此，这是因为 Squeak 的虚拟机完全用Smalltalk 编写的，Squeak 的主页维护着免费的教程列表，Stéphane Ducasse 则维持着大量 Smalltalk 和 Squeak 相关的在线书籍。现如今使用最广泛的，采纳了许多 Smalltalk 的设想的语言是 Objective-C。
APL語言
在许多应用场合下（数学、科学、工程技术、电脑设计、机器人、数据显示、保险技术、传统的数据处理等等），APL是一种非常有力的、表达丰富的和简明的编程语言。它一般被用在一个与用户接口的环境中。它最初的设计目的是将数学公式写成一种电脑可以理解的方式。学它一般很容易，但要分析 APL 写成的程序往往需要一段时间。与传统的结构式编程语言不同的是，APL 的程序一般由一系列使用在序列上的单元的或双元的函数或运算符号组成。由于APL拥有许多非标准的运算符号，这些符号之间没有优先性（比如一般数学中的乘号、除号较加号、减号有优先权，APL中没有这样的优先权）。最初的APL语言没有任何控制结构如循环（do-while）或者条件选择（if-then-else），但一些序列运算符号可以用来模拟编程结构，比如iota（用来获得一个从1至N的序列）可以用来模拟循环（for）。
块 (编程)
在计算机编程中，块（block）或代码块是将源代码组织在一起的词法结构。块构成自一个或多个和语句。编程语言允许创建块，包括嵌入其他块之内的块，就叫做块结构编程语言。块和子程序是结构化编程的基础，结构化所强调的控制结构是用块来形成的。
函数式编程
其他在工业中使用的函数式编程语言包括多范型的Scala、F#，还有Wolfram语言、Common Lisp、Standard ML和Clojure等。
JavaScript
（通常缩写为JS）是一种高级的、-{zh-hans:解释型;zh-hant:直譯}-的编程语言。JavaScript是一门基于原型、头等函数的语言，是一门多范式的语言，它支持面向对象程式設計，指令式编程，以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等，不支持I/O，比如网络、存储和图形等，但这些都可以由它的宿主环境提供支持。它已经由ECMA（欧洲电脑制造商协会）通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用，也被世界主流浏览器（Chrome、IE、Firefox、Safari、Opera）支持。
编程语言列表
此编程语言列表按字母顺序列出了知名编程语言，包括当前使用的和以前使用过的编程语言，BASIC的方言、深奥的编程语言和标记语言除外。
Cg語言
由于Nvidia和微软合作紧密，Cg语言和HLSL的共通之处很多。在早期的官方文档里，这两者被解释成贴了两个牌的同一门语言。 Cg有6種数据型別（data types），跟C語言相當類似，有一些是為GPU特別定義的，型別如下： // input vertex
程式語言理論
编程语言理论（）是计算机科学的一个分支，研究编程语言的设计、实现、分析、描述和分类及其各自的特点。它属于计算机科学，既依赖又影响着数学、软件工程、语言学，甚至认知科学。
同步式编程
计算机系统可以归入三大类别：
名字解析 (程序设计)
静态名字解析的语言有：C语言, C++, E语言, Erlang, Haskell, Java, Pascal语言, Scheme语言, Smalltalk。动态名字解析的语言有：Lisp, Perl, PHP, Python, REBOL, Tcl.
有类型λ演算
有类型lambda演算是使用lambda符号（formula_1）指示匿名函数抽象的一种有类型的形式化。有类型lambda演算是基础编程语言并且是有类型的函数式编程语言如ML和Haskell和更间接的指令式编程语言的基础。它们通过Curry-Howard同构密切关联于直觉逻辑并可以被认为是范畴的类的内部语言，比如简单类型lambda演算是笛卡尔闭范畴（CCC）的语言。
编程语言
编程语言已超过上千种，大部份用在计算領域。程式語言和人類使用的自然语言在精确度和完整性上有很大的差异。
通用编程语言
常见的通用编程语言有：
Python
Python是多范型编程语言。它完全支持结构化编程和面向对象编程，还有很多特征支持函数式编程和元编程比如元对象协议（元类和魔术方法）。通过扩展还可以支持很多范型，包括面向切面编程、契约式设计和逻辑编程。
程式語言理論
提供程序设计语言的形式语义的方法很多，其中主要类别有：类型论提供了设计分析和研究类型系统的形式基础。实际上，很多计算机科学家使用术语“类型论”来称呼对编程语言的类型语言的形式研究，尽管有些人把它限制于对更加抽象的形式化如有类型lambda演算的研究。
教育编程语言列表
Scratch 是一种基于 Squeak、并由 Squeak 实现的可视化程序设计语言。通过让孩子们创建游戏，视频和音乐，达到教会孩子们一些编程概念的目的。在 Scratch 中，所有的互动物体，图形和声音都能够很轻松的导入到新的程序，通过新的方式将其组合，通过这种方法，初学者能够很快的看到结果，并且有兴趣深入学习下去。在 Scratch 社区中，已经开发和上传了超过100，000个工程项目。Scratch 是由 MIT 多媒体实验室开发的。
C和C++運算子
大部分C与C++运算符也可用于其它程序设计语言如C#、Java、Perl、PHP等，具有相同的优先级、结合性与语义。
异常处理
编程语言对异常有着截然不同的定义，但现代语言大致上可分两类：Kiniry 强调“语言的设计仅仅部分地影响了异常机制的使用，结果上，（在整个系统的运行期间）形成的对异常使用的态度会处理影响部分或者所有的失败（错误）。另外，其他主要的影响还有示例、核心代码的编写、技术书籍杂志文章以及相关讨论”。
程序员
程序员根据主要由高级程序员和系统分析员确定的规范编写程序。在设计过程完成后，程序员的工作就是将设计转换成计算机可以遵循的一系列逻辑指令。程序员用众多编程语言中的一种来编写这些指令。根据用途的不同，会使用不同的编程语言。例如，COBOL通常用于通常在大型和中型计算机上运行的业务应用程序，而Fortran则用于科学和工程。C++和Python广泛用于科学和商业应用程序。Java、C#、JS与PHP是Web和商业应用程序的流行编程语言。程序员通常了解一种以上的编程语言，因为许多语言是相似的，他们通常可以相对容易地学习新的语言。在实际中，通常会用程序员们了解的语言来描述程序员，比如，Java程序员，或者用他们所扮演的角色或他们的工作环境来描述：比如，数据库程序员、大型机程序员、Web开发人员等。
软件
一般来說，计算机软件划分为程式語言、系统软件、应用软件和介于这两者之间的中介軟體。其中系统软件为计算机使用提供最基本的功能，但是并不针对某一特定应用领域。而应用软件则恰好相反，不同的应用软件根据用户和所服务的领域提供不同的功能。