Introduction

Getting Started

Welcome to the Juno Programming Language.

This section guides you through installing Juno, creating your first project, writing your first program, and understanding the basic development workflow.

If you're new to Juno, start with the installation guide and continue through the chapters in order.

In This Section

  • Installing the Juno toolchain
  • Creating a new project
  • Writing your first program
  • Compiling and running applications
  • Understanding the project layout

After completing this chapter, you'll be ready to explore the language itself in the Language Tour.

Installation

Before writing your first Juno program, you need to install the Juno toolchain.

Requirements

The exact requirements depend on your operating system.

  • Windows
  • Linux
  • macOS

Installing

cargo install junocc

optional language server

cargo install junolsp

Verify the Installation

After installing Juno, verify that the compiler is available:

junocc --version

If the command succeeds, you're ready to continue with the next chapter.

Hello, World!

Writing a "Hello, World!" program is a long-standing tradition when learning a new programming language. It demonstrates the minimal structure of a valid program and verifies that your development environment is working correctly.

The Program

fn main() {
    puts("Hello, World!");
}

Program Structure

Every executable Juno program begins with a function named main.

fn main() {

}

When the program starts, the runtime automatically calls main(). Execution ends when this function returns.

Printing Text

The printf() built-in function writes a string to the standard output followed by a newline.

printf("Hello, World!");

The output will be:

Hello, World!

Statements

Each statement ends with a semicolon (;).

printf("Hello");
printf("World");

Omitting the semicolon results in a compilation error.

Strings

Text enclosed in double quotes (") is a string literal.

printf("Juno");
printf("Programming Language");

Strings can contain letters, numbers, punctuation, and escape sequences.

What's Next?

Now that you've written your first program, continue with the next chapter to learn how to create and organize Juno projects.

Project Structure

The project structure is not yet implemented (TODO: make pkgmanager for juno: mercur)

Language Tour

Variables

Functions

Control Flow

Language Reference

Lexical Structure

Keywords

Identifiers

Literals

Type System

Primitive Types

Arrays

Structs

Functions

Declaration

Parameters

Closures

Standard Library

Core

Prelude

Memory

Collections

Vector

Map

Cookbook

CLI Application

REST API