Register   Login   About   Study   Enterprise   Share
Internet / AI Technology University (ITU/AITU)
Fast Login - available after registration







|

Top Links: >> 80. Technology >> Internet Technology Summit Program >> 1. Java Introduction
Current Topic: 1.1.2. Java Technology
You have a privilege to create a quiz (QnA) related to this subject and obtain creativity score...
Make sure that you understand and completed the previous subject.

Most people on this planet use decimal numbers. This might sound natural for a human having 10 fingers and often using them for counting.

But it is not as natural for computers built of silicon-based integrated circuits. As we have 10 fingers, silicon pieces can have two states: they can conduct electricity or not. This YES or NOT behavior is called binary.

We like to associate things with numbers. In this case only two numbers are needed to describe the silicon state. When it can conduct electricity, we say YES or 1 (one). The other state is associated with 0 (zero). From information perspectives these two states give us the smallest piece of information, which we call BIT. The value of the BIT can be 0 (zero) or 1 (one).

Computers are built as binary machines that only understand zero and one at a very core, fundamental level. These are in reality just bits of information. Combinations of these bits can produce what we call bytes that can grow to rather big numbers. The same combinations of bytes can be interpreted as characters providing us with readable (and not so readable) data.

One byte has 8 bits and can be a number from 0 to 255 (2 to the power of 8). One byte can also express one American (ASCII) character, such as "A"

Two bytes can represent a Unicode character that can be expressed in many foreign languages; these Unicode characters can be a number from 1 up to 65500.

Do we need to remember all that? Not really. At the very beginning of the computer age programmers talked to computers with ONE-Zero sequences. But this was in the past.

Programmers have invented many languages that try to express human thoughts into the precise forms acceptable by computers. Every programming language requires a compiler that can translate whatever we write as source code into a binary code.

In the past, different hardware platforms had different programming languages. In the early days of programming, languages such as COBOL, FORTRAN, and C were adapted on major platforms.

In the days before Java, every language on any specific platform had its own characteristics. The common process was writing software specifically for a specific platform and then compiling the software with a specific compiler and mixing with specific libraries in order to run this program on a selected platform.



The common process was writing software specifically for a specific platform and then compiling the software with a specific compiler and mixing with specific libraries.



Java not only offered a great Object-Oriented language but it also introduced a whole new technology. The official Java slogan is Write once, run everywhere! -this is because Java source code is compiled into a standard binary format that is guaranteed to to run on any major platform and on multiple hardware devices.

What makes this Java Technology so flexible? The Java standard specification! Introduced by Sun Microsystems, this particular specification requires any compiler to produce standard binary code, only after that does the specification then provide a uniform standard for any platform on how to execute this java code via the Java Virtual Machine (JVM).

JVM does the trick of just-in-time translation of the binary code into the machine code specific for each platform. Sun Microsystems provided the first JVM for major platforms, including IBM mainframe, Apple, Windows and UNIX.
JVM works together with standard (for specific platform) Java libraries, forming so called Java Runtime Environment (JRE).
Was it clear so far?


The Java virtual machine is an abstract (i.e. virtual) system defined by this specification and usually working with an operating system. This specification includes clear instructions protecting Java code against security threads (Class Loader and more) but omits implementation details, such as garbage-collection or optimization algorithms.



Microsoft, trying to catch up with Java, offered a similar but different technology called .NET.
Dot NET framework is also a virtual execution system with its own standard: Common Language Infrastructure (CLI). Common Language Runtime (CLR) is the implementation of the CLI standard with similar to JVM functionality: loading classes, providing Just-In-Time compilation to a specific Windows platform, and executing the code.

Similar to Java ideology co-exist with the following differences. Dot NET allows developers to write source in many languages, C, C++, C#, Perl and more. Any source can be compiled according to the CLI standard to the same binary code, which is understood by CLR.

Java world offers many Interactive Development Environment (IDE) tools, Eclipse, IDEA, NetBeans, JDeveloper, and more.
Microsoft gives no choice to .NET developers. But their single IDE, Microsoft Visual Studio, is really good in helping to develop, compile, deploy and execute applications in .NET framework.

The .NET slogan is Write on (almost) any language and run on any WINDOWS platforms: Windows XP, Windows 8, Windows Tablet and Windows phone.

CLR

book Life outside of Java is not as much fun, but it is still possible. Microsoft proved this possibility by inventing their own language called C# which is pronounced as: see-sharp.

Java and C# are very similar in their language structure, functionality, and ideology.
There is a chapter (Saga of Siblings) in the book Integration-Ready Architecture and Design, which compares both of them word by word.
The book describes Software Engineering with Java, C#, Voice Recognition, Wireless and Knowledge Technologies and provides theory and practical source samples in these fields.

Several chapters of the book including Saga of Siblings are available at the ITU web site.

C#, this lucky second child, inherited good manners, elegance, style, and even some clothing from its stepfather while enjoying its mothers care and her rich, vast .NET framework.


Assignments:
Briefing in Russian: 1 | 2
1. Read the Saga of Siblings chapter from the book
2. Google "Comparison C# and Java"
3. Write in a MS Word a paragraph with 3 strongest Java features (not in C#) and 3 strongest C# features (not in Java)
Email the document with the name 1.1.2.JavaTechnology.Your.Name to dean@ituniversity.us
| Check Your Progress | Propose QnA | Have a question or comments for open discussion?

Have a suggestion? - shoot an email
Looking for something special? - Talk to me
Read: IT of the future: AI and Semantic Cloud Architecture | Fixing Education
Do you want to move from theory to practice and become a magician? Learn and work with us at Internet Technology University (ITU) - JavaSchool.com.

Technology that we offer and How this works: English | Spanish | Russian | French

Internet Technology University | JavaSchool.com | Copyrights © Since 1997 | All Rights Reserved
Patents: US10956676, US7032006, US7774751, US7966093, US8051026, US8863234
Including conversational semantic decision support systems (CSDS) and bringing us closer to The message from 2040
Privacy Policy