Thursday, September 8, 2011

Network computers part 1

When it became clear that the new technology enjoyed unprecedented demand, the developers wanted to consolidate and build on the success and prevalence of Java. To Java does not share the fate of NeWS (This window system is mentioned in the beginning of the lecture, she did not develop, losing X Window), Sun has tried to cooperate with independent firms to produce a variety of libraries, developer tools, tools. January 9, 1996 was formed a new division JavaSoft, which was engaged in and develop new Java-technologies and promote them to market. The main objective - the emergence of an increasing number of different applications that are written on this platform. For example, July 1, 1997, it was announced that scientists NASA (National Aeronautics and Space Administration, the U.S. government organization dealing with space exploration) with the Java-applet control robot, studying the surface of Mars ("Java help make history!").

It's time to dwell on why Java in relation to the term "platform" rather than Java is different from conventional programming language.

Typically, the platform is called a combination of hardware architecture ("iron"), which is determined by the type of processor used (Intel x86, Sun SPARC, PowerPC, etc.), with an operating system (MS Windows, Sun Solaris, Linux, Mac OS, etc.) . When writing software developer always use the means of the target platform for network access, support for threads of execution, the graphical user interface (GUI) and other features.Of course, different platforms, because of technical, historical and other reasons, support different interfaces (API, Application Programming Interface), and hence the program can be executed only by a platform under which it was written.

Often, however, customers want the same functionality, but they use different platforms.The task of porting applications to the developers is a long time. Rarely can not transfer a complex program without substantial alteration, very often different platforms in different ways is supported by many features (eg, operating system, Mac OS traditionally uses one-button mouse, while Windows was originally designed for a two-button).

This means that the programming languages ​​should be initially focused on any particular platform. The syntax and basic concepts can easily be extended to any system (although this is not always effective), but libraries, compiler, and, of course, the binary executable code specific to each platform. So it was from the beginning era of computing, but because only a few really successful programs maintained on multiple systems, which led to the isolation of some of the worlds of software for different operating systems.

It would be strange if the development of the computer industry, developers have not tried to create a universal platform which can work under all programs. Especially such a move would boost the development of the global network Internet, which brings together users, regardless of the type of processors and operating systems. That is why the founders conceived to develop Java is not just another programming language, a universal platform for application execution, especially since originally created for OaK various household appliances from which to wait for compatibility is not necessary.

How is it possible to "smooth" differences and diversity of operating systems? The method is not new, but effective - using a virtual machine. Java applications are executed in a special, universal medium, which is called the Java Virtual Machine. JVM - a program that is written specifically for each platform, the real, on the one hand, to hide all its features, but on the other - to provide a common runtime environment for Java-based applications. Firm Sun and its partners have created a JVM for virtually all modern operating systems. When it comes to a browser that supports Java, means that it has built a virtual machine.

Monday, September 5, 2011

Browsers - part 2

Now we can look back and assess the impact of events. It is now clear that Microsoft has succeeded in his plan. If Netscape Navigator 3.x still maintains its leading position, Netscape 4.x has already begun to give Internet Explorer 4.x. NN 5.x version did not come out, and NN 6.x was another disappointment for former fans of "Navigator". There is now version 7.0, but it does not take significant market share, while Internet Explorer 5.0, 5.5 and 6.0 are used for more than 95% of users.

It's funny that many bitterly accused Microsoft that the company was struggling with Netscape "non-market" means. However, compare the actions of competitors. Among the many steps taken by Microsoft, was an independent organization and support of W3C, which is developing the new standard of HTML 3. Initially the company was considered a Netscape engine industry, because it is constantly developed and modernized the HTML, which initially do not really intended for the graphic design of the text. But Microsoft, having invested a large amount of money and human resources, was able to adopt standards that are different from those already implemented in Netscape Navigator, and the differences were sometimes purely formal. The result was that the pages are created in accordance with the W3C-specifications is displayed in the Navigator distorted. It is also important that the NN had to download (even free) and install manually, and IE has quickly become an integrated component of Windows, ready to use (and from which, incidentally, can not get rid of it in principle.)

And how Netscape was able to achieve a leading position? At one time, by similar methods the company tried (successfully, finally) drive out of the market NCSA Mosaic.Then the HTML was not particularly rich in interesting features, but because of innovation, supported by Navigator, immediately attracted the attention of developers and users. However, these pages are displayed incorrectly in Mosaic, which made him think about moving users to the products of Netscape.

As a result, due to the disregard of Netscape Navigator and many have sighed with relief. Although, of course, the loss of competition in the market and the accession of such a dangerous monopolist like Microsoft, never is good for end users, but many are tired of the "standards war", when the already-poor features of HTML have to subtly adjust so that the pages look the same in both browsers.

About HotJava, unfortunately, to say nothing special. For some time Sun has supported the product and added the ability to visually generate web-pages without knowledge of HTML. However, a competitive browser was unable to develop and soon HotJava was stopped. It is still possible to download and view the latest version 3.0.

And the last thing is to stop - the language of Java Script, which is also quite common and that many still associate with Java, probably because of the similarity of names. However, some features in common they really are.

