Welcome back to KnowledgeCity's course on programming in Java. Hi, I'm Cliff Brozo, I'm your instructor. And in today's lesson, we're gonna figure out why are we choosing Java? Well first of all, it's a great open-source and free way to learn one of the top five programming languages in the world. And the reason it's in the top five is Java works on all platforms whether you're running Windows, or Mac, or Linux, or even a Raspberry Pi. It's got a large community support, and there are millions, and millions, and millions of developers. Java is object-oriented, and it looks kind of like C++ and C#, so it's easy for programmers to switch back and forth among those languages. Java's easy to learn. It's got its own garbage collection which means that it removes the objects that are taking up space in memory. Java's syntax is English-like and there are a minimal number of special characters. It's friendly to beginners. Java was designed to be that way. Java's easy to maintain. It's a statically-typed language. and what that means is that all the code is checked for errors before it can be built into an app. Java's high level meaning that it's very close to the English language, and it handles all of the complex details of memory management. Programmers can focus just on programming instead of worrying about what the machine is doing. Java was originally developed as an alternative to procedural programming, and those languages start at the top of the program and work their way all the way down to the bottom. Object-oriented programming, the OOP, is based on the idea of using objects and everything in a program is meant to be a representation of a real-world object. And for example in a program that simulates a used car lot, the objects would represent the different types of cars and SUVs. The object defines the types of data that's known about it and the various things that it can do. If you look at the difference between a procedural language and an object-oriented language, procedural languages have instructions that are executed in sequence, defines and uses variables, and the individual operations are often grouped into logical units called procedures. Procedures are also called modules, methods, functions, and subroutines. In Java, we call the methods. Object-oriented languages are an extension of those procedural languages. We use classes which are blueprints for objects. And when we want to have more than one object, we create multiple instances of those classes. The applications then manipulate the objects. And one of the things we can do is use Java for computer simulations to better understand how the real-world processes work. And one of the first lines that you'll learn in Java is the System.out.println command. You'll notice that there's a capital S for system, and that should give you an indication that Java is case-sensitive. System is a class, it's pre-written and the compiler knows what to do with it. The word out points to the system output device which is typically the monitor. And println is a method that accepts arguments like Java is Cool and prints them on the output device. You'll notice that there's a dot in between system and out and in between out and println. And those are the things that separate the classes, objects, and methods. The string that we send to the println method is enclosed in double quotations. And lastly, Java statements end with a semi-colon. Java has a bunch of keywords. They are identifiers that have to begin with the letter of the English language. We could use a non-English letter, or an underscore, or a dollar sign. But most of the time we try to make our identifiers descriptive. Class names cannot begin with a digit and Java identifiers can only contain letters, digits, underscores, or dollar signs. And we can't use a reserved keyword or a value like true or false, or even null. Speaking of keywords, there's a big, long list of how many keywords you can expect to find. We start with the A's and abstract and go all the way through the V for volatile. And then there are some values like true, false, and null. Remember none of those can be used as identifiers. Now you know why we use Java, and you've seen the System.out.println command. You know that in order to create an identifier, you have to stay away from the keywords. And you know that Java is a case-sensitive language. Join me next time when we'll download and install some programs that'll help us compile our Java applications. I'll see you soon.