Pages

Thursday, December 29, 2011

Basic Addition Program

Another Basic Example
1. Open the editor, and type the following code


class prog2
{                 
                  public
static void main(String args[])
                       {

              int a,b,c;
              a=10;
              b=20;
              c=a+b;       
              System.out.println(“Sum is “ + c);
     }
}

2. Compile the program using the command “javac prog2.java
3. Once it is compiled use the “java prog2” statement to run it.
4. The output “Sum is 30” is displayed on the screen.

How does it work ?
The program declares 3 integer variables namely a,b and c. The values of a and b are initialized to 10 and 20 respectively. The value of “c” is calculated as “a+b” and the result is printed using the statement “System.out.println()”. In the statement – “Sum is + c”, the “+” is working as a concatenation operator not as an arithmetic addition operator.

Don't forget
  1. To open the command prompt to compile and run the program.
  2. To name the program file as " prog2.java"(just in this example), because the name of the program and class should be the same.

Tuesday, December 27, 2011

How does it work ?


How does it work ?
  • Compiling the program : To compile a program we have to use the statement javac prog1.java (where “prog1.java” is the name of the Java program)

Java Program Compilation Process
This statement invokes the Java compiler, javac and compiles the program. As a result of this compilation a new file having the name “prog1.class” is created. This “.class” file has something known as the “Java Bytecode”. Byte codes are a set of instructions that looks a lot like some machine codes, but that is not specific to any one processor. There is huge difference in the way programs are compiled in Java or other languages like C or C++. In other languages when you compile a program it is translated by the compiler into the machine code or what we called machine language. This machine language contains the processor specific instructions on how to run the program on a specific computer. For example, if you compile your program on a Pentium system, the resulting program will run only on other Pentium systems. If you want to use the same program on another system, you have to go back to your original source, get a compiler for that system, and recompile your code. But this is not the case with Java.
In Java, the compilation phase is divided into two stages. First the program is compiled using the “javac” command and then the program is executed using the “java” command that invokes the Java interpreter.
The Java development environment has two parts: a Java compiler and a Java interpreter. The Java compiler converts the source code into the Byte code.
Having your Java programs in byte code form means that instead of being specific to any one system, your programs can be run on any platform and any operating or window system as long as the Java interpreter is available. This capability of a single binary file to be executable across platforms is crucial to what enables applets to work, because the World Wide Web itself is also platform independent.

 A closer look at the program
  •     class prog1 {

The keyword “class” denotes that a new class is being defined whose name is “prog1”. The body of the class is enclosed within the pair of curly braces – { }.
  •     public static void main(String args[]) {The above line starts the definition of the main(). As you are aware that the main() marks the beginning of the program. All java applications (except Applets) must have a main() which make them executable.

  •   The public keyword is an access specifier, which allows the programmer to control the visibility of class members. There are three access specifiers - private, public and protected. When a class member (variable or method) is preceded by public, it denotes that member can be accessed from outside the class in which it is declared. Since main() is required to be called from outside of its class it must be declared as public.

  •  As you know, a class must instantiated in order to use it members but you can see that there is no object of the class “prog1” declared. The keyword static allows main() to be called without having to instantiate a particular instance of the class. This is necessary since main( ) is called by the Java interpreter before any objects are made.
  • The keyword void simply tells the compiler that main() does not return a value. If a function returns a value the “void” keyword is replaced by the type of value that it will return.
  • The “String args[]” is an array of type String that is used to store command line arguments. Command line arguments are the values that are passed to a Java program while running it. Java automatically stores the arguments in the array “arr”. Of course you can change the name of the array from “arr” to any other name but it has become a standard practice for Java programmers the world over to use this name. When the user passes some values, args stores the first value in index no 0, second value to index no 1 and so on.
  •  The last character on the line is the {. This signals the start of main( )’s body.
  • Inside main(), there is a statement

System.out.println("This is a simple Java program.");

This line prints the string “This is a simple Java program.” followed by a new line on the screen. You can also use the command “System.out.print()” instead of “System.out.println()” , if you want the output to appear on the same line. You can also say that “println()” is somewhat similar to “\n” of C or “endl” of C++.

Saturday, December 24, 2011

Your First Java Program

First Java Program - Using an Editor 

So you are ready to start with your first Java program. Here is a step by step procedure to create your first Java program in an editor.
1.    Verify the correct path of Java installation to see whether it is in C:, D: or any other drive. If you didn't play with the installation then by default Java will be installed at "C:\Program Files\Java"
2.   Once you are done with the location of Java, open - Command Prompt by clicking "Start-> Command Prompt" or by typing “CMD” at the “Run” option.
3.    You will see a black window known as the "Command Prompt" or DOS window with something like "C:\Users\Username" written and a blinking cursor. The “Username” will be replaced by the name of the current logged in user. This is where you will write commands to create and compile your Java applications.
4.     At the cursor type the command,"CD\". The command CD (Change Directory) will take you out of the current directory or folder to the "C:\" prompt.
5.    When you see the "C:\" prompt type - "CD Program Files\Java\JDK1.6.0\Bin". This command will take you to the "Bin" (Binary) folder inside the "JDK1.6.0" folder. If your Java installation is any other folder or drive replace the path with the original location.
6.    Don't worry about the case in which you are typing your commands. All the DOS commands can be written in capital or small letters. DOS commands are case insensitive but pay extra care to the spaces. There is a space between "Program" and "Files".
7.  The command prompt should now read something like this -- "C:\Program Files\Java\JDK1.6.0\Bin"
8.    At the command prompt, type "Notepad prog1.java" and hit the enter key. You can change the name of the program from "prog1" to any other valid name but don't forget to add the ".java" extension.
9.     The "Notepad" command will start the "Notepad" editor. You will see a message "Cannot find the prog1.java file. Do you want to create a new file" and three command buttons. Select "Yes" to create a program. Don't close the Command Prompt.
10. Inside the notepad window type the following code
public class prog1
{
          public static void main(String args[])
          {
                   System.out.println(“Hello World”);
          }
}
11. Save the file by either pressing "Ctrl+S" or by selecting "File->Save" and return to the "Command Prompt". On the prompt - "C:\Program Files\Java\JDK1.6.0\Bin", type
          javac prog1.java 
This command will compile the java program. If there are some compilation errors, they will be flashed here.
12. If there are no errors, the command prompt will return. Now type the following command
      java prog1
          this command will run the program and the output
Hello World 
will be shown.
Things to remember
·       If you are a Windows 7 user, don’t install the JDK inside the “Program Files” folder. A user does not have the permission to write (create/edit files) in the “Program Files” folder. Therefore you won’t be able to save your programs inside the “Bin” folder. If you try to save the file in the “Bin” folder, Windows will ask you to save the file in the “Documents” folder instead. To install JDK in any other folder just change the install location to any other drive or folder while installing java using the “Browse” button.
·      It is not compulsory that you invoke “Notepad” from the command prompt only. You can open “Notepad” directly from the “Start Menu” also. Just make sure that the program is saved in the “Bin” folder.
·       If you have installed JDK in any drive other than “C:”, switch to that drive by just typing the drive letter followed by colon (“:”). For example “D:” (without the quotes of course!)
;·     Make sure that the program name and the name of the class is exactly be the same. For example, in the above code the name of the program and the class is “prog1”.
·        The “S” in both “System.out.println” and “String args[]” should be in caps.

Wednesday, December 21, 2011

What is Path ?

Path
In DOS and Windows systems, a path is a list of directories where theoperating system looks for executable files if it is unable to find the file in the working directory. You can specify the list of directories with the PATH commandA path points to a file system location by following the directory tree hierarchy expressed in a string of characters in which path components, separated by a delimiting character, represent each directory. The delimiting character is most commonly the slash ("/"), the backslash character ("\"), or colon (":"), though some operating systems may use a different delimiter. Paths are used extensively in computer science to represent the directory/file relationships common in modern operating systems, and are essential in the construction of Uniform Resource Locators (URLs).


Setting The Path

First thing first - You can run Java applications just fine without setting the PATH environment variable. Or, you can optionally set it as a convenience. The only advantage that you will get by setting the path is that you will be able to run the Java programs from not only the "Bin" folder but any folder in your system.

Set the PATH environment variable if you want to be able to conveniently run the executables (javac.exejava.exejavadoc.exe, and so on) from any directory without having to type the full path of the command. If you do not set the PATH variable, you need to specify the full path to the executable every time you run it, such as:
C:\Java\jdk1.7.0\bin\javac MyClass.java
The PATH environment variable is a series of directories separated by semicolons (;). Microsoft Windows looks for programs in the PATH directories in order, from left to right. You should have only one bin directory for the JDK in the path at a time (those following the first are ignored), so if one is already present, you can update that particular entry.
The following is an example of a PATH environment variable:
C:\Java\jdk1.7.0\bin;C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
It is useful to set the PATH environment variable permanently so it will persist after rebooting. To make a permanent change to the PATH variable, use the Systemicon in the Control Panel. The precise procedure varies depending on the version of Windows:
Windows XP
  1. Select Start, select Control Panel. double click System, and select the Advanced tab.
  2. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
  3. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
Windows Vista:
  1. From the desktop, right click the My Computer icon.
  2. Choose Properties from the context menu.
  3. Click the Advanced tab (Advanced system settings link in Vista).
  4. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
  5. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
Windows 7:
  1. From the desktop, right click the Computer icon.
  2. Choose Properties from the context menu.
  3. Click the Advanced system settings link.
  4. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
  5. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.

Tuesday, December 20, 2011

How to create a Java Program


How to create a Java Program :

There are two ways to create a Java program

1. Using a text editor : To create a Java application we can use any editor and start typing the code. Since JDK does not contain an editor, the Windows users can use Notepad whereas the user of Linux can user Vi or any other editor. You can even download any third party editor from the internet. Some people may ask if they can use Ms-Word for developing Java programs, the answer is yes, but you should not do it. Since the source code of a program is not expected to look attractive, the use of word processors like Ms-Word, WordPad or Write(OpenOffice) is not recommended. also these application will require more memory when compared to Notepad and some of them like Ms-Word are to be purchased and installed separately also.

2. Using an IDE (Integrated Development Environment) : IDE stands for integrated development Environment. It is a collection of facilities provided to the users. Database designer and application programmers use it.  An IDE simplifies the tasks of creating and using an IDE for application development offer a much advanced environment for 
creating,testing and debugging programs. An IDE is a software that offers many tools and options for a programmer to create a program easily. There are many IDE's available for Java some of them are - 
NetBeans, Eclipse, JDeveloper etc. Most of the IDE's are a free download from the internet. It is not that IDE's are availble for Java only. Almost all the languages have their IDEs'. For example, for creating applications using Visual Basic and Visual C#, we can use Visual Studio.Net IDE similarly applications like DreamWeaver, ExpressionWeb are IDE's for HTML.

What should you use an editor or an IDE ?

If you are just starting with Java it is always better to start with an editor. Why ? because an editor will NOT help you in creating programs. Yes, you read it right - it will NOT help you in developing programs since it is not designed to so. When there is no help from the system you will have to write the code, test the program and debug it all by yourself. This will make you understand how a java program is created, how errors occur, the different type of errors and how to correct them. Writing the statments again and again will also make you more familar with the Java environment.  Of course you will have to work hard but that will make you a much efficient programmer. Once you are familiar with the Java environment it is adivsable that you leave the editor and start using an IDE. An IDE will make the whole programming experience very smooth as compared to an editor.One disadvantage with an IDE is that if you are new to the technology it will hinder your absolute learning of the given technology as it may resolve to hand holding in certain scenarios. On the flip side if you are familiar with the technology it has the potential to greatly reduce the manual effort across the board that can come with software development.

An IDE will offer you the following advantages

1. Readymade code : In an editor the user is required to type the whole code manually. Initially this effort helps you by making you memorise the code but later on rewriting the same code makes you feel bored. An IDE helps you by giving you readymade code.
2. Design time compiling : An IDE displays the errors at design time by underlining it. You can easily correct the error there itself.
3. Inbuilt Components : Advanced components like Buttons, TextFields, Label come ready made in an IDE whereas using an editor you have write the code to create them.
4. Auto completion of code : All IDEs support auto completion of code where you write the initial part of a statement and the rest is completed by the IDE itself. 
5. Packaging : Once a project is complete an IDE has inbuilt tools to convert it to a ready to install application.

Disadvantages of an IDE:
1. IDE uses graphical interface. It requires more memory and processing power.
2. IDE are not suitable in case you want to learn the core of a language or you are fresher.

Thursday, December 15, 2011

JVM


At the heart of the Java platform lies the Java Virtual Machine, or JVM. Most programming languages compile source code directly into machine code, suitable for execution on a particular microprocessor architecture. The difference with Java is that it uses bytecode - a special type of machine code. 
Java bytecode executes on a special type of microprocessor. Strangely enough, there wasn't a hardware implementation of this microprocessor available when Java was first released. Instead, the processor architecture is emulated by what is known as a "virtual machine". This virtual machine is an emulation of a real Java processor - a machine within a machine (Figure One). The only difference is that the virtual machine isn't running on a CPU - it is being emulated on the CPU of the host machine.
The Java Virtual Machine is responsible for interpreting Java bytecode, and translating this into actions or operating system calls. For example, a request to establish a socket connection to a remote machine will involve an operating system call. Different operating systems handle sockets in different ways - but the programmer doesn't need to worry about such details.  It is the responsibility of the JVM to handle these translations, so that the operating system and CPU architecture on which Java software is running is completely irrelevant to the developer.
The Java Virtual Machine forms part of a large system, the Java Runtime Environment (JRE). Each operating system and CPU architecture requires a different JRE. The JRE comprises a set of base classes, which are an implementation of the base Java API, as well as a JVM. The portability of Java comes from implementations on a variety of CPUs and architectures. Without an available JRE for a given environment, it is impossible to run Java software.

Differences between JVM implementations

Though implementations of Java Virtual Machines are designed to be compatible, no two JVMs are exactly alike. For example, garbage collection algorithms vary between one JVM and another, so it becomes impossible to know exactly when memory will be reclaimed. The thread scheduling algorithms are different between one JVM and another (based in part on the underlying operating system), so that it is impossible to accurately predict when one thread will be executed over another.
Initially, this is a cause for concern from programmers new to the Java language. However, it actually has very little practical bearing on Java development. Such predictions are often dangerous to make, as thread scheduling and memory usage will vary between different hardware environments anyway. The power of Java comes from not being specific about the operating system and CPU architecture - to do so reduces the portability of software.

Summary

The Java Virtual Machine provides a platform-independent way of executing code, by abstracting the differences between operating systems and CPU architectures. Java Runtime Environments are available for a wide variety of hardware and software combinations, making Java a very portable language. Programmers can concentrate on writing software, without having to be concerned with how or where it will run. The idea of virtual machines is nothing new, but Java is the most widely used virtual machine used today. Thanks to the JVM, the dream of Write Once-Run Anywhere (WORA) software has become a reality.

Tuesday, December 13, 2011

JRE

JRE

The Java Runtime Environment (JRE), also known as Java Runtime, is part of the Java Development Kit (JDK), a set of programming tools for developing Java applications. The Java Runtime Environment provides the minimum requirements for executing a Java application; it consists of the Java Virtual Machine (JVM), core classes, and supporting files. The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language. In addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables applets to run in popular browsers; and Java Web Start, which deploys standalone applications over a network. 


Difference Between JDK,JRE, JVM

JDK or the Java Development Kit is a set of a Java compiler,a Java interpreter, developer tools, Java API libraries, documentation which can be used by Java developers to develop Java-based applications.
JRE or the Java Runtime Environment is a minimum set that includes a Java interpreter, Java API libraries, Java browser plug-in, which make up the minimum environment to execute Java-based applictions.

The JVM or Java Virtual Machine is the core of the Java platform and is a part of both the JDK and JRE that translates Java bytecodes and executes them as native code on the client machine.

JDK includes a JRE as as subset.

Sunday, December 11, 2011

JDK

What is JDK                                             Download JDK

JDK stands for Java Development Kit. JDK is a set of tools that are used to create,test and debug a Java program. JDK is developed by the JavaSoft division of Sun Microsystem, the company that created Java.
The JDK consists of the Java compiler and related tools which enable users to create applications in Java.
Sun distributes the JDK as part of J2EE, J2SE, and J2ME.


What is there in the JDK ?

When you install the JDK from the internet or any other source, the following tools are installed in your computer.
  • java – the loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and instead it has been replaced by this new java loader.
  • javac – the compiler, which converts source code into Java bytecode
  • appletviewer – this tool can be used to run and debug Java applets without a web browser
  • apt – the annotation-processing tool
  • extcheck – a utility which can detect JAR-file conflicts
  • idlj – the IDL-to-Java compiler. This utility generates Java bindings from a given Java IDL file.
  • javadoc – the documentation generator, which automatically generates documentation from source code comments
  • jar – the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files.
  • javah – the C header and stub generator, used to write native methods
  • javap – the class file disassembler
  • javaws – the Java Web Start launcher for JNLP applications
  • jconsole – Java Monitoring and Management Console
  • jdb – the debugger
  • jhat – Java Heap Analysis Tool (experimental)
  • jinfo – This utility gets configuration information from a running Java process or crash dump. (experimental)
  • jmap – This utility outputs the memory map for Java and can print shared object memory maps or heap memory details of a given process or core dump. (experimental)
  • jps – Java Virtual Machine Process Status Tool lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system. (experimental)
  • jrunscript – Java command-line script shell.
  • jstack – utility which prints Java stack traces of Java threads (experimental)
  • jstat – Java Virtual Machine statistics monitoring tool (experimental)
  • jstatd – jstat daemon (experimental)
  • policytool – the policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are available for code from various sources
  • VisualVM – visual tool integrating several command-line JDK tools and lightweight performance and memory profiling capabilities
  • wsimport – generates portable JAX-WS artifacts for invoking a web service.
  • xjc – Part of the Java API for XML Binding (JAXB) API. It accepts an XML schema and generates Java classes.
What is not there in the JDK
The most significant thing that is not available in the JDK is an editor. An editor is an application that is used to create and edit a text document, for example Notepad in Windows is an editor. An editor allows the user to type, edit or delete the text. Most editors also support basic functions like find, replace etc. If there is no editor available how would the user create a Java program ? The answer is by using any of your favorite editor. Sun Microsystem have left the selection of editor on the user. You can use any editor of your choice - you can use Notepad if you are Windows user or Vi if you are a Linux/Unix user - it's upto you. As long as you are saving the program using the '.java' extension the compiler won't mind which editor you have chosen.

Friday, December 2, 2011

Java

Introduction to Java
Java is a programming language originally developed by James Gosling at Sun Microsystems (now part of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere." Java is currently one of the most popular programming languages in use, particularly for client-server web applications. The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Classpath.

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems, Inc. in 1991. It took 18 months to develop the first working version. This language was initially called “Oak” but was renamed “Java” in 1995. Between the initial implementation of Oak in the fall of 1992 and the public announcement of Java in the spring of 1995, many more people contributed to the design and evolution of the language. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm were key contributors to the maturing of the original prototype. Somewhat surprisingly, the original impetus for Java was not the Internet! Instead, the primary motivation was the need for a platform-independent (that is, architectureneutral) language that could be used to create software to be embedded in various consumer electronic devices, such as microwave ovens and remote controls. As you can probably guess, many different types of CPUs are used as controllers. The trouble with C and C++ (and most other languages) is that they are designed to be compiled for a specific target. Although it is possible to compile a C++ program for just about any type of CPU, to do so requires a full C++ compiler targeted for that CPU. The problem is that compilers are expensive and time-consuming to create. An easier—and more cost-efficient—solution was needed. In an attempt to find such a solution, Gosling and others began work on a portable, platform-independent language that could be used to produce code that would run on a variety of CPUs under differing environments. This effort ultimately led to the creation of Java. About the time that the details of Java were being worked out, a second, and ultimately more important, factor was emerging that would play a crucial role in the future of Java. This second force was, of course, the World Wide Web. Had the Web not taken shape at about the same time that Java was being implemented, Java might have remained a useful but obscure language for programming consumer electronics. However, with the emergence of the World Wide Web, Java was propelledto the forefront of computer language design, because the Web, too, demanded portable programs.


Java as an Internet Language
  1. Java is an object oriented language and a very simple language. Because it has no space for complexities. At the initial stages of its development it was called as OAK. OAK was designed for handling set up boxes and devices. But later new features were added to it and it was renamed as Java. Java became a general purpose language that had many features to support it as the internet language. Few of the features that favors it to be an internet language are:
  2. Cross Platform Compatibility: The java source files (java files with .java extension) after compilation generates the bytecode (the files with .class extension) which is further converted into the machine code by the interpreter. The byte code once generated can execute on any machine having a JVM. Every operating system has it's unique Java Virtual Machine (JVM) and the Java Runtime Environment (JRE).
  3. Support to Internet Protocols: Java has a rich variety of classes that abstracts the Internet protocols like HTTP , FTP, IP, TCP-IP, SMTP, DNS etc .
  4. Support to HTML: Most of the programming languages that are used for web application uses the html pages as a view to interact with the user. Java programming language provide it's support to html. For example. Recently the extension package jipxhtml is developed in java to parse and create the html 4.0 documents.
  5. Support to Java Reflection APIs: To map the functionalities, Java Reflection APIs provides the mechanism to retrieve the values from respective fields and accordingly creates the java objects. These objects enables to invoke methods to achieve the desired functionality.
  6. Support to XML parsing: Java has JAXP-APIs to read the xml data and create the xml document using different xml parsers like DOM and SAX. These APIs provides mechanism to share data among different applications over the internet.
  7. Support to Web Services : Java has a rich variety of APIs to use xml technology in diverse applications that supports N-Tiered Enterprise applications over the internet. Features like JAXB , JAXM, JAX-RPC , JAXR etc enables to implement web services in java applications. It makes java a most suited internet language.
  8. Support to java enabled Mobile devices: Java programming language is made in such a way so that it is compatible with mobile devices also. Java language also works with any java enabled mobile devices that support MIDP 1.0/2.0 including the symbian OS mobile devices.
  9. Support to Personal Digital Assistants: Java language is compatible with Personal Java 1.1 such as chaiVM, Jeode, CrEME, and JV-Lite2 or with all the later version and it also support PDAs like HP/Compaq, iPAQ, Fujitsu-Siemens Pocket Loox and SimPad, HHP, NEC, Samsung, Sharp Electronics, Toshiba, psion m5, and any other device with Windows CE/Pocket PC 2002/2003/2005).
Versions Download Java

Major release versions of Java, along with their release dates: 

  1. JDK 1.0 (January 23, 1996)
  2. JDK 1.1 (February 19, 1997)
  3. J2SE 1.2 (December 8, 1998)
  4. J2SE 1.3 (May 8, 2000)
  5. J2SE 1.4 (February 6, 2002)
  6. J2SE 5.0 (September 30, 2004)
  7. Java SE 6 (December 11, 2006)
  8. Java SE 7 (July 28, 2011)

Wednesday, November 30, 2011

IT industry

Wish to get into IT? Make sure you know the basics. Here’s what IT is all about:

What is information technology ?

The Information Technology industry is a large industry. Over the past 50 years, IT has shaped the modern world & continues to change it.

The major segments in IT are hardware & software. Software consists of products & services. Software products are packaged or ready-to-use software made by a company for use by others. Software services companies typically do programming for client companies on a contract basis. These companies take care of the client company’s ‘outsourced’ development & maintenance of software, training, etc.

What is the size of the IT industry.

IT is a global industry: In 2010, the worldwide spending on IT was estimated to be $2.0 trillion.

Which industries use software

 Software is now an essential part of our lives. Commonly-used software applications (such as electronic bills) are all around us. These help our daily lives function smoothly & also improve productivity of each & every business & organization.

Some industries which use IT extensively include banking, finance, insurance & telecom. Some of the commonly used application software in business are database systems, ERP, accounting & payroll, office automation (spreadsheet, word processing), CAD/ CAM, etc.

 What are the use of software

Software is developed for different devices & ‘platforms’ such as PCs, the Web, mobiles, iPhones & gaming consoles. Software can also be classified as being for home or personal use or for business use. Operating system software, middleware or application software is another commonly-used classification.

 What is code

Software is written in ‘lines’ of code where each line is a set of logical instructions for the computer. There are many alternative software ‘languages’ in which code can be written e.g. C++, Java, ASP.

In early days, in the 1960s, typical programs were small; even a program of 10,000 lines was considered big. Later, longer programs were developed e.g. those developed for NASA’s moon program which ran into a million lines of code.

Software programs need to be written, as well as constantly modified & ‘debugged’ (or corrected).

Why Indian IT industry is so talked about

·         Size of IT industry in India: The Indian IT industry is large: 2 million people work here. Of these, about 1.5 million work on exports i.e. overseas contracts, while the rest work in the domestic market.

·         Offshoring: Indian IT companies have pioneered the ‘offshore’ model. Thus, instead of doing work ‘onsite’ i.e. by going to work at the client’s company abroad, these companies have set up processes to get this work done in India. This results in much lower costs for the client company. By far, the biggest market for such work is the US.

·         Top companies: Well-known Indian companies in this field include Infosys, TCS, Wipro & HCL Technologies. Multinational software companies like IBM, HP & Cognizant have also entered India & built an increasingly strong presence here.

In fact, there are an estimated 8000 IT firms in India. There are also thousands of other, non-IT companies in India & most of them have their own IT department, whether small or big.

·         Industry growth: Since 2001, the Indian IT sector has been growing at about 28% every year; in 2008, the sector grew at 28% to reach over $70 billion in revenues. In the same year, employment grew at 26%. There is still a lot of growth possible: Indian IT firms account for only 15% of the world market of outsourced offshored software valued at $380 billion.

·         English advantage: India has a large English speaking population – this is an advantage over many other countries. This is one reason why India is a preferred country for IT work. There are many new markets & areas where Indian firms are making a mark; these include the European & Japanese markets, software products, engineering services, remote infrastructure management, etc.

What are the job prospects in the IT industry

·         Each year, lakhs of people are employed in the IT industry, most of them new college graduates. In 2009, Infosys is recruiting 20,000 freshers out of college at an average salary of Rs. 3.25 lakhs per year. Other large firms too are hiring in large numbers.
·         A career in the software industry means being a part of the most ‘happening’ industries of our time. There is no area today that is not or will not be touched in some way by software.
·         If you have an interest in trying or solving challenging problems, IT is a great field to work. 

What are the job prospects in IT
 According to an Associate Consultant, Cognizant Technology Solutions* :

·         IT is an in-demand career so there are many opportunities to earn good salaries as compared to other industries.
·         Many opportunities to travel abroad on-the-job or to find jobs anywhere in the world.
·         Global outlook/ culture & world-class standards in functioning of most IT companies leads to greater work satisfaction. Also, IT companies are full of enthusiastic people who are fun to work with!
·         Technology continues to expand at a rapid pace, providing great opportunities for job growth.

*Cognizant is a leading global provider of Information Technology, consulting & Business Process Outsourcing services.

What are the various job roles in IT

The IT industry is huge & growing. Most IT professionals work in offices in comfortable surroundings. They are mostly employed in IT, telecom, banking & insurance and BPO companies, among others.

Good IT professionals possess the following skills, among others :

·         Logical reasoning ability

·         Numerical ability

·         Imaginative mind

·         Interest in problem-solving

·         Interest in keeping oneself updated about new technology

·         Communication skills, written and oral, is a plus point


Facts about IT in India

·         India has 81 million Internet users (as per The Internet Governance forum).

·         India is ranked 4th among the top 10 nations in the world for high Internet usage (as per the Internet Governance forum).

·         The number of mobile phone users in India is 300 million & is growing by 8 million per month.

·         The domestic IT market in India is expected to cross Rs. 200,000 crore in 2012 (as per IDC India).

·         Many global companies outsource IT work to India because of India’s highly-skilled, English-speaking population & low costs.