Choice System Cross Reference
This table refers to the most recent language specification of each language. For languages that do not have a specification, the latest officially released implementation is referred to.
| Programming language | Structured if | switch/select/case | Arithmetic if | Pattern matching | ||
|---|---|---|---|---|---|---|
| then | else | else-if | ||||
| Ada | Yes | Yes | Yes | Yes | No | No |
| C/C++ | Yes | Yes | unneeded | fall-through | No | No |
| C# | Yes | Yes | unneeded | Yes | No | No |
| Eiffel | Yes | Yes | Yes | Yes | No | No |
| F# | Yes | Yes | Yes | unneeded | No | Yes |
| Fortran | Yes | Yes | Yes | Yes | Yes | No |
| Haskell | Yes | needed | unneeded | unneeded | No | Yes |
| Java | Yes | Yes | unneeded | fall-through | No | No |
| ECMAScript (JavaScript) | Yes | Yes | unneeded | fall-through | No | No |
| Oberon | Yes | Yes | Yes | Yes | No | No |
| Perl | Yes | Yes | Yes | Yes | No | No |
| PHP | Yes | Yes | Yes | fall-through | No | No |
| Pascal, Delphi | Yes | Yes | unneeded | Yes | No | No |
| Python | Yes | Yes | Yes | No | No | No |
| QuickBASIC | Yes | Yes | Yes | Yes | Yes | No |
| Ruby | Yes | Yes | Yes | Yes | No | No |
| SQL | Yes | Yes | Yes | Yes | No | No |
| Visual Basic, classic | Yes | Yes | Yes | Yes | No | No |
| Visual Basic .NET | Yes | Yes | Yes | Yes | No | No |
| Windows PowerShell | Yes | Yes | Yes | fall-through | No | No |
- ^ This refers to pattern matching as a distinct conditional construct in the programming language – as opposed to mere string pattern matching support, such as regular expression support.
- 1 2 3 4 5 The often-encountered
else ifin the C family of languages, and in Haskell, is not a language feature but a set of nested and independent if then else statements combined with a particular source code layout. However, this also means that a distinct else-if construct is not really needed in these languages. - 1 2 In Haskell and F#, a separate constant choice construct is unneeded, because the same task can be done with pattern matching.
- 1 2 SQL has two similar constructs that fulfill both roles, both introduced in SQL-92. A "searched CASE" expression CASE WHEN cond1 THEN expr1 WHEN cond2 THEN expr2 ELSE exprDflt END works like if ... else if ... else, whereas a "simple CASE" expression: CASE expr WHEN val1 THEN expr1 ELSE exprDflt END works like a switch statement. For details and examples see Case (SQL).
Read more about this topic: Conditional (computer Programming)
Famous quotes containing the words choice, system, cross and/or reference:
“People are capable of doing an awful lot when they have no choice and I had no choice. Courage is when you have choices.”
—Terry Anderson, U.S. hostage. International Herald Tribune (Paris, May 6, 1992)
“Authority is the spiritual dimension of power because it depends upon faith in a system of meaning that decrees the necessity of the hierarchical order and so provides for the unity of imperative control.”
—Shoshana Zuboff (b. 1951)
“Things have dropped from me. I have outlived certain desires; I have lost friends, some by death ... others through sheer inability to cross the street.”
—Virginia Woolf (18821941)
“I am more and more convinced that, with reference to any public question, it is more important to know what the country thinks of it than what the city thinks. The city does not think much.”
—Henry David Thoreau (18171862)