柏拉图爱情是什么意思| 防晒霜和防晒乳有什么区别| 一什么红枣| 经常打飞机有什么危害| 为什么家里蟑螂特别多| 湿疹是什么引起的| 乐果农药适合杀什么虫| 国家副主席是什么级别| 教皇是什么意思| 抖腿有什么好处| 把尿是什么意思| 心衰什么症状| 湿热吃什么好| 妮字五行属什么| 本科什么意思| 什么什么有力| 拔牙后不能吃什么食物| 子宫内膜薄有什么影响| 乳头痒是怎么回事是什么原因| 缺维生素b有什么症状| 它是什么用英语怎么说| 手串13颗代表什么意思| 嗨体水光针有什么功效| 淋巴结长什么样| 生肖猴和什么生肖相冲| 美人鱼是什么动物| 吃黄瓜对身体有什么好处| 电泳是什么意思| 甲状腺去医院挂什么科| 凝血酸是什么| 贵人命是什么意思| 什么是九宫格| 吃什么食物可以减肥| palace是什么牌子| 射线是什么| 食道炎症吃什么药最好| 血酮体高代表什么| 子夜是指什么时间| 内疚是什么意思| 梦见黄金是什么意思| 头痛吃什么药效果好| 一物降一物指什么生肖| 公园里有什么有什么还有什么| 什么水果上火| 夺命大乌苏是什么意思| hpv是什么症状| 生吃胡萝卜有什么好处和坏处| 腿抽筋挂什么科| 睡觉憋气是什么原因引起的| 男人眉毛短是什么面相| 小m是什么意思| 内眼角越揉越痒用什么眼药水| 字字珠玑什么意思| 吃盐吃多了有什么危害| 馕是什么意思| 辗转什么意思| 打卡什么意思| 老妹是什么意思| 水落石出开过什么生肖| 脚脱皮是什么原因| 藿香正气胶囊治什么病| 14年属什么| 树叶又什么又什么| 粉红的什么| 熬夜吃什么保健品| 梦见把老鼠打死是什么意思| 婴儿为什么吐奶| 草酸钙结晶是什么意思| 香蕉为什么不能放冰箱| 不为良相便为良医是什么意思| 新生儿老是打嗝是什么原因| 为什么脚底会脱皮| 中老年人补钙吃什么牌子的钙片好| 尿道炎吃什么药好得快| 养老保险什么时候开始交| 一听是什么意思| 恐龙为什么灭绝| 肝脏的主要功能是什么| 突然呕吐是什么原因| 直立倾斜试验阳性是什么病| 履新是什么意思| 痰饮是什么意思| 贵州有什么好吃的| 蚕豆不能和什么一起吃| 画龙点晴是什么生肖| 伤官代表什么| 唐山大地震是什么时候| 打嗝是什么原因引起的| 身份证后4位代表什么| 舒张压和收缩压是什么| 什么材料| 阴虚火旺吃什么中药| 十二生肖排第一是什么生肖| 80岁称什么之年| 嗜睡是什么原因| 拉美人是什么人种| 防冻液红色和绿色有什么区别| 有痰是什么原因| 脚上长鸡眼去医院挂什么科| 肝多发囊肿是什么意思| 拔气罐有什么好处| 消失是什么意思| 牙痛 吃什么药| 梦到老虎是什么意思| 医保报销需要什么材料| 香蕉补什么| 颅骨早闭合有什么症状| 五月有什么节日| 碘伏和络合碘有什么区别| 长期失眠吃什么食物好| 知柏地黄丸治什么病| eo是什么意思| 孕妇胆固醇高对胎儿有什么影响| 偏头痛什么原因引起| 长歌怀采薇是什么意思| 小腿肿胀是什么原因引起的| 粉饼是干什么用的| 什么样的红点是白血病| jennie什么意思| 新疆有什么湖| 海带是什么植物| 尿急尿频吃什么药| 牙疼可以吃什么药| 怀孕16周要做什么检查| 青光眼是什么症状| 男孩学什么专业有前途| 及时是什么意思| 梦见割草是什么意思| 脾肾亏虚的症状是什么| 甲沟炎属于什么科| 圣罗兰是什么档次| 上睑下垂是什么原因造成的| 狐臭用什么药| 梦见买肉是什么意思| 满日是什么意思| 口腔义齿是什么| 浠字五行属什么| 拔火罐对身体有什么好处| 尿崩症是什么意思| 什么是脱敏| 血友病是什么| 品行是什么意思| 肝实质回声密集是什么意思| 什么时候同房最容易怀孕| 中耳炎不能吃什么食物| 双侧半卵圆中心缺血灶是什么意思| 孙膑原名叫什么| 白肉是指什么肉| 白牌车是什么身份| 小孩流口水是什么原因| 落空是什么意思| 铉是什么意思| 为什么家里不能放假花| 便秘吃什么中药| 膝关节弹响是什么原因| sv是什么意思| 阿司匹林是什么药| 属鸡女和什么属相最配| 抽烟为什么会头晕| 蛇瓜是什么| 老人吃什么钙片补钙效果最好| 破是什么生肖| 吃避孕药会有什么副作用| 莫逆之交是什么意思| panerai是什么牌子| 苦瓜吃多了有什么坏处| 二刷是什么意思| 单亲是什么意思| 狐狸和乌鸦告诉我们什么道理| 别墅是什么意思| 淋巴吃什么药可以消除| 此地无银三百两是什么意思| 返祖现象什么意思| 10月7号是什么星座| 切口憩室是什么意思| 广东省省长是什么级别| 白内障什么原因造成的| 变异性哮喘咳嗽吃什么药| 桃胶有什么功效与作用| 尿不出来吃什么药| 肾结石不能吃什么东西| 中气是什么意思| 8.19是什么星座| 乳房变大是什么原因| 为什么月经会提前来| 盗汗遗精是什么意思| 糖尿病为什么治不好| 复杂性囊肿是什么意思| 乙肝有什么症状| 小众是什么意思| 什么球不能踢脑筋急转弯| 口腔溃疡反复发作是什么原因| 排骨烧什么好吃| tomboy什么意思| 飞天奖是什么奖| 为什么飞机撞鸟会坠机| 心肌缺血用什么药效果最好| 梦到怀孕了是什么预兆| 小孩经常发烧是什么原因| 百废待兴是什么意思| 田五行属性是什么| 嘴巴苦是什么原因引起的| 重庆为什么叫重庆| 盐酸对人体有什么危害| 腿抽筋缺什么| 阿莫西林有什么作用| 风土人情是什么意思| 舌苔开裂是什么原因呢| hi什么意思| 奇怪的什么| 鱼龙混杂什么意思| 什么治失眠最有效| 口僻是什么病| 男人喜欢什么样的女人| 3月11日是什么星座| 眼睛不舒服是什么原因| 痱子是什么样的图片| 80年出生属什么生肖| 明天代表什么生肖| 室内机漏水是什么原因| 什么持不什么| 吃什么药去体内湿气| 夹腿是什么意思| 腰间盘突出是什么原因引起的| po是什么的缩写| ph值高是什么原因| 鱼和什么不能一起吃| 镪水池是什么| 孕妇梦见摘桃子是什么意思| 熬夜对身体有什么危害| 为什么打哈欠| 胸痛是什么原因导致的| 一进门见到什么植物好| 蚂蚁喜欢吃什么食物| 大肠杆菌属于什么菌| 妈妈的堂哥叫什么| 人授后吃什么容易着床| 9月28号什么星座| 心脏早博是什么意思| b1是什么| 什么叫三观不正| 热敷眼睛有什么好处| 什么是业力| 晚上睡觉流口水是什么原因| 头眩晕看什么科| 什么叫扁平疣长什么样| 爬山膝盖疼是什么原因| gm眼镜是什么牌子| 哭得什么| dhc是什么| 糖尿病人吃什么水果最好| 瑞士用什么货币| 脚气长什么样| 吉人天相好福气指什么生肖| 安乃近片是什么药| 卤米松软膏主治什么| 晚安安是什么意思| 什么的杨桃| 眼屎多是什么原因| 女性外阴痒用什么药| 胆红素偏高有什么危害| 心肌炎是什么病严重吗| 规格型号是什么意思| 胸疼挂什么科| 百度Jump to content

