24
JAVA INTRO

Java Intro

Embed Size (px)

DESCRIPTION

Introduction to Java Programming Language. Starter Guide. For a better view go here : http://slid.es/rupok/java-intro

Citation preview

Page 1: Java Intro

JAVA INTRO

Page 2: Java Intro

Presented by

Nazmul Hasan RupokCo-founder & CTO, ZOVOXZ

Page 3: Java Intro

Remember JAVA is not JAVASCRIPT

Java is a set of several computer software products and specifications from Sun Microsystems (which has since merged with Oracle Corporation), that together provide a system for developing application software

and deploying it in a cross-platform computing environment. Java is used in a wide variety of

computing platforms from embedded devices and mobile phones on the low end, to enterprise servers

and supercomputers on the high end. While less common, Java applets are sometimes used to provide improved and secure functions while

browsing the World Wide Web on desktop computers.

Page 4: Java Intro

How we got JAVA?

Java was created by a team led by James Gosling for Sun Microsystems, James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time.

The language was initially called Oak after an oak tree that stood outside Gosling's office; it went by the name Green later, and was later renamed Java, from Java coffee, said to be consumed in large quantities by the language's creators. However, when Java 1.0 was released to the public in 1996, its main focus had shifted to use on the Internet.java language derives much of its syntax from c and c++ but has a simpler object model and fewer low-level facilities.

Page 5: Java Intro

How We got java(cont.)

Java is a fully functional, platform independent, programming language it has powerful set of machine independent libraries, including windowing (GUI) libraries.Java applications are typically compiled to byte code (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture.

The most interested thing about java is "write once, run anywhere" (WORA), meaning the code that runs on one platform does not need to be recompiled to run on another.

Page 6: Java Intro

Why JAVA?

One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java byte code, instead of directly to platform-specific machine code.

Java byte code instructions are analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications.

Page 7: Java Intro

PROS & CONS

Java is very powerful language but it has its own pros and cons too.  So lets discuss some strong and weak points of java.

Page 8: Java Intro

PROS

Completely Free. The syntax is familiar to the

programmers that know any other C based language.

Java (the platform) has a very large and standard class library, some parts of which are very well written.

Automatic Memory Management implemented by Garbage Collection

Page 9: Java Intro

PROS (CONT.) Java provides a platform for behavioral

transfer from one address space to another. This is particularly evident in the dynamic class loading mechanisms of RMI (Remote Method Invocation).

Explicit Interfaces Improving performance Good portability (certainly better than

that of nearly any compiled alternative)

Page 10: Java Intro

PROS (CONT.)

Simplified syntax (compared to C++) Language design not committee driven Lots of available code and third-party libraries If you love OOP, the only way to write functions is

to make them class methods. Many standard interfaces defined in the standard

library, which would have been vendor/OS specific otherwise, helps a lot in achieving portability and ease integration/selection of 3rd party libraries. E.g. JDBC, JMS, JCE, JAI, serial I/O, JAXP, JNDI, etc. Some have correspondence in other languages (e.g. ODBC) but not all.

Page 11: Java Intro

CONS

Performance: Java can be perceived as significantly slower and more memory-consuming than natively compiled languages such as C or C++.

Look and feel: The default look and feel of GUI applications written in Java using the Swing toolkit is very different from native applications. It is possible to specify a different look and feel through the pluggable look and feel system of Swing.

Single-paradigm language: Java is predominantly a single-paradigm language. However, with the addition of static imports in Java 5.0 the procedural paradigm is better accommodated than in earlier versions of Java.

Page 12: Java Intro

What Can JAVA Technology Do?

The general-purpose, high-level Java programming language is a powerful software platform. Every full implementation of the Java platform gives you the following features:

Page 13: Java Intro

What Can JAVA Technology Do?(Cont.)

Development Tools: The development tools provide everything you'll need for compiling, running, monitoring, debugging, and documenting your applications. As a new developer, the main tools you'll be using are the javac compiler, the java launcher, and the javadoc documentation tool.

Page 14: Java Intro

What Can JAVA Technology Do?(Cont.)

Application Programming Interface (API): The API provides the core functionality of the Java programming language. It offers a wide array of useful classes ready for use in your own applications. It spans everything from basic objects, to networking and security, to XML generation and database access, and more. The core API is very large; to get an overview of what it contains.

Page 15: Java Intro

What Can JAVA Technology Do?(Cont.)

Deployment Technologies: The JDK software provides standard mechanisms such as the Java Web Start software and Java Plug-In software for deploying your applications to end users.

User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create sophisticated Graphical User Interfaces (GUIs).

Page 16: Java Intro

What Can JAVA Technology Do?(Cont.)

Integration Libraries: Integration libraries such as the Java IDL API, JDBC, API, Java Naming and Directory Interface (JNDI) API, Java RMI, and Java Remote Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology) enable database access and manipulation of remote objects.

Page 17: Java Intro

How Will JAVA Technology Change My Life?

We can't promise you fame, fortune, or even a job if you learn the Java programming language. Still, it is likely to make your programs better and requires less effort than other languages. We believe that Java technology will help you do the following:

Page 18: Java Intro

How Will JAVA Technology Change My Life? (Cont.)

Get started quickly: Although the Java programming language is a powerful object-oriented language, it's easy to learn, especially for programmers already familiar with C or C++.

Write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program written in C++.

Page 19: Java Intro

How Will JAVA Technology Change My Life? (Cont.)

Write better code: The Java programming language encourages good coding practices, and automatic garbage collection helps you avoid memory leaks. Its object orientation, its JavaBeans, component architecture, and its wide-ranging, easily extendible API let you reuse existing, tested code and introduce fewer bugs.

Develop programs more quickly: The Java programming language is simpler than C++, and as such, your development time could be up to twice as fast when writing in it. Your programs will also require fewer lines of code.

Page 20: Java Intro

How Will JAVA Technology Change My Life? (Cont.)

Avoid platform dependencies: You can keep your program portable by avoiding the use of libraries written in other languages.

Write once, run anywhere: Because applications written in the Java programming language are compiled into machine-independent bytecodes, they run consistently on any Java platform.

Page 21: Java Intro

How Will JAVA Technology Change My Life? (Cont.)

Distribute software more easily: With Java Web Start software, users will be able to launch your applications with a single click of the mouse. An automatic version check at startup ensures that users are always up to date with the latest version of your software. If an update is available, the Java Web Start software will automatically update their installation.

Page 22: Java Intro

So, why you not start

Learning JAVA ?You can put your first step here, the most reliable source provided by oracle itself ! 

http://docs.oracle.com/javase/tutorial/getStarted/index.html

Page 24: Java Intro

THANKS

From

Nazmul Hasan Rupok Co-founder & CTO,  ZOVOXZ

www.rupok.me