Java – A brief note.
Tags: java, beginners, tutorial, programming
Published: 2021-11-20 07:14:44

Hey everyone, this is just an article portraying some basics of Java. Those who are new to Java, welcome to Java club and those who already know Java just jog your memory 😀. 
 
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA) - Just Wikipedia stuff but makes sense though🤷‍♂️. 


![Bored!!!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dew52hbzrhyk6betmo9o.gif)

 

## High-Level Language

Those who are new to programming will think what is a high-level language. 
So high-level language means a language that can be understood by a human being but not a machine. 
 
How can we relate this though. We can say like computer speaks language “x” (Assembly language) and we humans speak language “y” (We have so many languages and for programing we prominently use English). Now you might think how computer understands if we know English how will computer understand that?? Here comes our translator. Translator is basically a compiler that converts the high-level language to binaries or assembly language🎶. 

![Oh did you see that movie binaries of matrix](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cefru87v52curpyw67hg.gif)
 
## OOP 

Object-oriented programming is programing paradigm based on objects. This will help in increasing the modularity and reusability of code. It is the opposite of procedural programming. 

Basically, an object is a subway wrapper which wraps data(veggies) and methods(taste). So, if you want two types of taste you can order two different wrapper and so you can see the modularity here. This doesn’t convey the proper meaning but it does make some sense I guess at least for those who love wrappers🌯🌯🌯🌯🥳🥳🥳. To be honest I haven't even tasted one of these 😁.

![Wrap or not](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pgmdlw5usupveqfdpnll.gif)

 

More about class and objects will be covered in the next articles💡. 

 

## Write Once Run Anywhere (WORA) 

Java is a platform-independent language. But what does that mean?? Java hired an intermediate person who converts the written code to an intermediate code/ set of instructions rather than native machine code, these instructions are then converted to machine code with the help of JVM (Java Virtual Machine). 

 
![Javac](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7r3wmtzevpvjwfbpfuc.png)

 
But how this helps?? Once we compile our program usually it will convert to native machine code as I said earlier. So, the code has to be ran in each different machine to generate their specific machine codes for our program. But in case of java, we have to supply the bytecodes only. 

Irrespective of which machine we supply our bytecodes to and if the machine supports JVM it will convert them to native machine code and run the same. 

Now some genius might think what if we can manipulate the bytecode and run them so can we can get some advantages. Sorry man the code will get corrupted bytecode verifier will catch you 😎. 

![Caught You!!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/50hg1j87c4rom0m3u1mo.gif)
 
This article is going endlessly, so will see you all in the next article until then good bye, take care🙌. 

![Happy End!!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/560uozxy0wkrwvm3bciq.gif)