Why learn java programming?

Why learn java programming? 

#Short History 

Java is the only language on earth that runs on almost every device from TV remote to machines in space.

Initially, in December 1990, 3 people Patrick Naughton, Mike Sheridan, and James Gosling were becoming ready to invest time and money. The team created by adding Chris Warth, Ed Frank, and Craig Forrest named as a green team because it was a project name and they settled the new office to 2180 Sand Hill Road in April 1991. They build a device Star 7 with a 5-inch color LCD with a touchscreen.

There is a requirement of connecting that device with other appliances like TVs for that device. They built a language Oak and implemented with java runner Oak-based browser soon changed its name to Hot Java. In march 1995 public download started and within a few weeks got more than 10,000 downloads. Soon it became famous and Marc Andreessen, the founder of Netscape, agreed to incorporate Netscape navigator, the famous browser of that time in java.

Java was initially designed for the web but it was not that much famous in that field only about more than 4 lakh websites are there in java. But it is widely accepted as enterprise-level software development, Mobile development, game development, IoT (Things of the Internet), smart cards, and more. 

#What is Java Now?

  • People think java is old and dying
  • But java is growing and evolving
  • Java is the powerful and dominant programming language since   its birth
  • Many famous Big Data frameworks like Spark, Hadoop, Scala, and all the major big data frameworks uses java
  • Major mobile operating system android use java
  • Almost all the smart cards, even ATM card uses java
  • To make things better java is upgrading and updating
  • Java is not and old thing, it's latest stealthiest, and high innumerable

#Why People Hate Java

Verbose -Texts -Lots of boilerplate Code

People think in java it needs to write many lines of code but there are many projects and features that are coming. Some of them like records came to reduce the boilerplate code as a preview feature in java 14.

More about Record 

https://openjdk.java.net/jeps/359

Some of the upcoming projects to upgrade java are:

PROJECT VALHALLA

THIS PROJECT IS FOCUSED ON SUPPORTING THE DEVELOPMENT OF ADVANCED JVM(Java Virtual Machine) AND MANY UPGRADES IN LANGUAGE FEATURES

PROJECT AMBER

MAJOR PURPOSE OF THIS PROJECT IS TO ENHANCE THE PACE AT WHICH USEFUL NEW FEATURES ARE ADDED TO THE LANGUAGE BY SUPPORTING THE DEVELOPMENT OF PRODUCTIVITY LANGUAGE FEATURES

EXAMPLES :

Raw String literals – makes it simpler for developers to format text appropriately without escape characters.

`Hello
World`
rather than:
"Hello\nWorld\n"

JAVA COMPILER INTRINSICS FOR JDK APIs

This proposal would help the developer to optimize the performance of the code.

Pattern matching

IT MAKES SIMPLER TO USE JAVA’S INSTANCEOF OPERATOR

if (obj instanceof Integer) {
int intValue = ((Integer) obj).intValue();
// use intValue
}
to:
if (x instanceof Integer i) {
// can use I here, of type Integer
}
SWITCH EXPRESSIONS
# PREVIOUS
switch (day) {
    case MONDAY:
    case FRIDAY:
    case SUNDAY:
        System.out.println(6);
        break;
    case TUESDAY:
        System.out.println(7);
        break;
    case THURSDAY:
    case SATURDAY:
        System.out.println(8);
        break;
    case WEDNESDAY:
        System.out.println(9);
        break;
}
#NOW
switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
    case TUESDAY                -> System.out.println(7);
    case THURSDAY, SATURDAY     -> System.out.println(8);
    case WEDNESDAY              -> System.out.println(9);
}

https://openjdk.java.net/jeps/361

PROJECT  LOOM

THIS IS THE IMPROVEMENT IN JAVA CONCURRENCY,

JAVA FEATURES: BY Brian Goetz

Record is evolving to reduce code

Lombok extension which converts huge length of code into few lines

Project Lombok 

https://projectlombok.org/download

Java is evolving, it’s now understanding what exactly developers need,

It was and always will be a beautiful language. It keeps the promise your old code will run now and after.

 Slow and Heavy

  • Come on guys, the whole world of android applications,
  • Webpages, all the electronic devices,
  • Smart cards run on java
  • It's far better in performance in comparison with python
  • Big data runs on java
  • How could we feel it heavy and slow?
  • It's just a miss conception
  • Spring boot - in spring boot to create a web application we can just start our application and input the dependency we need and start; we have our application ground with the finish and is almost ready to deploy
  • Yes, it's true, previously we have to manually configure everything but now it’s evolving.

Slow to write

  • Recent IDE (integrated development environment) Like IntelliJ, STS, eclipse creates classes and construct them for the programmer.

One of the best intelligence IDE and one of  my favorite

https://www.jetbrains.com/idea/

One the best free IDE by Spring

https://spring.io/tools

One of the best open-source IDE

https://www.eclipse.org/downloads/

 

#Who uses java?

Airbnb,  Uber,  Netflix,  Google,  Spotify,  Instagram,  Facebook,  Amazon,  e-bay

  • 1.1 billion desktops run Java
  • 930 million Java Runtime Environment downloads each year
  • 3 billion mobile phones run Java
  • 31 times more Java phones ship every year than Apple and Android combined
  • 100% of all Blu-ray players run Java
  • 1.4 billion Java Cards are manufactured each year
  • Smart card runs on java
  • Java powers set-top boxes, printers, Webcams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, and more.

#Used for big data analytics

  • Java is the perennial language of big data.
  • The Java language shapes the backbone of big data; the Apache Hadoop platform — Hadoop MapReduce and HDFS — is written in Java.
  • In addition, Many java tools for the Hadoop environment on the JVM including Spark, Storm, Kafka, etc. Some programming languages like  Clojure, Scala, and Groovy are run on JVM. Google Cloud Dataflow and Apache Beam were only supporting Java, until very recently.

The biggest community of java developers

Java developer community is one of the largest communities said by GitHub.  Due to having the largest community, there is lots of free stuff to learn and get support from.

  • Clock turning versions
  • Java 8 brings lambdas rectified of java’s verbosity, thus making it less painful to develop large data science projects.
  • Java 9 brings in much-missed REPL, that facilitates iterative development.
  • Dominant language for data analytics 
  • Java is capable to work with AI
  • Capable of running the algorithm of data science and ai and executes programs for artificial intelligence. 
  • Java in designing - java design patterns are famous worldwide
  • The biggest and bulkiest data transfer is possible just because of JDBC

#Development

 - java platform used worldwide to develop the latest variety of android applications, web applications, enterprise applications, and many more

#Cross platform

 - java believes WORA(Write Once, Read always) principle. This makes it completely platform-independent 

Why learn Java?

1. Open-source 

  • since its birth, and still free and will be.
  • It has an open-source for all of its significance commercial features that was previously only available only to paying customer including 
@ Application class data sharing 
@ Java flat recorder
@ Java machine control
@ Jet garbage collector

Code is available for build test update and support

Java implementation support and any line of distribution as well.

2. High performance 

It will never be like c OR C++ but java enable high performance by using just in time compiler

3. Multithreading 

Provides the capability to writes code that can perform many tasks simultaneously, utilizes the same memory and other resources to execute multiple threads at the san=me time

4. Security 

virus-free and temper free system JVM(Java Virtual Machine) has almost null interaction with system OS hence it is more secure

5. Platform independent

Unlike the other programming languages like C and C++ are running on specific machines while java compiles code and gives bytecode which can be run on any platform with the help of JVM(Java Virtual Machine) plus this byte code also provides security.

Any machine with JVM(Java Virtual Machine) can run java programs

6. Portability 

Object-oriented can be easily extended -Valhalla project reducing this headache.

7.Robust

java makes effort to eliminate error-prone code for emphasizing mainly on compile-time error checking and runtime checking  

The main area in which java improved by

memory management,

and mishandle exceptions

by introducing by the automatic garbage collector and exception handling

Java versions

Skills required by java developers 

Beginner skills : 

Good knowledge of JSP and servlets 

Object-oriented programming concepts and design patterns

Abstract classes and interfaces 

constructors 

File io and serializations

Collections: list, map, sets 

Access specifiers 

Exception handling 

And generics

Advanced level skills :

DevOps, 

microservices, 

spring-boot
 

Thank you.

 

Leave a comment now