# Basic Syntax

## "Hello, World!" Program&#x20;

This is the typical first program for those new to a general purpose programming language like Julia. It can be used to test that the [**Installation**](https://docs.bcbi.brown.edu/codiac-for-health/computing/julia/installation) of Julia is working and also introduce Julia's basic syntax using the [**REPL**](https://docs.bcbi.brown.edu/codiac-for-health/computing/julia/repl) environment or running code written using a [**Text Editor**](https://docs.bcbi.brown.edu/codiac-for-health/computing/text-editors) at the [**Unix**](https://docs.bcbi.brown.edu/codiac-for-health/computing/unix) command line.

Input:

```julia
# hello.jl
# This is a single line comment
#= 
This is a block comment to show
comments across multiple lines.
=#

print("Hello, World!")
```

Output:

```
Hello, World!
```

Here are variations of the "Hello, World!" programming using variables and different print statements.

Input:

```
# hello2.jl

greeting = "Hello, World!"

print(greeting) # print greeting
print("Greeting 1: $greeting") # print greeting as part of a string phrase
print("Greeting 2: $greeting\n") # print with newline (\n) character
println("Greeting 3: $greeting") # println automatically adds the newline character
```

Output:&#x20;

```
Hello, World!
Greeting 1: Hello, World!
Greeting 2: Hello, World!

Greeting 3: Hello, World!

```

## Variable Assignment

In order to assign variables in Julia, you write the desired name for your variable, an `=` sign, and what the value of the variable should be.

Input:

```python
x = 7
x
```

Output:

```python
7
```

## Comments

* We can write comments on our code, which do not run, to describe what certain lines of code or section of code do
  * These comments are just for the programmer, they will not appear anywhere in the output and just are there to explain what the code is doing or to provide helpful notes
  * To make a comment in Julia, you can use the “#” symbol and then type your comment&#x20;
* Sometimes you might want to write longer comments that span multiple lines – to do this you can surround these comments with `#=` above the start as well as `=#` below the end

Input:

```python
# Assigns variable x to have value 7
x = 7

#=
Now we want to print out what x is. We can do this by simply typing x and 
hitting run. This comment spans multiple lines. These types of comments are 
useful when describing complex functions or algorithms.
=#

x

```

Output:

```python
7
```

## Print Statements

Without using a print statement, Julia will only print out the most recent item that has an output. In order to print multiple things, we can use the `print()` or `println()` functions.

Input:

<pre class="language-julia"><code class="lang-julia"># Assign x, y, and z variables 
x = 7
y = 10
z = 4

z
<a data-footnote-ref href="#user-content-fn-1">print</a>(x)
println(y)
</code></pre>

Output:

```python
7
10
```

## Exercises

* Use Julia in Brown Oscar Computing Environment - *<mark style="color:yellow;">Forthcoming!</mark>*
* Use Julia in Brown Stronghold Computing Environment - *<mark style="color:yellow;">Forthcoming!</mark>*

## Resources

* Julia Documentation: [Variables](https://docs.julialang.org/en/v1/manual/variables/)
* Julia Documentation: [Scope of Variables](https://docs.julialang.org/en/v1/manual/variables-and-scoping/)
* Think Julia: [Chapter 1 - The Way of the Program](https://benlauwens.github.io/ThinkJulia.jl/latest/book.html#chap01)
* Think Julia: [Chapter 2 - Variables, Expressions and Statements](https://benlauwens.github.io/ThinkJulia.jl/latest/book.html#chap02)

[^1]:
