Comparison of programming languages (strings)

This is an old revision of this page, as edited by Btx40 (talk | contribs) at 14:11, 27 June 2008 (Common variants). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Concatenation

Different languages use different symbols for the concatenation operator. Most languages use the "+" symbol, though several deviate from this norm.

Common variants

+       ;; BASIC, C++, C#, Pascal, Delphi, JavaScript, Java, Python,
        Turing, Ruby, Windows PowerShell
++      ;; Haskell
&       ;; Ada, AppleScript, Curl, VHDL, Visual Basic,  Excel
.       ;; Perl (before version 6), PHP, and Maple (up to version 5), Autohotkey
~       ;; Perl 6 and D 
||      ;; Icon, Standard SQL, PL/I, Rexx, and Maple (from version 6)
<>      ;; Mathematica 
..      ;; Lua
,       ;; J programming language
^       ;; OCaml and Standard ML
//      ;; Fortran

Unique variants

  • Awk uses the empty string: two expressions adjacent to each other are concatenated. This is called Juxtaposition. Unix shells have a similar syntax. Rexx uses this syntax for concatenation including an intervening space.
  • C allows juxtaposition for string literals, however, for strings stored as character arrays, the strcat function must be used.
  • MATLAB and Octave use the syntax "[x y]" to concatenate x and y.
  • Visual Basic Versions 1 to 6 can also use the "+" sign but, this leads to ambiguity if a string representing a number and a number is added together.
  • Microsoft Excel allows both "&" and the function "=CONCATENATE(X,Y)".

String literals

This section compares styles for declaring a string literal.

Quoted raw

@"Hello, world!"                  ;; C#
r"Hello, world!"                  ;; Python
'Hello, world!'                   ;; Perl, Windows PowerShell
<![CDATA[Hello, world!]]>         ;; XML (CDATA section)

Quoted interpolated

"Hello, $name!"                   ;; Perl
"Hello, #{name}!"                 ;; Ruby

Dual quoting

Multiple quoting

qq(I said "Hello, world!")        ;; Perl

Unique quoting variants

"""Hello, world!"""               ;; Triple quoting                        ;; Python
13HHello, world!                  ;; Hollerith notation                    ;; FORTRAN
(indented with whitespace)        ;; Indented with whitespace and newlines ;; YAML