ら碈嘿らΤ5窾い瓣丁恳:丁恳儿矫钉

From Wikipedia, the free encyclopedia
(Redirected from Curly bracket language)
百度 据该公司统计,中国大陆地区共涉及33142辆。

This is a list of notable programming languages, grouped by type.

The groupings are overlapping; not mutually exclusive. A language can be listed in multiple groupings.

Agent-oriented programming languages

[edit]

Agent-oriented programming allows the developer to build, extend and use software agents, which are abstractions of objects that can message other agents.

Array languages

[edit]

Array programming (also termed vector or multidimensional) languages generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays.

Aspect-oriented programming languages

[edit]

Aspect-oriented programming enables developers to add new functionality to code, known as "advice", without modifying that code itself; rather, it uses a pointcut to implement the advice into code blocks.

Assembly languages

[edit]

Assembly languages directly correspond to a machine language (see below), so machine code instructions appear in a form understandable by humans, although there may not be a one-to-one mapping between an individual statement and an individual instruction. Assembly languages let programmers use symbolic addresses, which the assembler converts to absolute or relocatable addresses. Most assemblers also support macros and symbolic constants.

Authoring languages

[edit]

An authoring language is a programming language designed for use by a non-computer expert to easily create tutorials, websites, and other interactive computer programs.

