This article was written for people who were programming in other languages and would like to program in Java. This time, I will describe the features of what Java is a programming language.
This article is based on the content of the Wiki. wiki link https://ja.wikipedia.org/wiki/Java
According to Oracle, a current Java developer, Java has six characteristics.
Java's main programming paradigm (which gives programmers a program perspective) is said to be class-based object-oriented.
What is a platform?
The underlying equipment, software, services, or combinations thereof (operating environment) required to operate the software
It refers to. (Http://e-words.jp/w/Platform.html) In other words, platform-independent is a programming language that can be run on any platform (= operating environment is Windows, Mac, or Linux). On the other hand, if it is platform-dependent, you need to compile it for each platform.
How do you explain to new SEs that "Java is OS independent"? There was an easy-to-understand answer, so I will explain it in detail.
First, as a difference between Java and other languages
Basically, the compilation result of the compilation language is in an OS-specific format.
That is important. You can write and execute it in the same way on any platform in languages such as C and Ruby, but the compiled result will be for Windows for Windows and for mac for mac. So, if you bring the program written in Windows to mac, you need to recompile it. However, Java runs on a virtual machine called JVM (Java Virtual Machine), and this JVM handles the differences in OS. Thanks to this, even if you bring a program written in Windows to mac, it is a big feature of Java that you can do it without recompiling. Languages other than Java that run on this JVM are Scala, Kotlin, Groovy, etc.
Multithreading is the ability to run multiple threads at the same time. A thread in this case is a task, which means that you can perform multiple tasks at the same time. I searched a lot, but couldn't find a language that couldn't be multithreaded.
Garbage collection is the freeing of unnecessary data space. To put it more simply, it is a function that increases the number of places that can be used by emptying data that is no longer in use. C language / C ++ is implemented as a library, but Java is implemented as a standard function of the language (= it will always do it).
Distributed computing is the use of multiple computers as a single computer by connecting them via a network. Java can do this distributed computing. It seems that any programming language that can access all the hardware in the system can be used, but the Java language can call programs between applications via the network called Java-RMI (Java Remote Method Invocation) without being aware of the network. I have an API that says With this Java-RMI, you can write all of your distributed computing in Java so you don't have to use another language. This is one of Java's strengths in distributed computing. (See What is Java-standard distributed object technology "Java-RMI")
Java has been designed with security in mind from the beginning of development and is trusted in terms of security. Specifically, it is said to have a security mechanism based on the sandbox model. What is a sandbox?
A security mechanism that prevents unauthorized operation of the system by operating programs received from the outside in a protected area.
It refers to. (See https://ja.wikipedia.org/wiki/Sandbox_ (Security))
The above 6 points are the features.
--fin--
Recommended Posts