Java has become an important programming language. What are some of the things that have made it so popular?
Java has become an important programming language in a very short time. What are some of the things that have made it so popular?
Public Comments
- Its smooth interaction with other programming languages/environments. Altought, JAVA itself is a strong language.
- Cross-platform support Free developer tools / compilers C-type language Popular among kids who don't do their own homework
- Java language has many good features which take it to this psition. In breef 1. Platform independent Indeed most celebrated Java charecteristics. This is one of the reason why Java is so popular. 2. Secure- Java program is always secure , this is why you may ran a Java applet in web without fear. This two made java the language of web. But there are more 3. Object oriented- Java is pure object oriented language. Its simple object model one of the reason why java is popular. 4.Rich Built in library- Java has rich built in language library. 5. Innovative and continiuos developmet- Java language development is always full of innovation . And Java language develops very first.
- Java is a development of the C and C++ family of programming languages. As such, it's been 'almost familiar' to many programmers who know either of them, and so easier to get started in writing code than a more radically different langauge would have been. It was designed at Sun Microsystems and originally called Oak. The name was changed (from a local coffee shop apparently) when it was discovered there was already an Oak programming language. Java is almost always interpreted, meaning that statements are translated and then executed each time they are encountered -- if necessary repeatedly within loops, instead of being translated to executable form once (ie, compiled) and then executed many times. This ordinarily amkes a program execute more slowly, given the overhead of this (possibly multiply) repeated translation/execution cycles. When it was first introduced, some programming problems needed more speed than Java implementations of the time could provide. Sneakier algorithms in more recent Java run-time implementations have sped things up considerably, and CPUs are faster now, anyway. Java is now fast enough for a great many more application programs than it used to be. If it's slower, why are programmers so interested? Well, Java was cleverly designed in several respects, many of which address real needs. Ease of programming, reduced cost of programs (ie, ease of code reuse and lower numbers of some types of common bugs), reduced programming time (again, ease of code reuse). -The software program which actually runs Java programs on a CPU (the Java Run-time package) is relatively easy to write since Java always reduces the source code program you write to Java 'byte code', which is a standard (low level) intermediate representation of the program and much easier to adapt to a new CPU as a result. This means that a program need be written only once, and that it will thereafter run on every computer architecture for which someone has written a proper 'run-time package'. Within hardware limits, of course. A program requiring 512MB of RAM won't run satisfactorily on a computer with only 64MB regardless of clever language system tricks. -Java is fundamentally an object-oriented language, and was so from its very first versions. It is thus rather like C++, but also quite unlike it, as Java is not essentially layered onto a non object-oriented langauge (as C++ is on C), and so is a 'cleaner' and less confusing design in many respects. Everything is object-oriented; there are no leftover elements. It's not, perhaps, well known that C++ compilers will also accept standard C programs without complaint. Other object-oriented languages include Oberon and Active Oberon, Smalltak, Objective-C and Eiffel (both developments from C), Simula (the first object-oriented language design), and so on. The most widely used of these are C++ and Java. -As well, Java was designed (in its details) to permit automatic garbage collection, which is the recover of memory formerly allocated to this or that function or variable storage. Memory 'leaks' caused by improper recovery of no longer needed memory assigned to a program (common if human programmers must keep track of this, as in C and C++) very often cause problems, though not always immediately. It may be that the leak must continue for some time until there is a program crash. They are also generally quite hard to find and fix. They do not happen in Java because of the automatic garbage collection built into the Java run-time packages. -In addition, Sun and others have developed libraries (ie, collections of pre-written code which can be used (ie, called from) your programs) which can be used to do graphics work, or database work, or GUI element designs (eg, buttons, adjusting sliders, window title bars, minimize, resize, restore, etc), or ... Many of these are available without charge, making possible far less expensive development of far more complex programs than otherwise. And Java run-time packages, and development environments (eg, editing, formatting, project tracking, ...) are also widely available from various suppliers, again often free or inexpensively. -Sun has specified a considerable number of 'standard' Java packages (eg, servlets, Java beans, Enterprise Java Beans, ...) which have come to be widely used in Web programming. Servlets are small programs which can be downloaded to a Web browser to add functionality not already present (eg, a somewhat tongue in cheek example would be Dancing Sales Chickens). -Java is something of an open source product, in that Sun (while still controlling some aspects of the language's design) allows others to write libraries, run-time packages, development environments, etc for Java. In some sense then, Java is not a proprietary language and its users are not at the mercy of the vendor in changed specifications, changed features, discontinued versions, etc. Each of these is a serious problem for developers as it imposes an arbitrary overhead (rewrite your code against the new specification, new release, new version, ... yet again) at the election of some other party. Java is not entirely open source (in the Free Software Foundation, GPL, LGPL, etc sense), but it is close enough in many respects. It's certainly supported by many vendors other than Sun. -Java was designed to run servlet code and such in a 'sandbox', that is, with inbuilt prohibitions against accessing local resources (eg, disk, memory other than that assigned to the servlet, nearly all I/O, etc) which blocks much of the possible damage downloaded programs can cause if they are deliberately or accidentally malicious. Java servlets, properly deployed, are thus much less likely to cause problems (viruses, data damage, etc) than say Microsoft's ActiveX controls, which have no such restrictions (the Publisher Certificates associated with them are ways ot tracking such programs/controls to their publisher and an assurance that they've not be altered since released -- they do nothing to prevent actual bad behavior). Other Java standard programs designs are intended for the server side of the Web interaction (eg, database lookup, dynamic generation of HTML for a requested page, etc). These have led to Java being widely used in the Web design and programming fields. -Java has spawned many an atrocious pun or langauge misuse (eg, Java Beans !!), which provides some juvenile enjoyment amongst a certain crowd. Not perhaps the most important feature, but... ======= The write-once, run anywhere nature of Java is so economically important (reducing the "reinvent and rewrite the wheel yet again in some new language or dialect" lossage) that, after losing a lawsuit brought by Sun over its non-standard (and not permitted by its license) Java version distributed with Windows, Microsoft undertook to produce something akin to Java for its own products. This is their .NET project, which adopts the Java idea of partial program translation to an easily translated intermediate form, which will run on any system for which a run-time package has been written. Microsoft has produced several languages (the .NET translators), all of which can do this, since they each partially translate to the same intermediate representation. One of them is yet another version of C, this time called, for some reason, C#. The free open source software world has taken the position that the write-once, run anywhere idea (even Microsoft's Java-killer revenge version) is so important that it has produced a version of the .NET run-time package, for various CPUs, called Mono. Microsoft has limited its .NET run-time versions to the Intel x86 architecture when last I checked. It probably does not need saying that Microsoft's .NET write-once, run-anywhere approach is inherently incompatible in many ways with any version of Java. Those who wish to use Java on Windows, and with Windows browsers, still can do so however since there are still available Java run-time packages for each of them. Sun's website allows downloads, or has pointers to download sources, for these. ======== Note: Javascript, despite the name, has nothing whatever to do with Java. It was developed by Netscape as a scripting language add-on for browsers. It's not a full-fledged language like Java, nor can it run independently of a browser. It too can be used to download 'programs' to your browser (though the mechanism is quite different than that for Java) which can do such things as, again, Dancing Sales Chickens (and popups, popunders, etc). It has security problems, but they're different from Java and ActiveX. And the official name is no longer Javascript, but ECMAscript since Netscape turned control of the specification over to the European Computer Manufacturers' Association some years ago. The word about the name change hasn't gotten very wide distribution, it seems.
- Not quite sure I dislike the language, personally.
Powered by Yahoo! Answers