Hi, I am starting a course on Java. The coverage in this course will be from basics to advance. I will try to focus on both the things that is how to write program in Java.
You will learn programming as well as you will learn the concept in depth so that you can answer any interview question as well as you can go for certification so i'll try to cover the topics in more and more detail and with that lot of lot of exercises i may be giving you exercises in the descriptions so let us start so the first question mostly now the people are thinking whether we should go for java or not whether java is still in use shall we learn java or not though it's a part of academics most of the universities are offering this as a part of their course that is in the syllabus they have the subject for java programming So still it's C and C++ is also a part of syllabus. So Java is also part of syllabus. So actually learning Java is not important but whatever you can do using Java learning those things are more important. So I'll explain you what is the importance of Java in my dis during my discussion. So what I am going to cover now where Java is used I'll discuss this then Features of programming language i.e. features of Java then buzzwords of Java.
These are the three topics that I will cover in this video. Let us look at the types of applications that can be developed using any general purpose programming language not just Java. We can use C language or C++ or C sharp or Visual Basic or Java and Python. See all these are famous languages, they are famous, many students learn these languages and many people learn this language.
Reason, these are all general purpose languages. Using these languages we can develop any of these type of applications. They are suitable for all of them.
There are some languages which are special purpose like PHP, Perl. These are special purpose languages. So they are useful only for some particular area. They are not useful for developing any type of application.
So general purpose languages are these. Now let us see what are the types of applications we can develop. We can develop desktop applications. Example, if you see on a Windows PC we have the applications like Notepad, Photoshop, MS Word, PowerPoint all these applications or Antivirus softwares or any utility software.
Most of the applications that we find on our PC directly we install and run them they are desktop application they are for single user and these applications you can develop using any of these languages. Next business applications the applications that are used by businesses like banks or supermarkets or that is shipping industry or oil industry any type of business you take, There whatever the software is used for developing that type of software we can use these languages and develop software for these big companies. Mostly their software type is called as client server applications. because many employees they use the single system so that's client server i don't want to go in detail but they are called as client server next is web-based application so there is a lot of boom about web application and web applications are being developed over a decade or two decades so websites or web applications that you can develop using all these languages But as web development has become a common thing that is in big demand so there are more languages like PHP also came into picture, Perl also came into picture so these are also used for developing websites apart from these languages. Though PHP seems to be more easier than using Java or any other language.
The toughest language for web will be C language. So like this Java can be used for web development. Java can be used for developing cloud based applications. Now the current technology that we are using presently like Facebook or Google or Amazon these people are using cloud type of applications.
This can be developed in Java. Next, Distributed Application, those are cloud based only but distributed application the one that we run which runs inside a network that is again it is useful for business type and they mostly are called as cloud based or they may be running inside web that is in internet so this distributed application is actually a general term that may be using various things. Now mobile applications like android, android programming uses java syntax so there also java is used. Animation and games you can develop using Java or for devices like handle devices or any electronic device also Java programs can be written for them like for washing machine, for refrigerator Java programs can be written for automating them.
So actually Java was introduced for consumer electronics only then later it became famous because of web and it has strongly supported distributed application that's why Java has ruled the software industry for a long time. Reason is it supported distributed application mostly and it was ruling over web then the other languages they became very simple they provided very simple approach for developing websites so nowadays Java is not used for small type of websites or small type of applications. But still it is used in big applications or business applications where we want a strong and secure application still Java is used. So lot of things can be discussed here because all these types of applications they were initially they were developed using C, C++ then slowly when Java came it has changed the approach of application development and style of programming Now let us look at the features of programming languages.
You pick up any programming language not just Java. Any programming language will have its basic syntax and in that it may be having its data type, conditional statements, loops or functions. If you are familiar with the concepts, familiar with the concepts then you can learn any language, any programming language.
So this is, this is there in Java. So OOPS object oriented programming. that is also there in Java.
Exception handling is there in Java that is handling runtime errors. Then collection, this is related to data structures, built in data structures that are available in Java like array, link list or queues or hash map, hash table like that. These types of collections are available in Java.
Streams that are useful for reading or writing the data, taking input in a program or sending output from the program like storing the data in a file or reading the data from a file or sending it over a network. Any type of data transfer that is called as stream. Then multi-threading, we can break our program into smaller jobs and smaller tasks and run them simultaneously that makes our programming easy, reduces the complexity in the program.
and also efficiency during runtime then api that is application program interface actually java is having packages that is readily available classes or interfaces are available in java they are organized in the form of packages they are called as packages so for various type of programmings packages are available in java like there is a package available for streams there is a package available. Collections, there is a package available. And there is a package available for window programming. And there is a package available for databases.
So there is a package available for streams or collection or window programming or database that is SQL. So ready-made classes are available so that you can access all these things. Now from this I can tell you one important point.
Whether you take C language or C++ or Java or C sharp all these languages will definitely have this basic syntax. This most is definitely there. Now you remove C language all these languages C++ Java and C sharp are object oriented. So all of them have these features object oriented programming style features are available like classes objects and overloading overriding inheritance, polymorphism, these type of features are available in all these languages. And exception handling is also available in them.
Collections are also available in these languages. So it means almost everything is available in all these languages. All these languages, everything is available.
Then what is the difference? The difference is syntax. How to write. So one important thing I'll tell you now. is that actually you don't have to learn the language you don't have to learn the language all the languages you don't have to learn you should understand oops concepts very clearly you should understand multi-threading clearly you should understand window-based programming perfectly if you know how these things are done then language is nothing for you language is nothing you can just learn the syntax of a language same thing classes objects exceptions everything will be same only the differences will be how to write them What is the syntax?
Once you learn the syntax, you can easily write the programs. See, if you have the good idea about all these features of programming, then language learning can be done just in few hours. Just in one or two day, you can learn about the language.
No doubt, practicing it and using it perfectly may take some little extra time. Definitely, it will take for any language. but knowing what is there in the language, what is the syntax you can do it very easily.
Learning language is not important you can pick up any of these languages and learn it. Why Java then? Because Java is having rich API, there are lots of APIs for various types of tasks available in Java. As a programmer you can experience all areas of programming. So that's why you can pick up Java and learn all areas explore all areas of programming then you can switch to any language.
As a learner this is the importance of Java now whether jobs are available or not whether the companies are using Java or not that is a secondary thing and Java will not end at all. It may keep on changing its shapes and styles to accommodate with the current needs because it is having very rich API that can be easily used by the programmers. So Java will remain, no doubt it may see ups and downs.
Now let us look at buzzwords of Java. Next let us talk about buzzwords of Java. This is like a formality to cover in most of the textbooks and even on websites you will find these points so I am covering them. Java is simple, the syntax is simple if you already know CC++.
If you are directly learning Java then it's a new thing for you. It may be looking complex in the beginning. But if you are familiar with programming then Java syntax is simple. Next Java is secure. Java runs inside JVM all Java programs runs inside JVM which makes Java program secure from any malicious software or viruses.
Then object oriented it follows Hoop's concepts. Then it is robust because it is having exception handling. Exception handling Exception handling is taken very seriously in Java. Wherever there is a possibility of exception, you must handle it. Without that you cannot complete your program.
That's why it claims that it is more robust. Robust means strong. It will not crash even if there are any runtime errors.
Then multi-threading, multiple tasks can run at a time. Already I have discussed these points. Architecture neutral, Java can run on any type of hardware. any type of hardware because it doesn't depend upon any operating system it runs inside JVM provided if JVM is available for the hardware then Java programs can run there.
Next Java is interpreted like JVM is interpreted Java virtual machine is interpreted then Java is high performance see Java is interpreted language I'll explain in my next video what does it mean by compiler what What does it mean by interpreter and how Java is portable? High performance, earlier before Java interpreted languages used to be very slow. Java has introduced a faster interpreter compared to previous languages. So that's why Java claims that it is high performance.
Java is dynamic. So in Java objects are dynamic and it's linking, runtime linking with the methods or the classes is dynamic. So it provides complete dynamic environment. And the last and the most famous thing is Java is portable that is platform independent. So what is platform independence?
For that you can watch next video. That's all about this one. So I have discussed whether Java is important or not.
Learning all the features of programming, understanding the concepts in detail is more important. So either using Java you can learn them or using Python or using C sharp you can learn them. But Java will be a better language which allow you to explore each and everything and programming.