## Compare as many tool options as possible
# Author : sunghyun-an
Interfacing development language and Platforms
A program is basically set of repeatable instructions to make a computer do something. It involves writing code instructions that will then be passed to a computer via a compiler.
A compiler is basically a translator from human to machine language.
# 1. Python
![1](img/group/week13-group/1.png)
It can be used on various platforms, has plenty of libraries (modules), and is used in many places.
Python is often used as a pure programming language and as a glue language for connecting modules written in other languages.
Actually Python is being adopted as a scripting language in many commercial applications.
The help documentation is well organized and supports Unicode strings, which are also good for character processing in various languages.
# 2. Java
![2](img/group/week13-group/2.png)
The biggest feature of Java is that it is a platform-independent language.
Unlike the C / C ++ compiler, which compiles and links source code directly into a machine language, the Java compiler generates a class file (.class) that is bytecode, reads the bytecode of this file, (JVM).
# 3.Processing
![3](img/group/week13-group/3.jpg)
It is basically a Java-based language.
It is an open source programming language and integrated development environment (IDE) developed for new media arts and visual design communities with the aim of educating people who are not programmers with the visual concept of the essence of computer programming.
# 4.arduino
![4](img/group/week13-group/4.jpg)
The integrated development environment (IDE) of Arduino is a cross-platform application software developed on Java and C, and includes an editor with syntax highlighting, parentheses and automatic indentation, and a compiler capable of compiling and uploading with one click.
We use the C ++ language base for the Arduino operation and the compiler uses avr-gcc.
It is designed so that users who are unfamiliar with software development can easily program.
Programs or code written through these Arduino IDEs are called "sketches".
** Compare java with python **
In Java, you must use; when you finish the sentence.
In Python, you doesn't use ;.
In Java, one statement is commented out with //, and multiple statements are commented with / * * /
In Python, one sentence is marked with #, and multiple sentences are marked with '' '' ''.
In Java, when strings and numbers are combined, the numbers are automatically converted to strings
In Python, you do not get an error if you use the str () function.
The if statement used in Java and the if statement used in python are almost the same, but the writing method is different.
In Java, I put the condition inside the () after the if statement and the {} block of the conditional statement, but in Python I use the: after the conditional statement.
The same is true for the else statement. In Java, the block is distinguished by {}, while in Python it is distinguished by :.
** Compare processing with arduino **
Both languages are relatively easy to learn compared to other languages. In the case of processing, it is a language for education. Arduino is a language designed for beginners to easily program from the time of design.
Processing and Arduino have very similar interfaces, and even the scripting language you use is very similar.
So if you modify the example of processing a bit, you can use arduino and vice versa.
However, in the case of processing, a program designed to show something visually, arduino is a program for showing the machine's operation by programming with kits, so you can use it as convenient for your purpose.