This article compares a large number of programming languages by tabulating their data types, their expression, statement, and declaration syntax, and some common operating-system interfaces.
Generally, var, var, or var is how variable names or other non-literal values to be interpreted by the reader are represented. The rest is literal code. Guillemets (« and ») enclose optional sections. Tab ↹ indicates a necessary (whitespace) indentation.
«
»
The tables are not sorted lexicographically ascending by programming language name by default, and that some languages have entries in some tables but not others.
range -2**7 .. 2**7 - 1
range 0 .. 2**8 - 1
mod 2**8
range -2**15 .. 2**15 - 1
range 0 .. 2**16 - 1
mod 2**16
range -2**31 .. 2**31 - 1
range 0 .. 2**32 - 1
mod 2**32
range -2**63 .. 2**63 - 1
mod 2**64
Integer
range 0 .. 2**Integer'Size - 1
mod Integer'Size
short short int
short int
int
long int
long long int
bytes
bits
int8_t
uint8_t
int16_t
uint16_t
int32_t
uint32_t
int64_t
uint64_t
intptr_t
size_t
signed char
unsigned char
short
unsigned short
long
unsigned long
long long
unsigned long long
unsigned int
NSInteger
NSUInteger
sbyte
byte
ushort
uint
ulong
IntPtr
UIntPtr
System.Numerics.BigInteger
char
java.math.BigInteger
int8
uint8
int16
uint16
int32
uint32
int64
uint64
big.Int
i8
u8
i16
u16
i32
u32
i64
u64
isize
usize
Int8
UInt8
Int16
UInt16
Int32
UInt32
Int64
UInt64
Int
UInt
ubyte
BigInt
(signed-byte 8)
(unsigned-byte 8)
(signed-byte 16)
(unsigned-byte 16)
(signed-byte 32)
(unsigned-byte 32)
(signed-byte 64)
(unsigned-byte 64)
bignum
shortint
smallint
word
longint
longword
qword
integer
cardinal
Byte
Long
SByte
Short
UShort
UInteger
ULong
Integer<8>
UByte
UInteger<8>
Integer<16>
UInteger<16>
Integer<32>
UInteger<32>
LongInt
Integer<64>
ULongInt
UInteger<64>
INTEGER(KIND = n)
Math::BigInt
Fixnum
Bignum
integer()
Char
scala.math.BigInt
bigInteger
SmallInteger
LargeInteger
nativeint
open Big_int;;
big_int
unativeint
bigint
Word8.word
Int32.int
Word32.word
Int64.int
Word64.word
LargeInt.int
IntInf.int
«import Int»
«import Word»
Word8
Word16
Word32
Word64
Word
INTEGER_8
NATURAL_8
INTEGER_16
NATURAL_16
INTEGER_32
NATURAL_32
INTEGER_64
NATURAL_64
INTEGER
NATURAL
BINARY-CHAR «SIGNED»
BINARY-CHAR UNSIGNED
BINARY-SHORT «SIGNED»
BINARY-SHORT UNSIGNED
BINARY-LONG «SIGNED»
BINARY-LONG UNSIGNED
BINARY-DOUBLE «SIGNED»
BINARY-DOUBLE UNSIGNED
int shorts
int lengths
short max int
max int
long max int
[u]intN_t
ptrdiff_t
n
SELECTED_INT_KIND
--precision "number"
long long int width
long long max int
PIC S9999
range 1 .. Integer'Last
range 0 .. Integer'Last
Short_Short_Integer
Short_Integer
Long_Integer
Float
Long_Float
real
long real
short real
long long real
float
double
long double
CGFloat
float32
float64
f32
f64
f16, f128
Float32
Double
Float64
Float80
single-float
double-float
float, short-float, long-float
single
Single
Number
REAL(KIND = n)
num32
num64
Num
REAL_32
REAL_64
FLOAT-BINARY-7
FLOAT-BINARY-34
FLOAT-SHORT
FLOAT-LONG
FLOAT-EXTENDED
Real
real shorts
real lengths
short max real
max real
long max real
short small real
small real
long small real
SELECTED_REAL_KIND
long long real width
long long max real
Complex
compl
long compl
short compl
long long compl
float complex
double complex
std::complex<float>
std::complex<double>
System.Numerics.Complex
complex64
complex128
cfloat
cdouble
Math::Complex
complex
COMPLEX(KIND = n)
Complex.t
Complex.Complex Float
Complex.Complex Double
Character
String
Bounded_String
Unbounded_String
Boolean
(item1, item2, ...)
tagged null record
string
bool
wchar_t
enum «name» { item1, item2, ... };
void *
«std::»string
unichar
NSString *
BOOL
id
enum name { item1« = value», item2« = value», ... }
boolean
enum name { item1, item2, ... }
Object
rune
const ( item1 = iota item2 ...)
interface{}
std::any::Any
Bool
enum name { case item1, item2, ... }
Any
std.variant.Variant
character
(member item1 item2 ...)
t
( item1, item2, ... )
variant
Enum name item1 «= value» item2 «= value» ...End Enum
[[Variant type|Variant]]
Variant
str
from enum import Enumclass Name(Enum): item1 = value item2 = value ...
object
CHARACTER(LEN = *)
CHARACTER(LEN = :), allocatable
LOGICAL(KIND = n)
CLASS(*)
UNIVERSAL
Str
enum name<item1 item2 ...>
enum name <<:item1(value) :item2(value) ..>>
Mu
object name extends Enumeration { val item1, item2, ... = Value}
const type: name is new enum item1, item2, ...end enum;
type name = item1 = value |item2 = value | ...
obj
CHARACTER
STRING
BOOLEAN
ANY
PIC X
PIC X(string length)
PIC X«X...»
PIC 1«(number of digits)»
PIC 1«1...»
OBJECT REFERENCE
TrueClass
FalseClass
array (<first> .. <last>) of <type>
array (<discrete_type>) of <type>
array (<first1> .. <last1>, <first2> .. <last2>, ...) of <type>
array (<discrete_type1>, <discrete_type2>, ...) of <type>
array (<discrete_type> range <>) of <type>
array (<discrete_type1> range <>, <discrete_type2> range <>, ...) of <type>
[first:last]«modename»
[size]«modename»
[first1:last1, first2:last2]«modename»
[first1:last1][first2:last2]«modename»
flex[first:last]«modename»
flex[size]«modename»
flex[first1:last1, first2:last2]«modename»
flex[first1:last1]flex[first2:last2]«modename» etc.
type name[size]
type name[size1][size2]
type *name
int n = ...; type name[n]
«std::»array<type, size>
«std::»vector<type>
type[]
type[,,...]
System.Collections.ArrayList
System.Collections.Generic.List<type>
type[][]...
ArrayList or ArrayList<type>
type[size]
type[size1][size2]
[size]type
[size1][size2]...type
[]type
[][]type
[type; size]
[[type; size1]; size2]
Vec<type>
Vec<Vec<type>>
[type]
Array<type>
[[type]]
Array<Array<type>>
NSArray
NSMutableArray
Array
(simple-array type (dimension))
(simple-array type (dimension1 dimension2))
(array type (dimension))
(array type (dimension1 dimension2))
array[first..last] of type
array[first1..last1] of array[first2..last2] ... of type
array[first1..last1, first2..last2, ...] of type
array of type
array of array ... of type
Dim x(last) As type
Dim x(last1, last2,...) As type
type()
type(,,...)
System.Collections.Generic.List(Of type)
list
x = type[size];
x = type[size1, size2, ...];
type :: name(size)
type :: name(size1, size2,...)
type, ALLOCATABLE :: name(:)
type, ALLOCATABLE :: name(:,:,...)
array
Array[type] or Array of type
x = Array.new(size1){ Array.new(size2) }
Array[type]
Array[...[Array[type]]...]
ArrayBuffer[type]
array type
array [idxType] type
array array type
array [idxType] array [idxType] type
OrderedCollection
type array
type array ... array
type []
type [,,...]
type vector or type array
x = Array.array (0, size-1) list_of_association_pairs
x = Array.array ((0, 0,...), (size1-1, size2-1,...)) list_of_association_pairs
level-number type OCCURS size «TIMES».
level-number type OCCURS min-size TO max-size «TIMES» DEPENDING «ON» size.
sizeof
&
type x[]
type[] x
DEPENDING ON
type name is «abstract» «tagged» «limited» [record field1 : type; field2 : type; ...end record | null record]
type name (variation : discrete_type) is record case variation is when choice_list1 => fieldname1 : type; ... when choice_list2 => fieldname2 : type; ... ... end case;end record
struct (modename «fieldname», ...);
union (modename, ...);
struct «name» {type name;...};
union {type name;...};
«std::»tuple<type1..typen>
struct name {type name;...}
(val1, val2, ... )
std.variant.Algebraic!(type,...)
union {type name;...}
struct { «name» type ...}
struct name {name: type, ...}
enum name { Foo(types), ...}
union name {name: type, ...}
struct name { var name «: type» ...}
(«name1:» val1, «name2:» val2, «name3:» val3, ... )
enum name { case Foo«(types)» case Bar «(types)» ... }
(defstruct name slot-name (slot-name initial-value) (slot-name initial-value :type type) ...)
(cons val1 val2)
record name: type; ...end
record case type of value: (types); ...end
Structure name Dim name As type ...End Structure
«(»val1, val2, val3, ... «)»
struct {name [=value], ...}
TYPE name type :: name ...END TYPE
OpenStruct.new({:name => value})
case class name(«var» name: type, ...)
(val1, val2, val3, ... )
abstract class name case class Foo(«parameters») extends name case class Bar(«parameters») extends name ...
abstract class name case object Foo extends name case object Bar extends name ...
type name = {«mutable» name : type;...}
type name = Foo «of type» | Bar «of type» | ...
type name = {name : type,...}
datatype name = Foo «of type» | Bar «of type» | ...
data Name = Constr {name :: type,...}
data Name = Foo «types» | Bar «types» | ...
level-number name type clauses. level-number+n name type clauses. ...
name REDEFINES variable type.
struct
identifier : type« := initial_value»
identifier : constant type := final_value
subtype identifier is type
modename name« := initial_value»;
modename name = value;
mode synonym = modename;
type name« = initial_value»;
enum{ name = value };
typedef type synonym;
const type name = value;
type name1« = initial_value», name2« = initial_value», ...;
var name = initial_value;
const type name = value, name = value, ...;
readonly type name = value, name = value, ... ;
using synonym = type;
auto name = value;
immutable type name = value;
alias type synonym;
final type name = value;
var name« = initial_value»;
let name« = initial_value»;
const name = value;
var name type« = initial_value»
name := initial_value
const name «type» = value
type synonym type
let mut name«: type»« = initial_value»;
static mut NAME: type = value;
let name«: type»« = initial_value»;
const NAME: type = value;
static NAME: type = value;
type synonym = typename;
var name «: type»« = initial_value»
let name «: type» = value
typealias synonym = type
(defparameter name initial-value)
(defvar name initial-value)
(defconstant name value)
(deftype synonym () 'type)
(define name initial_value)
(defglobal name initial_value)
(defdynamic name initial_value)
name: type« = initial_value»
name = value
synonym = type
Dim name «As type»
Constants use the same syntax, and:
Const
Dim
Const name1 «As type» = value, name2 «As type» = value, ...
Given that there exist the identifier suffixes ("modifiers"):
type_character
As
nullable_specifier
array_specifier
and that
modified_identifier
identifier«type_character»«nullable_specifier»«array_specifier»
modified_identifier_list
declarator_list
identifier As object_creation_expression
modified_identifier «As non_array_type«array_rank_specifier»»« = initial_value»
modified_identifier_list «As «non_array_type««array_rank_specifier»»
valid declaration statements are of the form Dim declarator_list, where, for the purpose of semantic analysis, to convert the declarator_list to a list of only single declarators:
Dim declarator_list
As New type...
As type = New type...
and for which, for each identifier,
identifier
array_rank_specifier
unmodified_type
Option Infer
Option Strict
final_type
initial_value
If Option Explicit is off, variables do not require explicit declaration; they are declared implicitly when used: name = initial_value
Option Explicit
name = initial_value
Imports synonym = type
Dim name «As type»« = initial_value»
name«: type» = initial_value
name = initial_value;
typedef struct {...} typename
type :: name
type, PARAMETER :: name = value
$name = initial_value;
define("name", value);const name = value (5.3+)
«my» $name« = initial_value»;
use constant name => value;
«my «type»» $name« = initial_value»;
«my «type»» constant name = value;
::synonym ::= type
Name = value
var name«: type» = initial_value
val name«: type» = value
type synonym = type
«[type]» $name = initial_value
name=initial_value
let name« : type ref» = ref value
let mutable name «: type» = value
val name «: type ref» = ref value
val name «: type» = value
«name::type;» name = value
type Synonym = type
VARIABLE name
value VARIABLE name
value CONSTANT name
level-number name type clauses.
«0»1 name CONSTANT «AS» value.
level-number name type clauses «IS» TYPEDEF.
!
:=
let
let mut
const
static
static mut
unsafe
if condition then statements«else statements»end if
if condition1 then statementselsif condition2 then statements...«else statements»end if
case expression is when value_list1 => statements when value_list2 => statements ... «when others => statements»end case
(if condition1 then expression1«elsif condition2 then expression2»...else expressionn)
(case expression is when value_list1 => expression1 when value_list2 => expression2 ... «when others => expressionn»)
case expression of when set1 : statements ... «otherwise: statements»end case
if condition then statements«else statements»end
if condition1 then statementselsif condition2 then statements...«else statements»end
case expression of caseLabelList : statements | ... «else statements»end
if condition then statements «else statements» fi
if condition then statements elif condition then statements fi
case switch in statements, statements«,... out statements» esac
( condition | valueIfTrue | valueIfFalse )
( condition | statements «| statements» )
( condition | statements |: condition | statements )
( variable | statements,... «| statements» )
:If condition instructions«:Else instructions»:EndIf
:If condition instructions:ElseIf condition instructions...«:Else instructions»:EndIf
:Select expression :Case case1 instructions ... «:Else instructions»:EndSelect
{condition:valueIfTrue ⋄ valueIfFalse}
if (condition) instructions«else instructions»
instructions
{ statements }
if (condition) instructionselse if (condition) instructions...«else instructions»
if (condition) instructionselse { if (condition) instructions }
switch (variable) { case case1: instructions «; break;» ... «default: instructions»}
condition ? valueIfTrue : valueIfFalse
instructions can be a single statement or a block in the form of: { statements }
switch (variable){ case case1: instructions «break_or_jump_statement» ... «default: instructions break_or_jump_statement»}
All non-empty cases must end with a break or goto case statement (that is, they are not allowed to fall-through to the next case). The default case is not required to come last.
break
goto case
default
if (condition) instruction«else instructions»
if (condition) { instructions }elseif (condition) { instructions }...«else { instructions }»
switch (variable) { case1{instructions «break;» } ... «default { instructions }»}
if condition {instructions}«else {instructions}»
if condition {instructions}else if condition {instructions}...«else {instructions}»
switch { case condition: instructions ... «default: instructions»}
switch variable { case case1: instructions ... «default: instructions»}
if (condition) {instructions}«else {instructions}»
unless (notcondition) {instructions}«else {instructions}»
if (condition) {instructions}elsif (condition) {instructions}...«else {instructions}»
unless (notcondition) {instructions}elsif (condition) {instructions}...«else {instructions}»
use feature "switch";...given (variable) { when (case1) { instructions } ... «default { instructions }»}
unless notcondition {instructions}
if condition {instructions}elsif condition {instructions}...«else {instructions}
given variable { when case1 { instructions } ... «default { instructions }»}
condition ?? valueIfTrue !! valueIfFalse
if condition instructions«else instructions»
if condition instructionselsif condition instructions...«else instructions»end
case variable when case1 instructions ... «else instructions»end
if (condition) {instructions}else if (condition) {instructions}...«else {instructions}»
expression match { case pattern1 => expression case pattern2 => expression ... «case _ => expression»}
if (condition) valueIfTrue else valueIfFalse
condition ifTrue: trueBlock«ifFalse: falseBlock»end
condition ifTrue: trueBlock ifFalse: falseBlock
(when condition instructions)
(unless condition instructions)
(if condition (progn instructions) «(progn instructions)»)
(cond (condition1 instructions) (condition2 instructions) ... «(t instructions)»)
(case expression (case1 instructions) (case2 instructions) ... «(otherwise instructions)»)
(if test then else)
(cond (test1 value1) (test2 value2) ...))
(if condition (begin instructions) «(begin instructions)»)
(cond (condition1 instructions) (condition2 instructions) ... «(else instructions)»)
(case (variable) ((case1) instructions) ((case2) instructions) ... «(else instructions)»)
(if condition valueIfTrue valueIfFalse)
(case expression (case1 instructions) (case2 instructions) ... «(t instructions)»)
if condition then begin instructionsend«else begin instructionsend»'
if condition then begin instructionsendelse if condition then begin instructionsend...«else begin instructionsend»
case variable of case1: instructions ... «else: instructions»end
If condition Then instructions«Else instructions»End If
instruction1 : instruction2 : ...
If condition Then instructions «Else instructions»
If condition Then instructionsElseIf condition Then instructions...«Else instructions»End If
Else
If
Select« Case» variable Case case_pattern1 instructions ... «Case Else instructions»End Select
IIf(condition, valueIfTrue, valueIfFalse)
If(condition, valueIfTrue, valueIfFalse)
if condition :Tab ↹instructions«else:Tab ↹instructions»
if condition :Tab ↹instructionselif condition :Tab ↹instructions...«else:Tab ↹instructions»
match variable:Tab ↹case case1:Tab ↹Tab ↹instructionsTab ↹case case2:Tab ↹Tab ↹instructions
valueIfTrue if condition else valueIfFalse
if (condition) { instructions } «else { instructions }»
if (condition) { instructions } else if (condition) { instructions } ... «else { instructions }»
switch (variable) { case case1: instructions } { case case2: instructions } ...
IF (condition) THEN instructionsELSE instructionsENDIF
IF (condition) THEN instructionsELSEIF (condition) THEN instructions...ELSE instructionsENDIF
SELECT CASE(variable) CASE (case1) instructions ... CASE DEFAULT instructionsEND SELECT
condition IF instructions « ELSE instructions» THEN
condition IF instructions ELSE condition IF instructions THEN THEN
value CASE case OF instructions ENDOF case OF instructions ENDOF default instructionsENDCASE
condition IF valueIfTrue ELSE valueIfFalse THEN
if condition then begin instructions end «else begin instructions end»
if condition then begin instructions end else if condition then begin instructions end ... «else begin instructions end»
match value with pattern1 -> expression | pattern2 -> expression ... «| _ -> expression»
if condition then valueIfTrue else valueIfFalse
Either on a single line or with indentation as shown below: if condition thenTab ↹instructions«elseTab ↹instructions»Verbose syntax mode:Same as Standard ML.
if condition thenTab ↹instructions«elseTab ↹instructions»
if condition thenTab ↹instructionselif condition thenTab ↹instructions...«elseTab ↹instructions»
if condition then «(»instructions «)»else «(» instructions «)»
if condition then «(»instructions «)»else if condition then «(» instructions «)»...else «(» instructions «)»
case value of pattern1 => expression | pattern2 => expression ... «| _ => expression»
if condition then expression else expression
when condition (do instructions)
unless notcondition (do instructions)
result | condition = expression | condition = expression | otherwise = expression
case value of { pattern1 -> expression; pattern2 -> expression; ... «_ -> expression»}
if condition-command; then expression«else expression»fi
if condition-command; then expressionelif condition-command; then expression«else expression»fi
case "$variable" in "$condition1" ) command... "$condition2" ) command...esac
if condition then expression «else expression»
if condition expression«else expression»
expression if condition
unless condition expression«else expression»
expression unless condition
if condition then expression else if condition then expression «else expression»
if condition expressionelse if condition expression«else expression»
unless condition expressionelse unless condition expression«else expression»
switch expression when condition then expression else expression
switch expression when condition expression «else expression»
IF condition «THEN» expression«ELSE expression».
EVALUATE expression «ALSO expression...» WHEN case-or-condition «ALSO case-or-condition...» expression ... «WHEN OTHER expression»END-EVALUATE
if condition { expression}« else { expression}»
if condition { expression} else if condition { expression}« else { expression}»
match variable { pattern1 => expression, pattern2 => expression, pattern3 => expression, «_ => expression»}
END-IF
,
{}
while condition loop statementsend loop
loop statements exit when not conditionend loop
for index in «reverse» [first .. last | discrete_type] loop statementsend loop
for item of «reverse» iterator loop statementsend loop
(for [all | some] [in | of] [first .. last | discrete_type | iterator] => predicate)
«for index» «from first» «by increment» «to last» «while condition» do statements od
for key «to upb list» do «typename val=list[key];» statements od
«while condition» do statements od
«while statements; condition» do statements od
«for index» «from first» «by increment» «to last» do statements od
:While condition statements:EndWhile
:Repeat statements:Until condition
:For var«s» :In list statements:EndFor
:For var«s» :InEach list statements:EndFor
while (condition) instructions
do instructions while (condition);
for («type» i = first; i <= last; i++) instructions
for (type item in set) instructions
«std::»for_each(start, end, function)
for (type item : set) instructions
foreach (type item in set) instructions
for (var i = first; i <= last; i++) instructions
for (var item of set) instructions
foreach (range(first, last) as $i) instructions
for ($i = first; $i <= last; $i++) instructions
foreach (set as item) instructions
foreach (set as key => item) instructions
for ($i = first; $i -le last; $i++) instructions
foreach (item in set) instructions
foreach (i; first ... last) instructions
foreach («type» item; set) instructions
for condition { instructions }
for i := first; i <= last; i++ { instructions }
for key, item := range set { instructions }
while condition { instructions }
repeat { instructions } while condition
do { instructions } while condition
for i = first ... last { instructions }
for i = first ..< last+1 { instructions }
for var i = first; i <= last; i++ { instructions }
for item in set { instructions }
while (condition) { instructions }
until (notcondition) { instructions }
do { instructions } while (condition)
do { instructions } until (notcondition)
for«each» «$i» (first .. last) { instructions }
for ($i = first; $i <= last; $i++) { instructions }
for«each» «$item» (set) { instructions }
until notcondition { instructions }
repeat { instructions } until notcondition
for first..last -> $i { instructions }
loop ($i = first; $i <=last; $i++) { instructions }
for set« -> $item» { instructions }
while condition instructionsend
until notcondition instructionsend
begin instructionsend while condition
begin instructionsend until notcondition
for i in first..last instructionsend
for i in first...last+1 instructionsend
first.upto(last) { |i| instructions }
for item in set instructionsend
set.each { |item| instructions }
while condition ;do instructionsdone
until notcondition ;do instructionsdone
for ((i = first; i <= last; ++i)) ; do instructionsdone
for item in set ;do instructionsdone
for (i <- first to last «by 1») { instructions }
first to last «by 1» foreach (i => { instructions })
for (item <- set) { instructions }
set foreach (item => { instructions })
conditionBlock whileTrue: loopBlock
loopBlock doWhile: conditionBlock
first to: last do: loopBlock
collection do: loopBlock
(loop while condition do instructions)
(do () (notcondition) instructions)
(loop do instructions while condition)
(loop for i from first to last «by 1» do instructions)
(dotimes (i N) instructions)
(do ((i first (1+ i))) ((>=i last)) instructions)
(loop for item in list do instructions)
(loop for item across vector do instructions)
(dolist (item list) instructions)
(mapc function list)
(map type function sequence)
(let loop () (if condition (begin instructions (loop))))
(let loop () (instructions (if condition (loop))))
(do ((i first (+ i 1))) ((>= i last)) instructions)
(let loop ((i first)) (if (< i last) (begin instructions (loop (+ i 1)))))
(for-each (lambda (item) instructions) list)
(while condition instructions)
(tagbody loop instructions (if condition (go loop))
(for ((i first (+ i 1))) ((>= i last)) instructions)
(mapc (lambda (item) instructions) list)
while condition do begin instructionsend
repeat instructionsuntil notcondition;
for i := first «step 1» to last do begin instructionsend;
for item in set do instructions
Do While condition instructionsLoop
Do Until notcondition instructionsLoop
While condition instructionsWend
End While
Do instructionsLoop While condition
Do instructionsLoop Until notcondition
i
For i = first To last «Step 1» instructionsNext i
For Each item In set instructionsNext item
For i« As type» = first To last« Step 1» instructionsNext« i»
For Each item« As type» In set instructionsNext« item»
while condition :Tab ↹instructions«else:Tab ↹instructions»
for i in range(first, last+1):Tab ↹instructions«else:Tab ↹instructions»
for i in xrange(first, last+1):Tab ↹instructions«else:Tab ↹instructions»
for item in set:Tab ↹instructions«else:Tab ↹instructions»
while (condition) { instructions } «then optional-block»
do { instructions } while (condition) «then optional-block»
for (i = first; i <= last; i++) { instructions } «then optional-block»
foreach item(set) «using (what)» { instructions } «then optional-block»
DO WHILE (condition) instructionsENDDO
DO instructions IF (condition) EXITENDDO
DO I = first,last instructionsENDDO
BEGIN «instructions» condition WHILE instructions REPEAT
BEGIN instructions condition UNTIL
limit start DO instructions LOOP
while condition do instructions done
for i = first to last do instructions done
Array.iter (fun item -> instructions) array
List.iter (fun item -> instructions) list
while condition doTab ↹instructions
for i = first to last doTab ↹instructions
foritem in set doTab ↹instructions
Seq.iter (fun item -> instructions) set
while condition do ( instructions )
Array.app (fn item => instructions) array
app (fn item => instructions) list
Control.Monad.forM_ [first..last] (\i -> do instructions)
Control.Monad.forM_list (\item -> do instructions)
from setupuntil conditionloop instructionsend
while condition expression
expression while condition
while condition then expression
until condition expression
expression until condition
until expression then condition
for i in [first..last] expression
for i in [first..last] then expression
expression for i in [first..last]
for item in set expression
for item in set then expression
expression for item in set
PERFORM procedure-1 «THROUGH procedure-2» ««WITH» TEST BEFORE» UNTIL condition
PERFORM ««WITH» TEST BEFORE» UNTIL condition expressionEND-PERFORM
PERFORM procedure-1 «THROUGH procedure-2» «WITH» TEST AFTER UNTIL condition
PERFORM «WITH» TEST AFTER UNTIL condition expressionEND-PERFORM
PERFORM procedure-1 «THROUGH procedure-2» VARYING i FROM first BY increment UNTIL i > last
PERFORM VARYING i FROM first BY increment UNTIL i > last expressionEND-PERFORM
while condition { expression}
loop { expression if condition { break; }}
for i in first..last+1 { expression}
for i in first..=last { expression}
for item in set { expression}
set.into_iter().for_each(|item| expression);
step
THRU
THROUGH
«IS» GREATER «THAN»
>
std::iter::IntoIterator
raise exception_name «with string_expression»
begin statementsexception when exception_list1 => statements; when exception_list2 => statements;... «when others => statements;»end
pragma Assert («Check =>» boolean_expression ««Message =>» string_expression»)[function | procedure | entry] with Pre => boolean_expression Post => boolean_expressionany_type with Type_Invariant => boolean_expression
«string_expression» ⎕SIGNAL number_expression
:Trap number«s»_expression statements«:Case number«s»_expression statements»...«:Else number«s»_expression statements»:EndTrap
«string_expression» ⎕SIGNAL 98/⍨~condition
longjmp(state, exception);
switch (setjmp(state)) { case 0: instructions break; case exception: instructions ... }
assert(condition);
throw exception;
try { instructions } catch «(exception)» { instructions } ...
try { instructions } catch «(exception« name»)» { instructions } ... «finally { instructions }»
System.Diagnostics.Debug.Assert(condition);
System.Diagnostics.Trace.Assert(condition);
try { instructions } catch (exception) { instructions } ... «finally { instructions }»
assert condition «: description»;
try { instructions } catch (exception) { instructions} «finally { instructions }»
try { instructions } catch «exception» { instructions } ... «finally { instructions }»
trap «[exception]» { instructions } ... instructions
try { instructions } catch «[exception]» { instructions } ... «finally { instructions }»
[Debug]::Assert(condition)
@throw exception;
@try { instructions } @catch (exception) { instructions } ... «@finally { instructions }»
NSAssert(condition, description);
throw exception
do { try expression ... instructions } catch exception { instructions } ...
assert(condition«, description»)
die exception;
eval { instructions }; if ($@) { instructions }
try { instructions CATCH { when exception { instructions } ...}}
raise exception
begin instructionsrescue exception instructions...«else instructions»«ensure instructions»end
exception raise
instructionBlock on: exception do: handlerBlock
assert: conditionBlock
(error "exception")
(error type arguments)
(error (make-condition type arguments))
(handler-case (progn instructions) (exception instructions) ...)
(handler-bind (condition (lambda instructions «invoke-restart restart args»))...)
(assert condition)
(assert condition «(place) «error»»)
(check-type var type)
(raise exception)
(guard (con (condition instructions) ...) instructions)
(error "error-string" objects)
(signal-condition condition continuable)
(with-handler handler form*)
raise Exception.Create()
try Except on E: exception do begin instructions end; end;
Err.Raise ERRORNUMBER
With New Try: On Error Resume Next OneInstruction.Catch: On Error GoTo 0: Select Case .Number Case SOME_ERRORNUMBER instructionsEnd Select: End With
'*** Try class *** Private mstrDescription As String Private mlngNumber As Long Public Sub Catch() mstrDescription = Err.Description mlngNumber = Err.Number End Sub Public Property Get Number() As Long Number = mlngNumber End Property Public Property Get Description() As String Description = mstrDescription End Property
Debug.Assert condition
Throw exception
Error errorcode
Try instructionsCatch« name As exception»« When condition» instructions...«Finally instructions»End Try
System.Diagnostics.
Debug.Assert(condition)
System.Diagnostics.Trace.Assert(condition)
Raise exception
Try instructionsCatch «exception» instructions...«Finally instructions»End Try
try:Tab ↹instructionsexcept «exception»:Tab ↹instructions...«else:Tab ↹instructions»«finally:Tab ↹instructions»
assert condition
code THROW
xt CATCH ( code or 0 )
try expression with pattern -> expression ...
try expression finally expression
raise exception «arg»
expression handle pattern => expression ...
throwError expression
catch tryExpression catchExpression
catchError tryExpression catchExpression
assert condition expression
RAISE «EXCEPTION» exception
USE «AFTER» EXCEPTION OBJECT class-name.
USE «AFTER» EO class-name.
USE «AFTER» EXCEPTION CONDITION exception-name «FILE file-name».
USE «AFTER» EC exception-name «FILE file-name».
assert!(condition)
with-simple-restart
restart-case
restart-bind
invoke-restart
exit «loop_name» «when condition»
label:
goto label
value exit;
do statements; skip exit; label: statements od
go to label; ...goto label; ...label; ...
yield(value)
(Callback)[14]
:Leave
:Continue
→label
:GoTo label
break;
continue;
goto label;
yield return value;
break «label»;
continue «label»;
yield value«;»
break «levels»;
continue «levels»;
yield «key =>» value;
last «label»;
next «label»;
break «label»
continue «label»
break «levels»
continue «levels»
(return)
(return-from block)
(loop-finish)
(tagbody tag ... tag...)
(go tag)
Exit block
Return
GoTo label
Continue block
Yield value
continue
yield value
LEAVE;
ITER;
EXIT
CYCLE
label
GOTO label
next
EXIT PERFORM
EXIT PARAGRAPH
EXIT SECTION
EXIT.
EXIT PERFORM CYCLE
label «SECTION».
GO TO label
See reflective programming for calling and declaring functions by strings.
foo «(parameters)»
procedure foo «(parameters)» is begin statements end foo
function foo «(parameters)» return type is begin statements end foo
foo «(parameters)»;
proc foo = «(parameters)» void: ( instructions );
proc foo = «(parameters)» rettype: ( instructions ...; retvalue );
«parameters» foo parameters
foo←{ statements }
foo(«parameters»)
void foo(«parameters») { instructions }
type foo(«parameters») { instructions ... return value; }
«global declarations»int main(«int argc, char *argv[]») { instructions}
public static void main(String[] args) { instructions }
public static void main(String... args) { instructions }
int main(«char[][] args») { instructions}
int main(«string[] args») { instructions}
void main(«char[][] args») { instructions}
void main(«string[] args») { instructions}
void foo(«parameters») => statement;
void foo(«parameters») => expression;
static void Main(«string[] args») method_body
Task
Task<int>
async
function foo(«parameters») { instructions }
var foo = function («parameters») { instructions }
var foo = new Function ("«parameter»", ..., "«last parameter»" "instructions");
function foo(«parameters») { instructions ... return value; }
func foo(«parameters») { instructions }
func foo(«parameters») type { instructions ... return value }
func main() { instructions }
func foo(«parameters») -> type { instructions ... return value }
(foo «parameters»)
(defun foo («parameters») instructions)
(setf (symbol-function 'symbol) function)
(defun foo («parameters») ... value)
(define (foo parameters) instructions)
(define foo (lambda (parameters) instructions))
(define (foo parameters) instructions... return_value)
(define foo (lambda (parameters) instructions... return_value))
foo«(parameters)»
procedure foo«(parameters)»; «forward;»[a]«label label declarations»«const constant declarations»«type type declarations»«var variable declarations»«local function declarations»begin instructionsend;
function foo«(parameters)»: type; «forward;»[a]«label label declarations»«const constant declarations»«type type declarations»«var variable declarations»«local function declarations»begin instructions; foo := valueend;
program name;«label label declarations»«const constant declarations»«type type declarations»«var variable declarations»«function declarations»begin instructionsend.
Foo(«parameters»)
Sub Foo«(parameters)» instructionsEnd Sub
Function Foo«(parameters)»« As type» instructions Foo = valueEnd Function
Sub Main() instructionsEnd Sub
Function Foo«(parameters)»« As type» instructions Return valueEnd FunctionThe As clause is not required if Option Strict is off. A type character may be used instead of the As clause.If control exits the function without a return value having been explicitly specified, the function returns the default value for the return type.
Function Foo«(parameters)»« As type» instructions Return valueEnd Function
Sub Main(««ByVal »args() As String») instructionsEnd Sub
Function Main(««ByVal »args() As String») As Integer instructionsEnd Function
def foo(«parameters»):Tab ↹instructions
def foo(«parameters»):Tab ↹instructionsTab ↹return value
foo(«parameters» «;qualifiers»)
define foo («parameters») { instructions }
define foo («parameters») { instructions ... return value; }
public define slsh_main () { instructions }
foo («arguments»)CALL sub_foo («arguments»)
SUBROUTINE sub_foo («arguments») instructionsEND SUBROUTINE
type FUNCTION foo («arguments») instructions ... foo = valueEND FUNCTION
PROGRAM main instructionsEND PROGRAM
«parameters» FOO
: FOO « stack effect comment: ( before -- ) » instructions;
: FOO « stack effect comment: ( before -- after ) » instructions;
&foo«(parameters)»
sub foo { «my (parameters) = @_;» instructions }
sub foo { «my (parameters) = @_;» instructions... «return» value; }
«multi »sub foo(parameters) { instructions }
«our «type» »«multi »sub foo(parameters) { instructions ... «return» value; }
def foo«(parameters)» instructionsend
def foo«(parameters)» instructions «return» valueend
fn foo(«parameters») { instructions }
fn foo(«parameters») -> type { instructions }
fn main() { instructions }
def foo«(parameters)»«: Unit =» { instructions }
def foo«(parameters)»«: type» = { instructions ... «return» value }
def main(args: Array[String]) { instructions }
foo «parameters»
function foo { instructions };
function foo { «param(parameters)» instructions }
function foo «(parameters)» { instructions ... return value };
function foo { «param(parameters)» instructions ... return value }
function foo { instructions}
foo () { instructions}
function foo { instructions return «exit_code»}
foo () { instructions return «exit_code»}
$n
$@
$#
$0
foo parameters
let «rec» foo parameters = instructions
let «rec» foo parameters = instructions... return_value
[<EntryPoint>] let main args = instructions
fun foo parameters = ( instructions )
fun foo parameters = ( instructions... return_value )
foo parameters = doTab ↹instructions
foo parameters = return_value
foo parameters = doTab ↹instructionsTab ↹return value
«main :: IO ()»main = do instructions
foo («parameters»)
foo («parameters») require preconditions do instructions ensure postconditions end
foo («parameters»): type require preconditions do instructions Result := value ensure postconditions end
foo()
foo = ->
foo = -> value
foo = () ->
foo = ( parameters ) -> value
CALL "foo" «USING parameters» «exception-handling»«END-CALL»
«IDENTIFICATION DIVISION.»PROGRAM-ID. foo.«other divisions...»PROCEDURE DIVISION «USING parameters». instructions.
«IDENTIFICATION DIVISION.»PROGRAM-ID/FUNCTION-ID. foo.«other divisions...»DATA DIVISION.«other sections...»LINKAGE SECTION.«parameter definitions...»variable-to-return definition«other sections...»PROCEDURE DIVISION «USING parameters» RETURNING variable-to-return. instructions.
«FUNCTION» foo«(«parameters»)»
forward;
PARAMETER
CALL
"foo"
Where string is a signed decimal number:
Integer'Value (string_expression)
Long_Integer'Value (string_expression)
Float'Value (string_expression)
Integer'Image (integer_expression)
Float'Image (float_expression)
string buf := "12345678.9012e34 "; file proxy; associate(proxy, buf);
get(proxy, ivar);
get(proxy, livar);
get(proxy, rvar);
put(proxy, ival);
put(proxy, rval);
getf(proxy, ($g$, ivar));
getf(proxy, ($dddd$, ivar));
getf(proxy, ($g$, livar));
getf(proxy, ($8d$, livar));
getf(proxy, ($g$, rvar));
getf(proxy, ($8d.4dE2d$, rvar));
putf(proxy, ($g$, ival));
putf(proxy, ($4d$, ival));
putf(proxy, ($g(width, places, exp)$, rval));
putf(proxy, ($8d.4dE2d$, rval));
⍎string_expression
⍕integer_expression
⍕float_expression
integer = atoi(string);
long = atol(string);
float = atof(string);
sprintf(string, "%i", integer);
sprintf(string, "%f", float);
integer = [string intValue];
long = [string longLongValue];
float = [string doubleValue];
string = [NSString stringWithFormat:@"%i", integer];
string = [NSString stringWithFormat:@"%f", float];
«std::»istringstream(string) >> number;
«std::»ostringstream o; o << number; string = o.str();
integer = «std::»stoi(string);
long = «std::»stol(string);
float = «std::»stof(string); double = «std::»stod(string);
string = «std::»to_string(number);
integer = int.Parse(string);
long = long.Parse(string);
float = float.Parse(string);
double = double.Parse(string);
string = number.ToString();
integer = std.conv.to!int(string)
long = std.conv.to!long(string)
float = std.conv.to!float(string)
double = std.conv.to!double(string)
string = std.conv.to!string(number)
integer = Integer.parseInt(string);
long = Long.parseLong(string);
float = Float.parseFloat(string);
double = Double.parseDouble(string);
string = Integer.toString(integer);
string = String.valueOf(integer);
string = Float.toString(float);
string = Double.toString(double);
integer = parseInt(string);
float = parseFloat(string);
float = new Number (string);
float = Number (string);
float = +string;
string = number.toString ();
string = String (number);
string = number+"";
string = `${number}`
integer, error = strconv.Atoi(string)integer, error = strconv.ParseInt(string, 10, 0)
long, error = strconv.ParseInt(string, 10, 64)
float, error = strconv.ParseFloat(string, 64)
string = strconv.Itoa(integer)
string = strconv.FormatInt(integer, 10)
string = fmt.Sprint(integer)
string = strconv.FormatFloat(float)
string = fmt.Sprint(float)
string.parse::<i32>()
i32::from_str(string)
string.parse::<i64>()
i64::from_str(string)
string.parse::<f64>()
f64::from_str(string)
integer.to_string()
float.to_string()
(setf integer (parse-integer string))
(setf float (read-from-string string))
(setf string (princ-to-string number))
(define number (string->number string))
(define string (number->string number))
(setf integer (convert string <integer>))
(setf float (convert string <float>))
(setf string (convert number <string>))
integer := StrToInt(string);
float := StrToFloat(string);
string := IntToStr(integer);
string := FloatToStr(float);
integer = CInt(string)
long = CLng(string)
float = CSng(string)double = CDbl(string)
string = CStr(number)
integer = Integer.Parse(string)
long = Long.Parse(string)
float = Single.Parse(string)
double = Double.Parse(string)
string = number.ToString()
integer = Val(string)
long = Val(string)
double = Val(string)
double = CDbl(string)
string = Str(number)
integer = int(string)
long = long(string)
float = float(string)
string = str(number)
string = string(number);
READ(string,format) number
WRITE(string,format) number
integer = intval(string);
integer = (int)string;
float = floatval(string);
float = (float)string;
string = "$number";
string = strval(number);
string = (string)number;
number = 0 + string;
string = "number";
number = +string;
string = ~number;
integer = string.to_i
integer = Integer(string)
float = string.to_f
float = Float(string)
string = number.to_s
integer = string.toInt
long = string.toLong
float = string.toFloat
double = string.toDouble
string = number.toString
integer := Integer readFrom: string
float := Float readFrom: string
string := number asString
integer = [int]string
long = [long]string
float = [float]string
string = [string]number;
string = (number).ToString()
let integer = int_of_string string
let float = float_of_string string
let string = string_of_int integer
let string = string_of_float float
let integer = int string
let integer = int64 string
let float = float string
let string = string number
val integer = Int.fromString string
val float = Real.fromString string
val string = Int.toString integer
val string = Real.toString float
number = read string
string = show number
MOVE «FUNCTION» NUMVAL(string)[c] TO number
MOVE number TO numeric-edited
NUMVAL-C
NUMVAL-F
NUMVAL
str::parse
std::str::FromStr
FromStr::from_str
Result
::<_>
Get (x)
Put (x)
Put (Standard_Error, x)
readf(($format$, x));
getf(stand in, ($format$, x));
printf(($format$, x));
putf(stand out, ($format$, x));
putf(stand error, ($format$, x));
x←⎕
⎕←x
⍞←x
scanf(format, &x);
fscanf(stdin, format, &x);
printf(format, x);
fprintf(stdout, format, x);
fprintf(stderr, format, x);
data = [[NSFileHandle fileHandleWithStandardInput] readDataToEndOfFile];
[[NSFileHandle fileHandleWithStandardOutput] writeData:data];
[[NSFileHandle fileHandleWithStandardError] writeData:data];
«std::»cin >> x;
«std::»getline(«std::»cin, str);
«std::»cout << x;
«std::»cerr << x;
«std::»clog << x;
x = Console.Read();
x = Console.ReadLine();
Console.Write(«format, »x);
Console.WriteLine(«format, »x);
Console.Error.Write(«format, »x);
Console.Error.WriteLine(«format, »x);
x = std.stdio.readln()
std.stdio.write(x)
std.stdio.writeln(x)
std.stdio.writef(format, x)
std.stdio.writefln(format, x)
stderr.write(x)
stderr.writeln(x)
std.stdio.writef(stderr, format, x)
std.stdio.writefln(stderr, format, x)
x = System.in.read();
x = new Scanner(System.in).nextInt();
x = new Scanner(System.in).nextLine();
System.out.print(x);
System.out.printf(format, x);
System.out.println(x);
System.err.print(x);
System.err.printf(format, x);
System.err.println(x);
fmt.Scan(&x)
fmt.Scanf(format, &x)
x = bufio.NewReader(os.Stdin).ReadString('\n')
fmt.Println(x)
fmt.Printf(format, x)
fmt.Fprintln(os.Stderr, x)
fmt.Fprintf(os.Stderr, format, x)
x = readLine()
print(x)
println(x)
document.write(x)
Response.Write(x)
x = WScript.StdIn.Read(chars)
x = WScript.StdIn.ReadLine()
WScript.Echo(x)
WScript.StdOut.Write(x)
WScript.StdOut.WriteLine(x)
WScript.StdErr.Write(x)
WScript.StdErr.WriteLine(x)
(setf x (read-line))
(princ x)
(format t format x)
(princ x *error-output*)
(format *error-output* format x)
(format *error-output*
(define x (read-line))
(display x)
(format #t format x)
(format #t
(display x (current-error-port))
(format (current-error-port) format x)
(format (current-error-port)
(format (standard-output) format x)
(format (standard-output)
(format (error-output) format x)
(format (error-output)
read(x);
readln(x);
write(x);
writeln(x);
write(stderr, x);
writeln(stderr, x);
Input« prompt,» x
Print x
? x
x = Console.Read()
x = Console.ReadLine()
Console.Write(«format,»x)
Console.WriteLine(«format, »x)
Console.Error.Write(«format, »x)
Console.Error.WriteLine(«format, »x)
x = StandardInputStream.Read()
x = StandardInputStreame.ReadLine()
StandardOutputStream.Write(x)
StandardOutputStream.WriteLine(x)
StdErr.Write(x)
StdErr.WriteLine(x)
x = raw_input(«prompt»)
print x
sys.stdout.write(x)
print >> sys.stderr, x
print >> sys.stderr,
sys.stderr.write(x)
x = input(«prompt»)
print(x«, end=""»)
print(x«, end=""», file=sys.stderr)
fgets (&x, stdin)
fputs (x, stdout)
fputs (x, stderr)
READ(*,format) variable names
READ(INPUT_UNIT,format) variable names
WRITE(*,format) expressions
WRITE(OUTPUT_UNIT,format) expressions
WRITE(ERROR_UNIT,format) expressions
buffer length ACCEPT ( # chars read )KEY ( char )
buffer length TYPEchar EMIT
$x = fgets(STDIN);
$x = fscanf(STDIN, format);
print x;
echo x;
fprintf(STDERR, format, x);
$x = <>;
$x = <STDIN>;
printf format, x;
print STDERR x;
printf STDERR format, x;
$x = $*IN.get;
x.print
x.say
x.note
$*ERR.print(x)
$*ERR.say(x)
x = gets
puts x
printf(format, x)
$stderr.puts(x)
$stderr.printf(format, x)
$x = Read-Host«« -Prompt» text»;
$x = [Console]::Read();
$x = [Console]::ReadLine()
x;
Write-Output x;
echo x
Write-Error x
let x = read_int ()
let str = read_line ()
Scanf.scanf format (fun x ... -> ...)
print_int x
print_endline str
Printf.printf format x ...
prerr_int x
prerr_endline str
Printf.eprintf format x ...
let x = System.Console.ReadLine()
printf format x ...
printfn format x ...
eprintf format x ...
eprintfn format x ...
val str = TextIO.inputLIne TextIO.stdIn
print str
TextIO.output (TextIO.stdErr, str)
TextIO.output (TextIO.stdErr,
x <- readLn
str <- getLine
putStrLn str
hPrint stderr x
hPutStrLn stderr str
ACCEPT x
DISPLAY x
read
write
get
put
gets(x)
fgets(x, length, stdin)
puts(x)
fputs(x, stdout)
fputs(x, stderr)
Argument (n)
Argument_Count
Command_Name
argv[n]
argc
args[n]
args.Length
Assembly.GetEntryAssembly().Location;
args.length
WScript.Arguments(n)
WScript.Arguments.length
WScript.ScriptName
WScript.ScriptFullName
os.Args[n]
len(os.Args)
std::env::args().nth(n)
std::env::args_os().nth(n)
std::env::args().count()
std::env::args_os().count()
std::env::args().next()
std::env::args_os().next()
Process.arguments[n]
Process.unsafeArgv[n]
Process.arguments.count
Process.argc
(list-ref (command-line) n)
(length (command-line))
ParamStr(n)
ParamCount
Command
App.Path
CmdArgs(n)
CmdArgs.Length
[Assembly].GetEntryAssembly().Location
System.CommandLine
Application.ExecutableFile.Name
sys.argv[n]
len(sys.argv)
__argv[n]
__argc
DO i = 1,argc CALL GET_COMMAND_ARGUMENT (i,argv(i))ENDDO
argc = COMMAND_ARGUMENT_COUNT ()
CALL GET_COMMAND_ARGUMENT (0,progname)
$argv[n]
$argc
$n ($1, $2, $3, ...)
$ARGV[n]
scalar(@ARGV)
@*ARGS[n]
@*ARGS.elems
$PROGRAM_NAME
ARGV[n]
ARGV.size
$args[n]
$args.Length
$MyInvocation.MyCommand.Name
Sys.argv.(n)
Array.length Sys.argv
args.[n]
Assembly.GetEntryAssembly().Location
List.nth (CommandLine.arguments (), n)
length (CommandLine.arguments ())
CommandLine.name ()
do { args <- System.getArgs; return length args !! n
do { args <- System.getArgs; return length args
System.getProgName
std::env::args
std::env::args_os
std::env::Args
std::env::ArgsOs
Args
ArgsOs
std::ffi::OsString
Split(string)
ACCEPT
system("command");
execl(path, args);
execv(path, arglist);
[NSTask launchedTaskWithLaunchPath:(NSString *)path arguments:(NSArray *)arguments];
System.Diagnostics.Process.Start(path, argstring);
exec.Run(path, argv, envv, dir, exec.DevNull, exec.DevNull, exec.DevNull)
os.Exec(path, argv, envv)
Interaction.Shell(command «, WindowStyle» «, isWaitOnReturn»)
Microsoft.VisualBasic.Interaction.Shell(command «, WindowStyle» «, isWaitOnReturn»)
System.Diagnostics.Process.Start(path, argstring)
Shell.Execute(command «, Parameters»)
FolderItem.Launch(parameters, activate)
std.process.system("command");
std.process.execv(path, arglist);
Runtime.exec(command);
new ProcessBuilder(command).start();
WScript.CreateObject ("WScript.Shell").Run(command «, WindowStyle» «, isWaitOnReturn»);
WScript.CreateObject ("WScript.Shell").Run(
WshShell.Exec(command)
(uiop:run-program command)
(system command)
system(command);
Sys.command command, Unix.open_process_full command env (stdout, stdin, stderr),...
Unix.create_process prog args new_stdin new_stdout new_stderr, ...
Unix.execv prog args
Unix.execve prog args env
OS.Process.system command
Unix.execute (path, args)
Posix.Process.exec (path, args)
System.system command
System.Process.runProcess path args ...
Posix.Process.executeFile path True args ...
system(command)
$output = `command`
$output = qx(command)
exec(path, args)
output = `command`
exec(command)
passthru(command)
os.system(command)
subprocess.Popen(command)
subprocess.call(["program", "arg1", "arg2", ...])
os.execv(path, args)
CALL EXECUTE_COMMAND_LINE (COMMAND «, WAIT» «, EXITSTAT» «, CMDSTAT» «, CMDMSG»)
[Diagnostics.Process]::Start(command)
«Invoke-Item »program arg1 arg2 ...
output=`command`
output=$(command)
program arg1 arg2 ...
^a Fortran 2008 or newer.[17]