6.1 Programming Languages

What is programming?

Programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. It is a set of instructions that tell a computer what to do and how to do it.

Programming languages are the languages used to write the source code of programs. There are many programming languages, each with its own syntax, structure, and rules. The four most popular programming languages used in FRC include Python, Java, C++, and LabVIEW.

Why do programming languages exist?

Programming languages exist to provide a way for humans to communicate instructions to computers in a manner that they can understand and execute.

Computers are essentially machines that perform operations based on a set of instructions. However, computers do not understand natural language like humans do, so programming languages provide a way for us to write code in a structured, formal syntax that the computer can interpret and execute.

Programming languages have evolved over time to become more user-friendly, easier to read, and capable of abstracting complex concepts into simple, high-level constructs. This makes it easier for humans to write and understand code, and allows for the creation of more complex programs.

Additionally, programming languages serve as a means of communication between developers, enabling them to share, reuse, and build upon each other’s code.

In summary, programming languages exist to provide a bridge between human language and the language of computers, enabling us to create software that can perform a wide range of tasks and solve complex problems.

What is robotics programming?

Robotics programming involves writing code that controls the behavior and actions of robots. This code can control how a robot moves, interacts with its environment, and processes information from sensors.

The basics of robotics programming usually start with understanding how to control the movement of a robot’s motors, how to gather and interpret data from sensors, and how to make decisions based on that data. This requires an understanding of the underlying hardware and how to communicate with it using code.

Once you have a basic understanding of these concepts, you can start writing code to control a robot’s movements, such as making it move forward, turn, and avoid obstacles. You can also write code that enables the robot to make decisions based on the data it gathers from its sensors, such as determining the distance to an object and avoiding collisions.

Overall, robotics programming is an exciting and challenging field that combines both software and hardware skills. With time and practice, you can develop your skills and create more sophisticated robots that can perform complex tasks.

The next few chapters will guide you through the aspects of each programming language listed below this includes:

  1. Syntax: The set of rules and constructs that define how code is written in a particular programming language. This includes things like variable declaration, function definition, and control structures.
  2. Structure: The organization and arrangement of code, including the way in which code is indented, the use of white space, and the arrangement of functions, variables, and other constructs.
  3. Data Types: The different types of data that a programming language can handle, such as integers, floating-point numbers, strings, and arrays.
  4. Input/Output: The mechanism for reading data from or writing data to the user or other external sources.
  5. Control Structures: Constructs that control the flow of execution of the program, such as loops, if-then-else statements, and switch statements.
  6. Error handling: The process of detecting and resolving errors in the program, such as exceptions, runtime errors, and debugging.
  7. Object-Oriented Programming (OOP) concepts: A programming paradigm that organizes code into objects, each of which represents a real-world entity and encapsulates its data and behavior. (This will be touched on in 6.1.1: Java )


Order Page Title Time Estimate
6.1.1 Java 30 minutes
6.1.2 C++ 30 minutes
6.1.3 LabVIEW 30 minutes
6.1.4 Python 30 minutes