Why you must learn Java
⇒ One of the most popular language. Java currently runs on 60,00,00,00,000 devices.
⇒ Rich APIs and Community Support
⇒ Object Oriented
⇒ High paying and a lot of Jobs
⇒ Wide Usage (Web-apps, backend, Mobile apps, enterprise software).
What is a Programming Language
⇒ Humans use natural language (like Hindi/English) to communicate
⇒ Computers only understand 0/1 or on/off
What is an Algorithm
⇒ An algorithm is a step-by-step procedure for solving a problem or performing a task.
⇒ Giving instructions to a computer
⇒ Instructions: Tells computer what to do.
⇒ These instructions are called code.
⇒ Human instructions are given in High level languages.
<aside> 🔒
Compiler converts high level languages to low level languages or machine code
</aside>
What is Syntax
⇒ Structure of words in a sentence.
⇒ Rules of the language.
⇒ For programming exact syntax must be followed.
History of Java
⇒ Developed by James Gosling at Sun Microsystems (Early 1990s): Originally named 'Oak', later renamed Java in 1995
⇒ First Release (1995): Introduced "Write Once, Run Anywhere" concept with cross-platform compatibility
⇒ Developed with vision of backward compatibility. Should not break with new version release
⇒ Rapid Growth and Diversification (Late 1990s - 2010s): Expanded from web applets to server-side applications; standardized into different editions for various computing platforms.
Magic of Byte Code

How Java Changed the Internet
⇒ Portability with Write Once Run Anywhere
⇒ Security because of Code running on Virtual Machin
Java Buzzwords
⇒ Robust
→ Java is robust due to its strong memory management, exception handling, and type checking mechanisms, which help in preventing system crashes and ensuring reliable performance.
⇒ Multithreaded
→ Multithreading in programming is the ability of a CPU to execute multiple threads concurrently, allowing for more efficient processing and task management
⇒ Architecture Neutral
→ Java is architecturally neutral because its compiled code (bytecode) can run on any device with a Java Virtual Machine (JVM), regardless of the underlying hardware architecture.
⇒ Interpreted and High Performance
→ Java combines high performance with interpretability, as its bytecode is interpreted by the Java Virtual Machine (JVM), which employs Just-In-Time (JIT) compilation for efficient and fast execution.
⇒ Distributed
→ Java is inherently distributed, designed to facilitate network based application development and interaction, seamlessly integrating with Internet protocols and remote method invocation
Object Oriented Programming
