Created Programming Using Java (markdown)

FTC Engineering
2019-07-26 14:13:47 -04:00
parent a6c4454ea8
commit 5d2c208dc9

28
Programming-Using-Java.md Normal file

@ -0,0 +1,28 @@
The FTC Control System can be programmed using the Java programming language. There are two different programming tools that are available for programming the Control System in Java.
**Important Note:** Both Java programming tools require that the user have an in-depth understanding of the Java programming language. If you are not an advanced Java programmer, then FIRST recommends that you take a look at the [Blocks Tutorial](Blocks-Tutorial) and that you consider using the Blocks tool to program your robot.
1. OnBot Java - With the OnBot Java tool, a user can create, edit and build _op modes_ through a Chrome web browser. Click [here](OnBot-Java-Tutorial) to learn how to program with the OnBot Java tool.
* Advantages
- Easy to setup.
- Only requires a Chrome browser to work (i.e., can be run on a Chromebook or a tablet).
- Short op mode build times.
- Source and binary files are stored on the Robot Controller.
* Disadvantages
- The source code editor has limited features.
- The auto-complete function is limited.
- Not integrated with version control software (such as git).
2. Android Studio - Android Studio is the development tool that is recommended by Google to author Android apps. Android Studio can be used to create, edit and build _op modes_ for an FTC robot. However, Android Studio is only recommended for experienced programmers. Inexperienced programmers should use the [Blocks programming tool](Blocks-Tutorial) instead. If you are an advanced programmer, then click [here](Android-Studio-Tutorial) to learn how to program with Android Studio.
* Advantages
- It has a very powerful integrated development tool.
- It provides sophisticated auto-complete functionality.
- It has built-in, advanced debugging and monitoring tools.
- Is integrated with git (a version control software).
* Disadvantages
- Requires advanced programming skills.
- Requires an advanced knowledge of Java.
- Requires a modern, high-performing development computer.
- Can be very difficult for a novice to install, configure and maintain.