From: Rajasekar.Palanisamy@... [mailto:Rajasekar.Palanisamy@...]
Sent: Tuesday, June 05, 2007 1:44 PM
To: bhanu_ksm@...; Sivalingam, Elangovan (@hp); jamuna.x.rudhran@...; rajputh_20@...; Senthil_Govindarajan@...; yuvarajengg@...; thinagar.s@...; balaji_murugan@...; balajimurugan@...; Silambuselvan.L@...; hdhatchinamoorthy@...; saradha.subramanian@...; THILIPANP@...
Subject: FW: Request for referal for Java technologies: Walk-in on June 9th 2007 @ Chennai
Importance: High
FYI
From: Seshadri, Venkatesan - GRMG (Cognizant)
Sent: Tuesday, June 05, 2007 1:00 PM
To: Cognizant ALL (
Subject: Request for referal for Java technologies: Walk-in on June 9th 2007 @ Chennai
Importance: High
Dear all,
Java has gained enormous popularity since it first appeared. Its rapid ascension and wide acceptance can be traced to its design and programming features, particularly in its promise that you can write a program once, and run it anywhere. Java was chosen as the programming language for network computers (NC) and has been perceived as a universal front end for the enterprise database. As stated in Java language white paper by Sun Microsystems: "Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, multithreaded, and dynamic."
Java is simple
No language is simple, but Java considered a much simpler and easy to use object-oriented programming language when compared to the popular programming language, C++. Partially modeled after C++, Java has replaced the complexity of multiple inheritance in C++ with a simple structure called interface, and also has eliminated the use of pointers.
The reason why Java is much simpler than C++ is because Java uses automatic memory allocation and garbage collection where else C++ requires the programmer to allocate memory and to collect garbage. Also, the number of language constructs in Java is small for such a powerful language. The clean syntax makes Java programs easy to write and read.
Java is Object-oriented
Object-oriented programming models the real world. Everything in the world can be modeled as an object. For example, a circle is an object, a person is an object, and a window's icon is an object. Even a mortgage can be perceived as an object. Java is object-oriented because programming in Java is centered on creating objects, manipulating objects, and making objects work together.
Object-oriented programming provides greater flexibility, modularity and reusability. For years, object-oriented technology has been perceived as an elitist, requiring substantial investments in training and infrastructure. Java has helped object-oriented technology enter the mainstream of computing, with its simple and clean structure that allows the programmer to write easy to read and write programs.
Java is Distributed
Distributed computing involves several computers on a network working together. Java is designed to make distributed computing easy with the networking capability that is inherently integrated into it. Writing network programs in Java is like sending and receiving data to and from a file. For example, the diagram below shows three programs running on three different systems, communicating with each other to perform a joint task.
Portability: Program once, Run anywhere (Platform Independence)
One of the most compelling reasons to move to Java is its platform independence. Java runs on most major hardware and software platforms, including Windows 95 and NT, the Macintosh, and several varieties of UNIX. Java applets are supported by all Java-compatible browsers. By moving existing software to Java, you are able to make it instantly compatible with these software platforms. JAVA programs become more portable. Any hardware and operating system dependencies are removed.
Java is Interpreted
An interpreter is needed in order to run Java programs. The programs are compiled into Java Virtual Machine code called byte-code. The byte-code is machine independent and is able to run on any machine that has a Java interpreter. Normally, a compiler will translate a high-level language program to machine code and the code is able to only run on the native machine. If the program is run on other machines, the program has to be recompiled on the native machine. For example, if you compile a C++ program in Windows, the executable code that is generated by the compiler can only be run on a Windows platform. With Java, the program need only be compiled once, and the byte-code generated by the Java compiler can run on any platform.
Security
Java is one of the first programming languages to consider security as part of its design. The Java language, compiler, interpreter, and runtime environment were each developed with security in mind. The compiler, interpreter, and Java-compatible browsers all contain several levels of security measures that are designed to reduce the risk of security compromise, loss of data and program integrity, and damage to system users. Considering the enormous security problems associated with executing potentially untrusted code in a secure manner and across multiple execution environments, Java's security measures are far ahead of even those developed to secure military systems. C and C++ do not have any intrinsic security capabilities. Can you download an arbitrary untrusted C or C++ program and execute it in a secure manner?
Reliability
Security and reliability go hand in hand. Security measures cannot be implemented with any degree of assurance without a reliable framework for program execution. Java provides multiple levels of reliability measures, beginning with the Java language itself. Many of the features of C and C++ that are detrimental to program reliability, such as pointers and automatic type conversion, are avoided in Java. The Java compiler provides several levels of additional checks to identify type mismatches and other inconsistencies. The Java runtime system duplicates many of the checks performed by the compiler and performs additional checks to verify that the executable byte-codes form a valid Java program.
Multimedia: Images, Sounds and Animation
The sizzle of JAVA is MULTIMEDIA - Sounds, Images, Graphics and Video. In this growing age of multimedia, new computers are known as "multimedia ready" with CD-Rom drives, sound cards, 3D accelerator cards and other new special sound or graphic technology capabilities. Multimedia demands incredible computing power and only recently - in the past 5 years at least, affordable computers of this kinds are becoming widespread.
The Virtual Machine: Java VM
This VM sits, metaphorically, between the Java program and the machine it is running on, offering the program an "abstract computer" that executes the Java code and guarantees certain behaviors regardless of the underlying hardware or software platform. Java compilers thus turn Java programs not into assembly language for a particular machine but into a platform-neutral "byte code" that the machine-specific VM interprets on the fly.
The Java VM also enforces security policies, providing a sandbox that limits what the Java program can do. A Java applet cannot, for example, peek into arbitrary files on the machine it's running on. The most recent version of Java from Sun, known as Java Development Kit (JDK) 1.1, though, provides no consistent method for an applet to request restricted system resources. This capability will be available in JDK 1.2, due out later this year.
Networking
JavaBeans
A key addition to JDK 1.1 is support for JavaBeans, a component model for Java. JavaBeans make it easy to write reusable components that can be strung together with a minimum of additional coding. Although Microsoft's ActiveX offers similar advantages, Beans are less focused on a Windows-centric world and are somewhat more portable. Still, ActiveX does have the advantage of supporting any underlying programming language, while Beans are designed solely to encapsulate Java.
JavaBeans offer a promising mechanism for building general-purpose business components that you can reuse with minimal modifications.
Other Language Features
Java is Robust
Robust means reliable and no programming language can really assure reliability. Java puts a lot of emphasis on early checking for possible errors, as Java compilers are able to detect many problems that would first show up during execution time in other languages. Java eliminates certain types of programming constructs in other languages that are prone to errors. For instance, Java does not support pointers, which eliminates the possibility of overwriting memory and corrupting data. Java has a runtime exception-handling feature to provide programming support for robustness, and can catch and respond to an exceptional situation so that the program can continue its normal execution and terminate gracefully when a runtime error occurs.
Java is Portable
One advantage of Java is that its programs can run on any platform without having to be recompiled. This is one positive aspect of portability. It goes on even further to ensure that there are no platform-specific features on the Java language specification. For example, in some languages, such as
Java is Multithreaded
Multithreaded is the capability for a program to perform several tasks simultaneously within a program. For instance, downloading a mp3 file while playing the file would be considered multithreading. In Java, multithreaded programming has been smoothly integrated into it, while in other languages, operating system-specific procedures have to be called in order to enable multithreading. Multithreading is especially useful in graphical user interface (GUI) and network programming. In GUI programming, many things can occur at the same time. For example, a user is able to listen to a mp3 file and surf the Web at the same time. In network programming, a server can serve multiple clients at the same time. Multithreading is a necessity in visual and network programming.
Java is Architecture Neutral
The most remarkable feature of Java is that it is architecture neutral. Architecture neutral means that it is platform independent. A Java program can be run on any platform with a Java Virtual Machine. Many major operating system vendors have adopted the Java Virtual Machine, and soon Java will be able to run on all machines. Java's initial success lies in its Web programming capability. Java applets can be run from a Web browser, but Java is in actual, more than just a Web applet. Stand-alone Java applications can also be run directly from operating systems using a Java interpreter. Nowadays, software vendors usually develop multiple versions of the same product so that it can run on different platforms, such as Windows, OS/2, Macintosh, and various UNIX, VMS, Open/VMS, and IBM mainframes. Using Java, the developers need to only to write one version, and this one version will be able to run on all of the platforms.
Java is Dynamic
The Java programming language was designed to adapt to an evolving environment. New methods and properties can be added freely in a class without affecting their clients. Also, Java is able to load classes as needed at runtime. As an example, you have a class called 'Square'. This class has a property to indicate the color of the square, and a method to calculate the area of the square. You can add a new property to the 'Square' class to indicate the length and width of the square, and a new method to calculate the perimeter of the square, and the original client program that uses the 'Square' class remains the same.
Please refer suitable candidates and upload the CVs using https://careers.cognizant.com
Regards
Talent Acquisition
P.S: World-wide people-power: 44,746
