Monday, October 31, 2011

arg blarg

Tuesday, September 27, 2011

Java Platform part 1

Java Platform

So, Java has a long and difficult history of development, but it is time to consider what happened with the creators of what properties the technology.

The most widely known, and at the same time causing the most heated debates, the property - multi-or cross-platform. I have already mentioned that it is achieved by using a virtual machine JVM, which is simply the program, performed by the operating system and provides a Java-applications, all the necessary features. Since all parameters are specified JVM, it remains the only task - to implement virtual machines on all existing platforms and used.

The presence of the virtual machine determines many properties of Java, but now focus on the following question - is the Java language compiled or interpreted? In fact, both approaches are used.

The source code of any Java program is a text file that can be created in any text editor or a specialized tool, and have the extension. Java. These files are input Java-compiler, which translates them into a special Java byte code. It is this compact and efficient instruction set supported by the JVM, and is an integral part of the platform Java.

The result of the compiler is saved in binary files with the extension. Class. Java-based application consisting of these files, is input to a virtual machine, which begins to execute, or interpret, since she is the program.

Many developers initially vilified bold slogan Sun "Write once, run everywhere", revealing more and more gaps and inconsistencies across different platforms.However, it must be admitted that they were just too impatient. Java was in its infancy, and the first version of the specifications were not exhaustive.

Monday, September 12, 2011

Network computers part 2

More JVM discussed below, but it must be said that the developers in Sun made an effort to make this machine a very real and not just virtual. May 29, 1996 declared the operating system Java OS (the final version released in March next year). According to a press release, it was "probably the smallest and fastest operating system that supports Java". Indeed, developers have sought to ensure the ability to execute Java-based applications to the broadest range of devices - network computers, handheld computers (PDA), printers, gaming consoles, mobile phones, etc. It was expected that the Java OS will be implemented on all hardware platforms. It was necessary for the original purpose of the creators of Java - ease of adding new functionality and compatibility of all electrical appliances used by the modern consumer.

It was the first step, promoter of the Java platform down one level - the level of operating systems. Supposed to take the next step - to create a hardware architecture, the CPU, which would be directly performed without any manual Java virtual machine. A device with such a realization would be a full-fledged Java-device.

In addition to household appliances, Sun has positioned this decision and for the computer industry - networked computers have been replaced by diverse platform of personal workstations. This approach fits well into the basic concept of Sun, expressed in the motto "The Network - a computer." The possibilities of a computer will never be compared with the possibilities of a network linking all the resources of the company, and even more - around the world. Perhaps today it is obvious, but in times when the WWW is not entangled planet, the idea was revolutionary.

If, however, to build multi-functional network, to its workstations are presented very different requirements - they should not be a particularly powerful computing tasks can be shifted to servers. This is even more advantageous as it allows to centralize support and software updates, and does not force employees to be tied to their jobs. Simply log in from any terminal network login - and you can continue from the point at which it was abandoned. This can be done in the study hall for presentations, cafe, chair plane home - anywhere!

Besides the obvious convenience, this initiative was enthusiastically supported by the industry and the fact that it was a powerful weapon in the fight against the largest software vendor - Microsoft. Then (and now) was the most common platform for the Windows operating system for processor-based Intel (with someone else's hands now many easy-called Wintel). These companies have managed to create a vicious cycle that ensures success - all of them used the platform as it is written under most programs, which, in turn, forced the developers to create new products for this platform Wintel. Because Microsoft is always very aggressively expand their advantage in the personal computer (remember, like Netscape Navigator hopelessly lost competition MS Internet Explorer), this could not cause great concern other members of the computer industry. It is clear that the concept of networked computers would negate the benefits in case of Wintel widespread. The developers have simply ceased to wonder what is inside their workstation, as well as home users have no idea on what chips assembled their mobile phone or a VCR.

We have already talked about how and why Microsoft has licensed Java, although it would seem that this step only contributed to the spread of a dangerous new technology, because Internet Explorer is gaining in popularity. However, it soon broke judicial scandal. September 30, 1997 was a new IE 4.0, but already October 7 Sun announced that this product does not pass tests for compliance with the specification of virtual machines. Sun November 18 appeals to the court to prohibit the use of the logo "compatible with Java" ("Java compatible") for MS IE 4.0. It turned out that Microsoft has a slightly "improved" the language of Java, adding a few new keywords, and libraries.Not that it was super-expanding, but very attractive to a significant part of the developers start to use it. Fortunately, Sun quickly realized the gravity of such a step. Java might lose the title of a universal platform for which the faithful famous slogan "Write once, run everywhere" ("Written once, run everywhere"). In this case, it would lose the basis of his success, becoming just "another language".

Sun's managed to defend its technology. March 24, 1998 the court agreed with the requirements of the company (of course it was only a preliminary decision, the case ended with a January 23, 2001 - Sun received compensation of $ 20 million and has made the implementation of the license agreement), and already May 12 Sun reappears, demanding to oblige Microsoft to include a full version of Java for Windows 98 and other software products. This litigation is still ongoing, with varying success sides. For example, Microsoft has excluded from the virtual machine library Internet Explorer java.rmi, allowing you to create distributed applications in an attempt to attract the attention of developers to DCOM-technology platform is tied to Win32. In response, many companies began to distribute a special supplement (patch), eliminates this drawback. As a result, Microsoft has stopped its support for Java 1.1, which is currently outdated and has many useful features. This, in turn, effectively ending the widespread applets, except a very simple functionality (such as scrolling text or dialogue with several input fields and buttons), or applications for internal networks of corporations. For the latter case Sun has released a special product Java Plug-in, which integrates into MS IE and NN, allowing them to execute Java-based applet of the latest versions, and full compliance with specifications is guaranteed (the original product called Java Activator, and was first announced December 10, 1997 .) At the moment, Microsoft is included, it excludes from its Java operating system, Windows XP, apparently trying to find the most advantageous variant.

As far as network computers and Java OS, then, alas, they have not yet found their customers. Apparently, the usual personal workstations in conjunction with the JVM requires much less technical and marketing efforts and at the same time quite successfully cope with applied problems. And Java, in turn, was positioned to create sophisticated server applications.

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.

Saturday, September 3, 2011

Java comes out

Finally, all the preparatory work has come to its logical conclusion. Official announcement of Java, is already widely accepted and full of promise, was going to happen at the conference SunWorld. It was expected that this will be a short news announcement, since the main purpose of this event - UNIX-systems. But all did not happen as planned.

At four o'clock in the morning on the day of the conference, after a long and difficult negotiations, Sun signed a crucial agreement. The second side - the company Netscape,founded in April 1994, James Clark (he has already played a role in the fate OaK two years ago, when intercepted a proposal from Time Warner) and Mark Andrissenom(creator of the NCSA Mosaic). This company became the leader of the browser market after in December 1994 came out the first version of Netscape Navigator, which was open to free non-commercial use, allowing to take at that time up to 75% of the market.

May 23, 1995 Java and HotJava been officially announced by Sun and at the same time the company reported that the new version of the popular browser Netscape Navigator 2.0 will support new technology. In essence, this meant that from now on Java is a integral part of the WWW, as well as HTML. For the second time the presentation ended with a standing ovation - the triumphant march of Java began.
© 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