At sign used by programming language
Computer languages
@ is used in various programming languages and other computer languages, although there is not a consistent theme to its usage. For example:In ALGOL 68, the @ symbol is brief form of the at keyword; it is used to change the lower bound of an array. For example: arrayx[@88] refers to an array starting at index 88.
In ActionScript, @ is used in XML parsing and traversal as a string prefix to identify attributes in contrast to child elements.
In the ASP.NET MVC Razor template markup syntax, the @ character denotes the start of code statement blocks or the start of text content.
In Dyalog APL, @ is used as a functional way to modify or replace data at specific locations in an array.
In CSS, @ is used in special statements outside of a CSS block.
In C#, it denotes "verbatim strings", where no characters are escaped and two double-quote characters represent a single double-quote. As a prefix it also allows keywords to be used as identifiers, a form of stropping.
In D, it denotes function attributes: like: @safe, @nogc, user defined @('from_user') which can be evaluated at compile time (with __traits) or @property to declare properties, which are functions that can be syntactically treated as if they were fields or variables.
In DIGITAL Command Language, the @ character was the command used to execute a command procedure. To run the command procedure VMSINSTAL.COM, one would type @VMSINSTAL at the command prompt.
In Forth, it is used to fetch values from the address on the top of the stack. The operator is pronounced as "fetch".
In Haskell, it is used in so-called as-patterns. This notation can be used to give aliases to patterns, making them more readable.
in HTML, it can be encoded as &commat;
In J, denotes function composition.
In Java, it has been used to denote annotations, a kind of metadata, since version 5.0.
In LiveCode, it is prefixed to a parameter to indicate that the parameter is passed by reference.
In an LXDE autostart file (as used, for example, on the Raspberry Pi computer), @ is prefixed to a command to indicate that the command should be automatically re-executed if it crashes.
In ML, it denotes list concatenation.
In modal logic, specifically when representing possible worlds, @ is sometimes used as a logical symbol to denote the actual world (the world we are "at").
In Objective-C, @ is prefixed to language-specific keywords such as @implementation and to form string literals.
In Pascal, @ is the "address of" operator (it tells the location at which a variable is found).
In Perl, @ prefixes variables which contain arrays @array, including array slices @array[2..5,7,9] and hash slices @hash{'foo', 'bar', 'baz'} or @hash{qw(foo bar baz)}. This use is known as a sigil.
In PHP, it is used just before an expression to make the interpreter suppress errors that would be generated from that expression.
In Python 2.4 and up, it is used to decorate a function (wrap the function in another one at creation time). In Python 3.5 and up, it is also used as an overloadable matrix multiplication operator.
In Razor, it is used for C# code blocks.
In Ruby, it functions as a sigil: @ prefixes instance variables, and @@ prefixes class variables.
In Rust, it is used to bind values matched by a pattern to a variable.
In Scala, it is used to denote annotations (as in Java), and also to bind names to subpatterns in pattern-matching expressions.
In Swift, @ prefixes "annotations" that can be applied to classes or members. Annotations tell the compiler to apply special semantics to the declaration like keywords, without adding keywords to the language.
In T-SQL, @ prefixes variables and @@ prefixes "niladic" system functions.
In several xBase-type programming languages, like DBASE, FoxPro/Visual FoxPro and Clipper, it is used to denote position on the screen. For example: @1,1 SAY "HELLO" to show the word "HELLO" in line 1, column 1.
In FoxPro/Visual FoxPro, it is also used to indicate explicit pass by reference of variables when calling procedures or functions (but it is not an address operator).
In a Windows Batch file, an @ at the start of a line suppresses the echoing of that command. In other words, is the same as ECHO OFF applied to the current line only. Normally a Windows command is executed and takes effect from the next line onward, but @ is a rare example of a command that takes effect immediately. It is most commonly used in the form @echo off which not only switches off echoing but prevents the command line itself from being echoed.
In Windows PowerShell, @ is used as array operator for array and hash table literals and for enclosing here-string literals.
In the Domain Name System (DNS), @ is used to represent the $ORIGIN, typically the "root" of the domain without a prefixed sub-domain. (Ex: wikipedia.org vs. www.wikipedia.org)
In assembly language, @ is sometimes used as a dereference operator.