December 4, 1995 by Netscape and Sun jointly announced a new "scripting language" (scripting language) Java Script. As can be seen from the press release, is an open cross-platform object scripting language designed for corporate networks and the Internet. Java Script code is described directly in HTML-text (although you can load it and of the individual files with the extension. Js). This language is designed to create applications that connect objects and resources on the client or the server. Thus, Java Script, on the one hand, extends and complements HTML, but on the other hand - complements Java. With the help of Java applets are written in objects that can be controlled through a scripting language.

General properties of Java Script and Java:

  1. easy to learn. At this parameter Java Script is compared with Visual Basic - to use these languages, programming experience is required; 
  2. cross-platform. Java Script code executed by your browser. The implication is that browsers on different platforms should provide the same functionality for pages that use scripting language. However, this is done at about the same extent as the support of the HTML, - the differences are still very much; 
  3. openness; language specification is open for discussion and community development; 
  4. All these properties suggest that Java Script is well-suited for Internet-programming; 
  5. language syntax Java Script and Java are very similar. However, they are also quite similar to the C language; 
  6. Java Script language is not object-oriented (although some aspects of object-oriented approach supported), but allows the use of various facilities provided by the browser; 
  7. a similar story of the emergence and development. Both languages ​​have been announced by Sun and Netscape with an interval of several months. Released shortly after Netscape Navigator 2.0 supports both the new technology. Perhaps the name was given Java Script in order to take advantage of popular Java, or in order to further expand the concept of "platform Java". It is likely that most of the work on the development of the language had just Netscape. 

Despite the large number of similar characteristics, Java and Java Script - completely different languages, and above all - on purpose. If Java was originally intended as a language for creating Internet-applications (applets), but now it is clear that Java - is a full-fledged programming language. As for the Java Script, it lives up to its name scripting language, while remaining an extension of HTML. However, the expansion of quite powerful, as lovers of this technology, manage to create quite serious applications such as 3D-games from first person (in a very simplified mode, naturally), although it is rather a case of the field of curiosities.

In conclusion, we note that the code is Java Script, running on the client, is available to all in the clear, which makes copyright protection. On the other hand, due to lack of full support for new types of ad programs with complex functionality are often too complicated to take advantage of others.

Sunday, September 4, 2011

Browsers - part 1

Of course, the main line of development has remained associated with browsers.Although the Internet was just beginning to be filled with all new technologies have already had problems of compatibility. Under different platforms to work with different browsers so that differed even fonts. As a result, the author could create a nice neat page which the customer spreads.

With the Java web-page can be filled with not only plain text, but dynamic elements - such as simple cinematics rotating globe or Duke, waving a hand (although it is good at solving problems such animated GIF, and in more complex cases - Macromedia Flash); interactive elements such as a rotating model of the chemical molecule, running lines, containing, for example, stock indices or weather forecast.

But in fact, Java - is more than decoration HTML. As a full-fledged programming language, it can be used to create complex user interface. In the first version of Java Development Kit (development tool for Java) was an example of an applet, which is simple spreadsheets. Soon came a text editor to change the style and color. Of course there were games applets, educational, physical and other modeling systems. For example, a customer who made the order at the store or send parcels by post, was able to watch the delivery via the Internet.

Unlike conventional programs, applets have "inherited" an important feature of HTML-pages. After reading the news pages today, the content, the client does not save it on your computer, and the next day read the updated content. Similarly, downloading an applet and worked with him, you can remove it, but next time get a newer version. Thus, programs come and go with the client's machine without any effort, does not require any special knowledge or action, and it automatically supports the latest versions.

On the other hand, the user is no longer tied to your main workplace, in any Internet-cafe, you can open the desired web-page and start with the usual programs. And all this without any fear of becoming infected. Developers are very interested in their software the day after the release may see users around the world, no matter what computer, operating system and browser they use. While the browser on the client side must support Java, as mentioned, users are asked to HotJava, available on any platform. The most popular at the time the browser Netscape Navigator, version 2.0 also supports Java. But today, as we know, the most popular browser - Microsoft Internet Explorer.

The company Microsoft, having achieved stunning success in software for personal computers, was (and generally still is) the main competitor in this area for Sun, IBM, Netscape and others. If in the early nineties, the main efforts were directed to the Microsoft Windows operating system and Office applications (MS Office), then in the middle of the decade it became obvious that it's time to get serious Internet. In early 1995, Bill Gates issued a "declaration of war plans" Netscape to take a similar monopoly in the WWW, as well as in operating systems for personal computers. And as soon Netscape has signed a licensing agreement with Sun, Microsoft found itself in a difficult situation.

Internet Explorer 2.0 is not enthusiastic about and no one believed that he could make even a little competition to an appreciable Netscape Navigator. This means that a new version of IE 3.0 should be able to do everything that he could have just released NN 2.0. Therefore, December 7, 1995 Microsoft announced its intention to license Java, and in March 1996 licensing agreement was signed. The largest company producing the software had to support her, perhaps the most dangerous competitor.
© 2011 Way of Java | Except as noted, this content is licensed under Creative Commons Attribution 2.5.
For details and restrictions, see the Content License | Recode by Ardhiansyam | Based on Android Developers Blog