Command-line interface languages

[edit]

Command-line interface (CLI) languages are also called batch languages or job control languages. Examples:

Compiled languages

[edit]

These are languages typically processed by compilers, though theoretically any language can be compiled or interpreted.

Concatenative programming languages

[edit]

A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition.

Concurrent languages

[edit]

Message passing languages provide language constructs for concurrency. The predominant paradigm for concurrency in mainstream languages such as Java is shared memory concurrency. Concurrent languages that make use of message passing have generally been inspired by process calculi such as communicating sequential processes (CSP) or the π-calculus.

Constraint programming languages

[edit]

A constraint programming language is a declarative programming language where relationships between variables are expressed as constraints. Execution proceeds by attempting to find values for the variables which satisfy all declared constraints.

Curly bracket languages

[edit]

A curly bracket or curly brace language has syntax that defines a block as the statements between curly brackets, a.k.a. braces, {}. This syntax originated with BCPL (1966), and was popularized by C. Many curly bracket languages descend from or are strongly influenced by C. Examples:

Dataflow languages

[edit]

Dataflow programming languages rely on a (usually visual) representation of the flow of data to specify the program. Frequently used for reacting to discrete events or for processing streams of data. Examples of dataflow languages include:

Data-oriented languages

[edit]

Data-oriented languages provide powerful ways of searching and manipulating the relations that have been described as entity relationship tables which map one set of things into other sets.[citation needed] Examples of data-oriented languages include:

Decision table languages

[edit]

Decision tables can be used as an aid to clarifying the logic before writing a program in any language, but in the 1960s a number of languages were developed where the main logic is expressed directly in the form of a decision table, including:

Declarative languages

[edit]

Declarative languages express the logic of a computation without describing its control flow in detail. Declarative programming stands in contrast to imperative programming via imperative programming languages, where control flow is specified by serial orders (imperatives). (Pure) functional and logic-based programming languages are also declarative, and constitute the major subcategories of the declarative category. This section lists additional examples not in those subcategories.

Embeddable languages

[edit]

In source code

[edit]

Source embeddable languages embed small pieces of executable code inside a piece of free-form text, often a web page.

Client-side embedded languages are limited by the abilities of the browser or intended client. They aim to provide dynamism to web pages without the need to recontact the server.

Server-side embedded languages are much more flexible, since almost any language can be built into a server. The aim of having fragments of server-side code embedded in a web page is to generate additional markup dynamically; the code itself disappears when the page is served, to be replaced by its output.

Server side

[edit]

The above examples are particularly dedicated to this purpose. A large number of other languages, such as Erlang, Scala, Perl, Ring and Ruby can be adapted (for instance, by being made into Apache modules).

Client side

[edit]

In object code

[edit]

A wide variety of dynamic or scripting languages can be embedded in compiled executable code. Basically, object code for the language's interpreter needs to be linked into the executable. Source code fragments for the embedded language can then be passed to an evaluation function as strings. Application control languages can be implemented this way, if the source code is input by the user. Languages with small interpreters are preferred.

Educational programming languages

[edit]

Languages developed primarily for the purpose of teaching and learning of programming.

Esoteric languages

[edit]

An esoteric programming language is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke.

Extension languages

[edit]

Extension programming languages are languages embedded into another program and used to harness its features in extension scripts.

Fourth-generation languages

[edit]

