###### tags: `Guide To Contibuting`
# Basic Syntax
BYOND does not use curly braces to section off functions or semicolons to section statements.
Yeah, some of you will love this because you are lazy.
I think this **is** lazy.
In Java:
```java
public class MyClass{
public static void function(){
for(int i = 0; i < 5; i++){
System.out.println(i); // 0, 1, 2, 3, 4
}
}
}
```
In BYOND:
```DM
/datum/my_datum/proc/function()
for(var/i in 0 to 4)
world.log << i
```
Convenient, right? And it's faster! As seen here:

Code used for the test in a readable format:
<https://pastebin.com/w50uERkG>
### Advanced topics if you're a nerd
Yes, you can use {}'s and ;'s.
Example:
`#define ONE_LINE_FUNCTION for(var/i in 0 to 4){world.log<<i;other_function(i);}`
Why is this useful? Sometimes when we want to avoid proc-call overhead in super-duper-very-critical high performance areas, we wrap functions into `#define`s. This is less readable, less debuggable, but hey, it's faster.
`#define`'s are ALWAYS one line. If you use `\` to visually separate it to another line, it's still one line in the actual code, the compiler reads it as one line. That's when {}'s and ;'s are required.
## The `\` symbol
`\` makes it so one line is continued on the next if put at the **very end** of a line after a space like this.
```
multi_line_statement = this && that || thing && thong || ayy && lmao \
hehe && hoho || funny_logic_variable
```