Thursday, 20 June 2013

 INTRODUCTION TO ECLIPSE
Eclipse is a multi-language Integrated development environment (IDE) comprising a base workspace and an extensible plug-in system for customizing the environment. It is written mostly in Java. It can be used to develop applications in java and, by means of various plug-in other programming languages including Ada, C, C++, COBOL, Fortan, Haskell, Javascript, Perl, PHP, Ruby (on Rails framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others.
The initial codebase originated from IBM VisualAge.The Eclipse software development kit (SDK), which includes the Java development tools, is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software (although it is incompatible with the GNU General Public License). It was one of the first IDEs to run under GNU Classpath and it runs without problems under IcedTea.

Wednesday, 19 June 2013

Java Differs From C and C++
Although Java was modelled after C and C++ languages, it differs from C and C++ in many ways. Java does not incorporate number of features available in C and C++. For the benefit of C and C++ programmers, we point out here a few major differences between C/C++ and Java languages.
Java and C
Java is like C but the major difference between Java and C is that Java is an object-oriented language and has mechanism to define classes and objects. In an effort to build a simple and safe language, the Java team did not include some of the C features in Java.
·         Java does not include the C unique statements keywords sizeof, and typedef.
·         Java does not contain the data types struct and union.
·         Java does not define the type modifiers keywords auto, extern, register, signed and  unsigned.
·         Java does not support an explicit pointer type.
·         Java does not have a pre-processor and therefore we cannot use # define, # include and #ifdef statements.
·         Java requires that the functions with no arguments must be declared with empty parenthesis and not with void keyword as done in C.
·         Java adds new operators such as instanceof  and>>>.
·         Java adds labelled break  and continue statements.
·         Java adds many features required for object-oriented programming.
Java and C++
Java is a true object-oriented language while C++ is basically C with object-oriented extension. That is what exactly the increment operator ++ indicates. C++ has maintained backward compatibility with C. It is therefore possible to write an old style C program and run it successfully under C++. Java appears to be similar to C++ when we consider only the “extension” part of C++. However, some object-oriented features of C++ code extremely difficult to follow and maintain.
Listed below are some major C++ features that were intentionally omitted from Java or significantly modified.
·         Java does not support operator overloading.
·         Java does not have template classes as in C++.
·         Java does not support multiple inheritance of classes. This is accomplished using a new feature called “interface”.
·         Java does not support global variables. Every variable and method is declared with in a class and forms part of that class.
·         Java does not use pointers.
·         Java has replaced the destructor function with finalize() function.

·         There are no header files in Java.

Tuesday, 18 June 2013

Features of Java

Java Features
The inventors of Java wanted to design a language which could offer solutions to some of the problems encountered in modern programming. They wanted the language to be not only reliable, portable and distributed but also simple, compact and interactive. Sun Microsystems officially describes Java with the following attributes as shown in Table 1.2.
Java 2 Features
Additional Features of J2SE 5.0
     ·         Complied and Interpreted
     ·         Ease of Development
     ·         Platform-Independent and Portable
     ·         Scalability and Performance
     ·         Object-Oriented
     ·         Monitoring and Manageability
     ·         Robust and Secure                         
·         Desktop Client
     ·         Distributed                  
·         Core XML Support
     ·         Familiar, Simple and Small
·         Supplementary character support
     ·         Multithreaded and Interactive
·         JDBC Row Set
     ·         High performance

     ·         Dynamic and Extensible


Table 1.2 Features of  java
Although the above appears to be a list of buzzwords, they aptly describe the full potential of the language. These features have made Java the first application language of the World Wide Web. Java will also become the premier language for general purpose stand-alone application.
Complied and Interpreted
Usually a computer language is either Complied or Interpreted. Java combines both these approaches thus making Java a two-stage system. First, Java compiler translates source code into what is known as byte code instructions. Byte codes are not machine instructions and therefore, in the second stage, Java interpreter generates machine code that can be directly executed by the machine that is running the Java program. We can thus say that Java is both a complied and an interpreted language.

Platform-Independent and Portable
The most significant contribution of Java over other languages is its portability. Java programs can be easily moved from one computer system to another, anywhere and anytime. Changes and upgrades in operating systems, processors and system resources will not force any changes in Java programs. This is the reason why Java has become a popular language for programming on Internet which interconnects different kinds of systems worldwide. We can download a Java applet from a remote computer onto our local system via Internet and execute it locally. This makes the Internet an extension of the user’s basic system providing practically unlimited number of accessible applets and applications.
Java ensures portability in two ways. First, Java compiler generates bytecode instructions that can be implemented on any machine. Secondly, the size of the primitive data types are machine-independent.
Object-Oriented
Java is a true object-oriented language. Almost everything in Java is an object. All programs code and data reside within objects and classes. Java comes with an extensive set of classes, arranged in packages, that we can use in our programs by inheritance. The object model in Java is simple and easy to extend.
Robust and Secure
Java is a robust language. It provides many safeguards to ensure reliable code. It has strict compile time and run time checking for data types. It is designed as a garbage- collected language relieving the programmers virtually all memory management problems. Java also incorporates the concept of exception handling which captures series errors and eliminates any risk of crashing the system.
Security becomes an important issue for a language that is used for programming in Internet. Threat of viruses and abuse of resources are everywhere. Java systems not only verify all memory access but also ensure that no viruses are communicated with an applet. The absence of pointers in Java ensures that programs cannot gain access  to memory locations without proper authorization.

Distributed
Java is designed as a distributed language for creating applications in networks. It has the ability to share both data and programs. Java applications can open and access remote objects on Internet as easily as they can do in a local system. This enables multiple programmers at multiple mote locations o collaborate and work together on a single project.
Simple, Small and Familiar
Java is a small and simple language. Many features of C and C++ that are either redundant or sources of unreliable code are not part of Java. For example, Java does not use pointers, pre-processor header files, goto statement and many others. It also eliminates operator overloading and multiple inheritance.
Multithreaded and Interactive
Multithreaded means handling multiple tasks simultaneously. Java supports multithreaded programs. This means that we need not wait for the application to finish one task before beginning another. For example, we can listen to an audio clip while scrolling a page and at the same time download an applet from a distant computer. This feature greatly improves the interactive performance of graphical applications.
The Java runtime comes with tools that support multiprocess synchronization and construct smoothly running interactive systems.
High Performance
Java performance is impressive for an interpreted language, mainly due to the use of intermediate by bytecode. According to Sun, Java speed is comparable to the native C/C++. Java Architecture is also designed to reduce overhead during runtime. Further, the incorporation of multithreading enhances the overall execution speed of Java programs.
Dynamic and Extensible
Java is dynamic language. Java is capable of dynamically linking in new class libraries, methods and objects. Java can also determine the type of class through a query, making it possible to either dynamically link or abort the program, depending on the response.
Java programs support functions written in other languages such as C and C++. These functions are known as native methods. These facilities enable the programmers to use the efficient functions available in these languages. Native methods link dynamically at runtime.
Ease of Development
Java 2 Standard Edition(J2SE) 5.0 supports features, such as Generics, Enhanced for Loop, Autoboxing or unboxing, Typesafe Enums, Varargs, Static import and Annotation. These features reduce the work of the programmer by shifting the responsibility of creating the reusable code to the compiler. The resulting source code is free from bugs because the errors made by the compiler are less when compared to those made by the programmers. Thus, each of the linguistic features is designed to develop Java programs in an easier way.
Scalability and Performance
J2SE 5.0 assures a significant increase in scalability and performance by improving the startup time and reducing the amount of memory used in Java 2 runtime environment. For example, the introduction of the class, data sharing in the Hotspot Java Virtual Machine (JVM) improves the startup time by loading the core classes from the jar files into s shared archive. Memory utilization is reduced by sharing data in the shared arhive among multiple JVM processes. In the earlier versions, the data was replicated in each JVM instance.
Monitoring and Manageability
Java supports a number of APIs, such as JVM Monitoring and Management API, Sun Management Platform Extension, logging, Monitoring and Management Interface, and Java Management Extension (JMX) to monitor and manage Java applications. For example, Java provides JVM Monitoring and Management API to track the information at the application level and JVM level when deploying a large application. Java provides tools, such as jconsole, jps, jstat and jstatd to make use of monitoring and management facilities. For example, GUI based tool called jconsole is used to monitor the JVM.
Desktop Client

J2SE 5.0 provides enhanced features to meet the requirements and challenges of the Java Desktop users. It provides an improved Swing look and feel called Ocean. This feature is mainly used for developing graphics applications that require OpenGL hardware acceleration.

Monday, 17 June 2013

                INTRODUCTION TO JAVA

Java is an object oriented programming language with a built-in application programming interface (API) that can handle graphics and user interfaces and that can be used to create applications or applets. Because of its rich set of API’s, similar to Macintosh and Windows, and its platform independence, Java can also be thought of as a platform in itself. Java also has standard libraries for doing mathematics.
Much of the syntax of Java is the same as C and C++. One major difference is that Java does not have pointers. However, the biggest difference is that you must write object oriented code in Java. Procedural pieces of code can only be embedded in objects. In the following we assume that the reader has some familiarity with a programming language. In particular, some familiarity with the syntax of C/C++ is useful.
In Java we distinguish between applications, which are programs that perform the same functions as those written in other programming languages, and applets, which are programs that can be embedded in a Webpage and accessed over the Internet.
History
Java is a general purpose; object oriented programming language developed by Sun Microsystems of USA in 1991. Originally called Oak by James Gosling, one of the inventors of the language, Java was designed for the development of software for consumer electronic devices like TVs, VCRs, toasters and such other electronic machines. The goal had a strong impact on the development team to make the language simple, portable and highly reliable. The Java team which included Patrick Naughton discovered that the existing languages like C and C++ had limitations in terms of both reliability and portability.  However, they modelled their new language Java on C and C++ but removed a number of features of C and C++ that were considered as sources of problems and thus made Java a really simple, reliable, portable and powerful language. The most striking feature of the language is that it is a platform-neutral language. Java is the first programming language that is not tied to any particular hardware or operating system. Programs developed in Java can be executed anywhere on any system. Table 1.1 lists some important milestones in the development of Java.
YEAR
DEVELOPMENT
1990     
Sun Microsystems decided to develop special software that could be used to manipulate consumer electronic devices. A team of Sun Microsystems programmers headed by James Gosling was formed to undertake this task.
1991
After exploring the possibility of using the most popular object-oriented language C++, the team announced a new language named “Oak”.
1992
The team, known as Green Project team  by Sun, demonstrated the application of their new language to control a list of  home appliances using a hand-held device with a tiny touch-sensitive screen.
1993
The World Wide Web (WWW) appeared on the Internet and transformed the text-based Internet into a graphically- rich environment. The Green Project team came up with the idea of developing Web applets (tiny programs) using the new language that could run on all types of computers connected to Internet.  
1994
The team developed a Web browser called “HotJava” to locate and run applet programs on Internet. HotJava demonstrated the power of the new language, thus making it instantly popular among the Internet users.
1995
Oak was renamed “Java”, due to some legal snags. Java is just a name and is not an acronym. Many popular companies including Netscape and Microsoft announced their support to Java.
1996
Java established itself not only as a leader for Internet programming but also a general purpose, object oriented programming language. Sun releases Java Development Kit 1.0.
1997
Sun releases Java Development Kit 1.1 (JDK 1.1).
1998
Sun releases the Java2 with version 1.2 of the Software Development Kit (SDK 1.2). 
1999
Sun releases the Java2 Platform, Standard Edition (J2SE) and Enterprise Edition (J2EE).
2000
J2SE with SDK 1.3 was released.
2002
J2SE with SDK 1.4 was released.
2004
J2SE with JDK 5.0 (instead of JDK) was released. This is known as J2SE 5.0.

Table 1.1 Versions of  java

Saturday, 15 June 2013

INTRODUCTION TO PROJECT

Office automation is a complete platform that offers its user with a quick, error free and detailed information about teachers and students. It comes with a purpose of two main objectives, firstly it provides service to the organization allowing it to record the details of a teacher right from personal detail, time table and attendance. Secondly it maintains record of students from their personal details to information regarding their result, dmc, fee structure and other necessary information.

 The term office automation refers to all tools and methods that are applied to  office activities which make it possible to process written, visual, and sound data in a computer-aided manner. Office automation is intended to provide elements which make it possible to simplify, improve, and automate the organization of the activities of a company or a group of people (management of administrative data, synchronization of meetings, etc.).

Considering that company organizations require increased communication, today, office automation is no longer limited to simply capturing handwritten notes. In particular, it also includes the following activities:
·         exchange of information
·         management of administrative documents
·         handling of numerical data
·         meeting planning and management of work schedules