Fourth-generation programming languages are high-level programming languages built around database systems. They are generally used in commercial environments.

Functional languages

[edit]

Functional programming languages define programs and subroutines as mathematical functions and treat them as first-class. Many so-called functional languages are "impure", containing imperative features. Many functional languages are tied to mathematical calculation tools. Functional languages include:

Pure

[edit]

Impure

[edit]

Hardware description languages

[edit]

In electronics, a hardware description language (HDL) is a specialized computer language used to describe the structure, design, and operation of electronic circuits, and most commonly, digital logic circuits. The two most widely used and well-supported HDL varieties used in industry are Verilog and VHDL. Hardware description languages include:

HDLs for analog circuit design

[edit]
  • Verilog-AMS (Verilog for Analog and Mixed-Signal)
  • VHDL-AMS (VHDL with Analog/Mixed-Signal extension)

HDLs for digital circuit design

[edit]

Imperative languages

[edit]

Imperative programming languages may be multi-paradigm and appear in other classifications. Here is a list of programming languages that follow the imperative paradigm:

Interactive mode languages

[edit]

Known as REPL - Interactive mode languages act as a kind of shell: expressions or statements can be entered one at a time, and the result of their evaluation seen immediately.

Interpreted languages

[edit]

Interpreted languages are programming languages in which programs may be executed from source code form, by an interpreter. Theoretically, any language can be compiled or interpreted, so the term interpreted language generally refers to languages that are usually interpreted rather than compiled.

Iterative languages

[edit]

Iterative languages are built around or offering generators.

Languages by memory management type

[edit]

Garbage collected languages

[edit]

Garbage Collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program but is no longer used.

Languages with manual memory management

[edit]

Languages with optional manual memory management

[edit]

Some programming languages without the inherent ability to manually manage memory, like Cython,[24] Swift,[c] and Scala[25] (Scala Native only), are able to import or call functions like malloc and free from C through a foreign function interface.

Languages with deterministic memory management

[edit]

Languages with automatic reference counting (ARC)

[edit]

List-based languages – LISPs

[edit]

List-based languages are a type of data-structured language that are based on the list data structure.

Little languages

[edit]

Little languages[28] serve a specialized problem domain.

  • awk – used for text file manipulation.
  • sed – parses and transforms text
  • SQL – has only a few keywords and not all the constructs needed for a full programming language[d] – many database management systems extend SQL with additional constructs as a stored procedure language

Logic-based languages

[edit]

Logic-based languages specify a set of attributes that a solution must-have, rather than a set of steps to obtain a solution.

Notable languages following this programming paradigm include:

Machine languages

[edit]

Machine languages are directly executable by a computer's CPU. They are typically formulated as bit patterns, usually represented in octal or hexadecimal. Each bit pattern causes the circuits in the CPU to execute one of the fundamental operations of the hardware. The activation of specific electrical inputs (e.g., CPU package pins for microprocessors), and logical settings for CPU state values, control the processor's computation. Individual machine languages are specific to a family of processors; machine-language code for one family of processors cannot run directly on processors in another family unless the processors in question have additional hardware to support it (for example, DEC VAX processors included a PDP-11 compatibility mode). They are (essentially) always defined by the CPU developer, not by 3rd parties.[e] The symbolic version, the processor's assembly language, is also defined by the developer, in most cases. Some commonly used machine code instruction sets are:

Macro languages

[edit]

Textual substitution macro languages

[edit]

Macro languages transform one source code file into another. A "macro" is essentially a short piece of text that expands into a longer one (not to be confused with hygienic macros), possibly with parameter substitution. They are often used to preprocess source code. Preprocessors can also supply facilities like file inclusion.

Macro languages may be restricted to acting on specially labeled code regions (pre-fixed with a # in the case of the C preprocessor). Alternatively, they may not, but in this case it is still often undesirable to (for instance) expand a macro embedded in a string literal, so they still need a rudimentary awareness of syntax. That being the case, they are often still applicable to more than one language. Contrast with source-embeddable languages like PHP, which are fully featured.

  • cpp (the C preprocessor)
  • m4 (originally from AT&T, bundled with Unix)
  • ML/I (general-purpose macro processor)
  • TTM (developed at the California Institute of Technology)

Application macro languages

[edit]

Scripting languages such as Tcl and ECMAScript (ActionScript, ECMAScript for XML, JavaScript, JScript) have been embedded into applications. These are sometimes called "macro languages", although in a somewhat different sense to textual-substitution macros like m4.

Metaprogramming languages

[edit]

Metaprogramming is the writing of programs that write or manipulate other programs, including themselves, as their data or that do part of the work that is otherwise done at run time during compile time. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually.

Multiparadigm languages

[edit]

Multiparadigm languages support more than one programming paradigm. They allow a program to use more than one programming style. The goal is to allow programmers to use the best tool for a job, admitting that no one paradigm solves all problems in the easiest or most efficient way.

  • 1C:Enterprise programming language (generic, imperative, object-oriented, prototype-based, functional)
  • Ada (concurrent, distributed, generic (template metaprogramming), imperative, object-oriented (class-based))
  • ALF (functional, logic)
  • Alma-0 (constraint, imperative, logic)
  • APL (functional, imperative, object-oriented (class-based))
  • BETA (functional, imperative, object-oriented (class-based))
  • C++ (generic, imperative, object-oriented (class-based), functional, metaprogramming)
  • C# (generic, imperative, object-oriented (class-based), functional, declarative)
  • Ceylon (generic, imperative, object-oriented (class-based), functional, declarative)
  • ChucK (imperative, object-oriented, time-based, concurrent, on-the-fly)
  • Cobra (generic, imperative, object-oriented (class-based), functional, contractual)
  • Common Lisp (functional, imperative, object-oriented (class-based), aspect-oriented (user may add further paradigms, e.g., logic))
  • Curl (functional, imperative, object-oriented (class-based), metaprogramming)
  • Curry (concurrent, functional, logic)
  • D (generic, imperative, functional, object-oriented (class-based), metaprogramming)
  • Dart (generic, imperative, functional, object-oriented (class-based))
  • Delphi Object Pascal (generic, imperative, object-oriented (class-based), metaprogramming)
  • Dylan (functional, object-oriented (class-based))
  • ECMAScript (functional, imperative, object-oriented (prototype-based))
  • Eiffel (imperative, object-oriented (class-based), generic, functional (agents), concurrent (SCOOP))
  • F# (functional, generic, object-oriented (class-based), language-oriented)
  • Fantom (functional, object-oriented (class-based))
  • Go (imperative, procedural),
  • Groovy (functional, object-oriented (class-based), imperative, procedural)
  • Harbour
  • Hop
  • J (functional, imperative, object-oriented (class-based))
  • Java (generic, imperative, object-oriented (class-based), functional)
  • Julia (imperative, multiple dispatch ("object-oriented"), functional, metaprogramming)
  • LabVIEW (visual, dataflow, concurrent, modular, functional, object-oriented, scripting)
  • Lua (functional, imperative, object-oriented (prototype-based))
  • Mercury (functional, logical, object-oriented)
  • Metaobject protocols (object-oriented (class-based, prototype-based))
  • Nemerle (functional, object-oriented (class-based), imperative, metaprogramming)
  • Objective-C (imperative, object-oriented (class-based), reflective)
  • OCaml (functional, imperative, object-oriented (class-based), modular)
  • Oz (functional (evaluation: eager, lazy), logic, constraint, imperative, object-oriented (class-based), concurrent, distributed), and Mozart Programming System cross-platform Oz
  • Object Pascal (imperative, object-oriented (class-based))
  • Perl (imperative, functional (can't be purely functional), object-oriented, class-oriented, aspect-oriented (through modules))
  • PHP (imperative, object-oriented, functional (can't be purely functional))
  • Pike (interpreted, general-purpose, high-level, cross-platform, dynamic programming language )
  • Prograph (dataflow, object-oriented (class-based), visual)
  • Python (functional, compiled, interpreted, object-oriented (class-based), imperative, metaprogramming, extension, impure, interactive mode, iterative, reflective, scripting)
  • R (array, interpreted, impure, interactive mode, list-based, object-oriented prototype-based, scripting)
  • Racket (functional, imperative, object-oriented (class-based) and can be extended by the user)
  • Raku (concurrent, concatenative, functional, metaprogramming generic, imperative, reflection object-oriented, pipelines, reactive, and via libraries constraints, distributed)
  • Rebol (functional, imperative, object-oriented (prototype-based), metaprogramming (dialected))
  • Red (functional, imperative, object-oriented (prototype-based), metaprogramming (dialected))
  • ROOP (imperative, logic, object-oriented (class-based), rule-based)
  • Ring (imperative, functional, object-oriented (class-based), metaprogramming, declarative, natural)
  • Ruby (imperative, functional, object-oriented (class-based), metaprogramming)
  • Rust (concurrent, functional, imperative, object-oriented, generic, metaprogramming, compiled)
  • Scala (functional, object-oriented)
  • Seed7 (imperative, object-oriented, generic)
  • SISAL (concurrent, dataflow, functional)
  • Spreadsheets (functional, visual)
  • Swift (protocol-oriented, object-oriented, functional, imperative, block-structured)
  • Tcl (functional, imperative, object-oriented (class-based))
    • Tea (functional, imperative, object-oriented (class-based))
  • V (Vlang) (functional, imperative, procedural, structured, concurrent)
  • Windows PowerShell (functional, imperative, pipeline, object-oriented (class-based))
  • Wolfram Mathematica (Wolfram language)

Numerical analysis

[edit]

Several general-purpose programming languages, such as C and Python, are also used for technical computing, this list focuses on languages almost exclusively used for technical computing.

Non-English-based languages

[edit]

Object-oriented class-based languages

[edit]

Class-based object-oriented programming languages support objects defined by their class. Class definitions include member data. Message passing is a key concept, if not the main concept, in object-oriented languages.

Polymorphic functions parameterized by the class of some of their arguments are typically called methods. In languages with single dispatch, classes typically also include method definitions. In languages with multiple dispatch, methods are defined by generic functions. There are exceptions where single dispatch methods are generic functions (e.g. Bigloo's object system).

Single dispatch

[edit]

Object-oriented prototype-based languages

[edit]

Prototype-based languages are object-oriented languages where the distinction between classes and instances has been removed:

Off-side rule languages

[edit]

Off-side rule languages denote blocks of code by their indentation.

Procedural languages

[edit]

Procedural programming languages are based on the concept of the unit and scope (the data viewing range) of an executable code statement. A procedural program is composed of one or more units or modules, either user coded or provided in a code library; each module is composed of one or more procedures, also called a function, routine, subroutine, or method, depending on the language. Examples of procedural languages include:

Query languages

[edit]

Reflective languages

[edit]

Reflective programming languages let programs examine and possibly modify their high-level structure at runtime or compile-time. This is most common in high-level virtual machine programming languages like Smalltalk, and less common in lower-level programming languages like C. Languages and platforms supporting reflection:

Rule-based languages

[edit]

Rule-based languages instantiate rules when activated by conditions in a set of data. Of all possible activations, some set is selected and the statements belonging to those rules execute. Rule-based languages include:[citation needed]

Scripting languages

[edit]

Stack-based languages

[edit]

Stack-based languages are a type of data-structured language that are based on the stack data structure.

Synchronous languages

[edit]

Synchronous programming languages are optimized for programming reactive systems, systems that are often interrupted and must respond quickly. Many such systems are also called realtime systems, and are used often in embedded systems.

Examples:

Shading languages

[edit]

A shading language is a graphics programming language adapted to programming shader effects. Such language forms usually consist of special data types, like "color" and "normal". Due to the variety of target markets for 3D computer graphics.

Real-time rendering

[edit]

They provide both higher hardware abstraction and a more flexible programming model than previous paradigms which hardcoded transformation and shading equations. This gives the programmer greater control over the rendering process and delivers richer content at lower overhead.

Offline rendering

[edit]

Shading languages used in offline rendering produce maximum image quality. Processing such shaders is time-consuming. The computational power required can be expensive because of their ability to produce photorealistic results.

Syntax-handling languages

[edit]

These languages assist with generating lexical analyzers and parsers for context-free grammars.

System languages

[edit]

A system programming language is for low-level tasks like memory management or task management; it usually refers to a language used for systems programming; such languages are designed for writing system software, which usually requires different development approaches relative to application software.

System software is computer software designed to operate and control computer hardware, and provide a platform to run application software. System software includes software categories such as operating systems, utility software, device drivers, compilers, and linkers. Examples of system languages include:

Language Originator First appeared Influenced by Used for
ESPOL Burroughs Corporation 1961 ALGOL 60 MCP
PL/I IBM, SHARE 1964 ALGOL 60, FORTRAN, some COBOL Multics
PL360 Niklaus Wirth 1968 ALGOL 60 ALGOL W
C Dennis Ritchie 1969 BCPL Most operating system kernels, including Windows NT and most Unix-like systems
PL/S IBM 196x PL/I OS/360
BLISS Carnegie Mellon University 1970 ALGOL-PL/I[35] VMS (portions)
PL/8 IBM 197x PL/I AIX
PL/MP and PL/MI IBM 197x PL/I CPF, OS/400
PL-6 Honeywell, Inc. 197x PL/I CP-6
SYMPL CDC 197x JOVIAL NOS subsystems, most compilers, FSE editor
C++ Bjarne Stroustrup 1979 C, Simula See C++ Applications[36]
Ada Jean Ichbiah, S. Tucker Taft 1983 ALGOL 68, Pascal, C++, Java, Eiffel Embedded systems, OS kernels, compilers, games, simulations, CubeSat, air traffic control, and avionics
D Digital Mars 2001 C++ Multiple domains[37]
Nim Andreas Rumpf 2008 Ada, Modula-3, Lisp, C++, Object Pascal, Python, Oberon OS kernels, compilers, games
Rust Mozilla Research[38] 2010 C++, Haskell, Erlang, Ruby Servo layout engine, RedoxOS
Swift Apple Inc. 2014 C, Objective-C, Rust macOS, iOS app development[h]
Zig Andrew Kelley 2016 C, C++, LLVM IR, Go, Rust, JavaScript As a replacement for C
V (Vlang) Alexander Medvednikov 2019 C, Go, Oberon-2, Rust, Swift, Kotlin Vinix OS, OS kernels, compilers, games

Transformation languages

[edit]

Transformation languages serve the purpose of transforming (translating) source code specified in a certain formal language into a defined destination format code. It is most commonly used in intermediate components of more complex super-systems in order to adopt internal results for input into a succeeding processing routine.

Visual languages

[edit]

Visual programming languages let users specify programs in a two-(or more)-dimensional way, instead of as one-dimensional text strings, via graphic layouts of various types. Some dataflow programming languages are also visual languages.

Wirth languages

[edit]

Computer scientist Niklaus Wirth designed and implemented several influential languages.

XML-based languages

[edit]

These are languages based on or that operate on XML.

See also

[edit]

Notes

[edit]
  1. ^ Some Ada implementations include a garbage collector,[10] though the language specification does not require its inclusion.[citation needed]
  2. ^ Developers initially had to manually reclaim memory using the save and restore operators. PostScript Level 2 introduced a garbage collector, but its usage is optional.[20]
  3. ^ On Apple platforms, these functions are imported from the C standard library (which is imported from Foundation, AppKit or UIKit); on Linux, the developer needs to import Glibc, and ucrt on Windows.[citation needed]
  4. ^ The objects of SQL are collections of database records, called tables. A full programming language can specify algorithms, irrespective of runtime. Thus an algorithm can be considered to generate usable results. In contrast, SQL can only select records that are limited to the current collection, the data at hand in the system, rather than produce a statement of the correctness of the result.
  5. ^ A notable exception would be the Soviet/Russian 1801 series CPU, which originally used their own domestic ISA, but were later redesigned to be PDP-11 compatible as a policy decision.
  6. ^ a b Submodels are not listed, only base models.
  7. ^ The concept of object with the traditional single-dispatch OO semantics is not present in Julia, instead with the more general multiple dispatch on different types at runtime.
  8. ^ Swift uses automatic reference counting.

References

[edit]
  1. ^ "Operators". Retrieved 2025-08-14.
  2. ^ "wrap".
  3. ^ ""Aspects in Raku"".
  4. ^ Documentation ? The Python Standard Library ? Concurrent Execution
  5. ^ "Channels and other mechanisms".
  6. ^ "ProblemSolver".
  7. ^ a b "Indentation based syntax · rsdn/nemerle Wiki". GitHub. Retrieved 2025-08-14.
  8. ^ "Solidity: Solidity 0.8.11 documentation".
  9. ^ "Iterator".
  10. ^ "Conservative Garbage Collection for GNAT". Florian Weimer's Home Page. Retrieved 2025-08-14.
  11. ^ "Memory Management · BlitzMax". Retrieved 2025-08-14.
  12. ^ "Pointers · BlitzMax". Retrieved 2025-08-14.
  13. ^ "BRL.Blitz · BlitzMax". Retrieved 2025-08-14.
  14. ^ "Using Pointers in an ILE COBOL Program - IBM Documentation". IBM. June 2012. Retrieved 2025-08-14.
  15. ^ "HEAP - IBM Documentation". IBM. Retrieved 2025-08-14.
  16. ^ "SOM-based OO COBOL language elements that are changed - IBM Documentation". IBM. Retrieved 2025-08-14.
  17. ^ "Garbage Collection". D Programming Language. Retrieved 2025-08-14.
  18. ^ "Nim's Memory Management". Retrieved 2025-08-14.
  19. ^ "About Memory Management". Apple Developer. Retrieved 2025-08-14.
  20. ^ Adobe (February 1999). PostScript Language Reference, third edition (PDF). Addison-Wesley Publishing Company. pp. 56–65.
  21. ^ "alloc::rc - Rust". Retrieved 2025-08-14.
  22. ^ "V Documentation". Retrieved 2025-08-14.
  23. ^ "Projects/Vala/ReferenceHandling - GNOME Wiki!". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  24. ^ "Memory Allocation — Cython 3.0.0.dev0 documentation". Retrieved 2025-08-14.
  25. ^ "Native code interoperability – Scala Native 0.4.14 documentation". Retrieved 2025-08-14.
  26. ^ "Understanding Ownership - The Rust Programming Language". doc.rust-lang.org.
  27. ^ "Smart Pointers - The Rust Programming Language". doc.rust-lang.org.
  28. ^ Jon Bentley (AT&T) August 1986 CACM 29 (8) "Little Languages", pp 711-721 from his Programming Pearls column
  29. ^ "Meta-programming: What, why and how". 2025-08-14.
  30. ^ "Procedural Macros for Generating Code from Attributes". doc.rust-lang.org.
  31. ^ "Classes and Roles".
  32. ^ "Meta-object protocol (MOP)".
  33. ^ Scabia, Marco. "What is AGAL". Adobe Developer Connection. Adobe. Retrieved 8 May 2018.
  34. ^ "Grammars".
  35. ^ Wulf, W.A.; Russell, D.B.; Haberman, A.N. (December 1971). "BLISS: A Language for Systems Programming". Communications of the ACM. 14 (12): 780–790. CiteSeerX 10.1.1.691.9765. doi:10.1145/362919.362936. S2CID 9564255.
  36. ^ "C++ Applications".
  37. ^ "Organizations using the D Language". D Programming Language.
  38. ^ "Mozilla Research". 1 January 2014.
慢性胃炎伴胆汁反流是什么意思 西瓜为什么是红色的 梦见买衣服是什么预兆 有什么黄色网站 罗马棉是什么面料
做梦梦到剪头发是什么意思 虚岁28岁属什么生肖 人为什么会长痔疮 男字五行属什么 贾宝玉的玉是什么来历
皮肤黑穿什么颜色的衣服好看 老流鼻血是什么原因引起的 什么是粒子植入治疗 煮牛肉放什么容易烂 属鼠适合佩戴什么饰品
什么牙什么嘴 男人吃海参有什么好处 黄油可以做什么美食 无机磷偏低有什么影响 耳语是什么意思
上头是什么意思hcv8jop7ns9r.cn 财神爷供奉什么供品bjcbxg.com otc属于什么药hcv8jop5ns7r.cn 捞女什么意思hcv9jop5ns2r.cn 甲鱼蛋什么人不能吃96micro.com
楼房风水主要看什么adwl56.com 草字头加个弓念什么hcv8jop6ns6r.cn 复方对乙酰氨基酚片是什么药hcv9jop0ns1r.cn 什么是宫寒hcv8jop3ns1r.cn 肛裂是什么hcv9jop3ns7r.cn
炖鱼都放什么调料aiwuzhiyu.com 白内障是什么症状hcv8jop4ns2r.cn hpv感染后有什么症状zsyouku.com 风象星座是什么意思hcv8jop3ns7r.cn 1935年属什么hcv8jop8ns4r.cn
黑米和什么一起搭配煮粥最佳kuyehao.com 生石灰是什么hcv8jop6ns2r.cn 扁桃体发炎喉咙痛吃什么药hcv8jop9ns9r.cn 不能晒太阳是什么病chuanglingweilai.com 痛经是什么意思hcv8jop4ns1r.cn
百度