Comprehensive comparison ASP, JSP, PHP, Perl,. NET and other Web development languages
ASP full name Active Server Pages, a Web server-side development environment, leverages it to generate and execute dynamic, interactive, high-performance Web service applications. The ASP uses scripting language VBScript (Java script) as its own development language.
PHP is a cross-platform, server-side, embedded scripting language. It borrows heavily from the syntax of the C,java and Perl languages and is coupled with PHP's own features, allowing web developers to quickly write dynamically generated pages. It supports most of the current databases. Also, PHP is completely free of charge and you can download it freely from the official PHP site (http://www.php.net). And you can gain unrestricted access to the source code, and even add the features you need.
JSP is Sun's new generation of web development language, Sun Company with its extraordinary attainments in Java, Java from Java applications and Java applets, there is a fresh fruit, is the Jsp,java Server Page. JSP can complete powerful site program with the support of Serverlet and JavaBean.
all three are provided in The ability to mix some program code in HTML code, and the language engine to explain the execution of program code. However, the JSP code is compiled into a servlet and interpreted by the Java virtual machine, which occurs only on the first request to the JSP page. In ASP, PHP, JSP environment, the HTML code is mainly responsible for describing the information display style, and the program code is used to describe the processing logic. Ordinary HTML pages rely only on Web servers, while ASP, PHP, JSP pages require additional language engine parsing and executing program code. The execution results of the program code are re-embedded in the HTML code and then sent together to the browser. ASP, PHP, JSP are Web server-oriented technology, the client browser does not require any additional software support.
Technical features
Asp:
1. Use simple scripting languages such as VBScript, JScript, and HTML code to quickly complete the application of your website.
2. No compile compilation, easy to write, can be directly executed on the server side.
3. Use a normal text editor, such as Notepad in Windows, to edit the design.
4. Browser-Independent (Browser independence), clients can browse the Web page content that is designed by active Server pages as long as they are using an executable HTML-code browser. The scripting language used by Active serverpages (VBScript, Jscript) is performed on the Web server side, and the client's browser does not need to be able to execute these scripting languages.
5.Active Server pages can be compatible with any ActiveX scripting language. In addition to being designed with VB script or JScript language, other scripting languages provided by third parties, such as REXX, Perl, and Tcl, are used in a plug-in manner. The scripting engine is a COM (Component object Model) object that handles scripting.
6. The client script can be generated using server-side scripts.
7. The ActiveX server components (ActiveX servers component) have unlimited extensibility. You can use the visual Basic, Java, Visual C + +, COBOL, and other programming languages to write the ActiveX Server Component you need.
Php:
1. database connection PHP can be compiled into functions that are connected to many databases. PHP and MySQL are now a great combination of groups.
2. You can also write your own peripheral functions to indirectly access the database. With this approach, you can easily change the encoding to accommodate such changes when you replace the database you are using. Phplib is the most common set of base libraries that can provide general transaction needs. But PHP provides a database interface to support each other, such as the Oracle, Mysql,sybase interface, the other is not the same. This is also a weakness of PHP.
Jsp:
1. Separating the production and display of the content
Use JSP technology, Web page developers can use HTML or XML tags to design and format the final page. Use a JSP logo or a little foot to generate dynamic content on the page. The logic that produces the content is encapsulated in the identity and JavaBeans group components, and bundled in a small script, all scripts are executed on the server side. If the core logic is encapsulated in identities and beans, other people, such as web administrators and page designers, can edit and use JSP pages without affecting the creation of content. On the server side, the JSP engine interprets the JSP identity, producing the requested content (for example, accessing the database by accessing the JavaBeans cluster component, using JDBC Technology), and sending the result back to the browser as an HTML (or XML) page. This helps the author protect his code while guaranteeing full availability of any HTML-based web browser.
2. Emphasis on reusable group components
most JSP pages rely on reusable and cross-platform components such as JavaBeans or Enterprise JavaBeans to perform the more complex processing required by the application. Developers can share and Exchange components that perform common operations, or make these components available to more users or user groups. The component-based approach accelerates the overall development process and enables the various groups to be balanced in their existing skills and development efforts to optimize results.
3. Simplified page development with logo
Web page developers are not all program designers who are familiar with scripting languages. JavaServer page Technology encapsulates a number of features that are required for dynamic content generation in an easy-to-use JSP-related XML identity. Standard JSP identities can access and instantiate JavaBeans components, set or retrieve group component properties, download applets, and perform functions that are more difficult to encode and time-consuming than other methods. JSP technology can be extended by developing a custom identity library. In the future, third-party developers and other people can build their own identity libraries for common functions. This enables Web page developers to work with familiar tools and artifacts that perform specific functions like identities. JSP technology can easily be integrated into a variety of application architectures to leverage existing tools and techniques and scale to distributed applications that support enterprise-wide. As part of a family of Java technologies and a member of Java 2EE, JSP technology can support highly complex web-based applications. Because the built-in scripting language for JSP pages is based on the Java programming language, all JSP pages are compiled into Java servlet,jsp pages with all the benefits of Java technology, including robust storage management and security. As part of the Java platform, JSP has the Java programming language "write once, execute Everywhere" feature. As more and more vendors add JSP support to their products, you can use the servers and tools you choose, and modifying tools or servers does not affect your current applications.
Application scope
ASP is a dynamic Web language developed by Microsoft and also inherits the tradition of Microsoft products that can only be performed on Microsoft's server products, IIS (Internet Information Server) (Windows NT) and PWS (Personal Web Server) (Windows98). UNIX also has Chilisoft components to support ASP, but the function of the ASP itself is limited, it must be extended by the asp+com of the group combination, UNIX under the COM implementation is very difficult. ASP is simple and easy to maintain, is the best choice for small Web applications, through DCOM and MTS technology, ASP can even complete medium-sized enterprise applications.
PHP can be performed on Windows,unix,linux Web server, and also support the general Web server such as Iis,apache, when the user changes the platform, no need to change the PHP code, can be used. Because of its structural flaws, PHP makes it only suitable for writing small web systems.
JSP is similar to PHP and can be executed on almost all platforms. such as Win Nt,linux,unix. Under NT, IIS can support JSP through an additional server, such as JRun or servletexec. The well-known web server Apache has been able to support JSP. Because Apache is widely used on NT, UNIX and Linux, JSP has a wider execution platform. Although the NT operating system now occupies a large market share, but the advantages of UNIX in the server is still very large, and the new rise of Linux is not small. Porting from one platform to another, JSPs and JavaBean don't even have to be recompiled, because Java bytecode is standard and platform agnostic. JSP still has considerable advantages for scripting languages, although its configuration and deployment are more complex than other scripting languages, Java-based JSP (combined with JavaBean and EJB) is almost the only choice for cross-platform large-scale web systems.
Performance comparison
someone has done the test, the three languages to do loop performance test and Access Oracle database testing. In the cyclic performance test, the JSP ended the 20000*20000 loop with only an astonishing four seconds. And the ASP, PHP test is the 2000*2000 cycle (a few orders of magnitude), but took 63 seconds and 84 seconds respectively. (Refer to Phplib). Database testing, the three of the Oracle 8 1000 times Insert,update,select and Delete:jsp takes 13 seconds, PHP takes 69 seconds, ASP needs 73 seconds.
Prospect Analysis
currently in the domestic PHP and ASP are the most widely used. And JSP is a relatively new technology, the domestic adoption of less. However, in foreign countries, JSP is a relatively popular technology, especially e-commerce Web site, more use of JSP. PHP web site such as Sina (Sina), the Chinese (chinaren), but because of the shortcomings of PHP itself, making it unsuitable for large-scale e-commerce sites, and more suitable for some small business sites. First, PHP lacks scale support. Second, the lack of multi-layered structure support. For heavy duty sites, there is only one solution: distribution calculations. The database, the application logic layer, the presentation logic layer are separated from each other, and the same layer can be separated according to traffic, and the group is composed of two-dimensional arrays. and PHP lacks this support. Also mentioned above, PHP provides a database interface support is not uniform, which makes it unsuitable for use in e-commerce.
ASP and JSP do not have the above flaw, ASP can obtain the ActiveX scale support through the com/dcom of Microsoft WINDOWSD, obtain the structure support through DCOM and transcation server; JSP can be through the sun Java Java class and EJB are supported by scale and supported by Ejb/corba and application servers from many vendors. Of the three, JSP should be the trend of future development. Some of the world's largest e-commerce solution providers use Jsp/servlet. The most famous e-business, such as IBM, is the core of the Jsp/servlet Web Sphere. They are all supported by CGI. But last October it launched the enfinity, an e-commerce application Server that uses Jsp/servlet, and claims to no longer develop traditional software.
Other programming languages
Perl
Perl (Practical Extraction and report Language) is a very old scripting language. Most of the original Web applications were written in Perl, and Perl, like C, is very flexible and has the same ease of handling and processing as the C language. It is also because of the flexibility of Perl and the "excessive" redundancy syntax, which makes the code of many Perl programs difficult to read and maintain, so the number of people used is diminishing and there is now a possibility of being replaced by Python. In addition, the CPU consumption of Perl seems to be high, the efficiency seems to have some shortcomings.
Perl Development Success story: Movable type-One of the most used blogging systems in the world, powerful enough to compare with a CMS system. Awstats-is a very classic log system with extremely fast and powerful functions.
Conclusion: Perl has a great advantage in some applications, but its poor maintainability makes it difficult to popularize.
. NET
. NET Advantage: The Enterprise Information System Department can program itself
. NET is a new marketing label that Microsoft has posted on existing and future products. In Microsoft server-side products, such as Iztalk Server 2000 and Application Center 2000, which are based on Windows DNA 2000 technology. NET tags will be everywhere. However. The most interesting feature of NET is its development platform, language and protocols. Through. Net,microsoft provides us with a new development platform that will drive collaborative Web application development based on new systems. According to Microsoft, the. NET will be at least a way to "web-programming." Currently, the first version of Visual Studio. NET has appeared, and from this we may be able to sketch more precisely. NET platform for the final picture.
. NET development tool--visual Studo.net's ease-of-use makes it very difficult to implement in Java "User Enterprise (Information Systems Department) also programmable system" on Superman. I think there may be other such areas. Of course, though. NET's standard language vb.net and C # are as complex as Java, but Visual studo.net is a good way to eliminate this complexity. For example, the Japanese Lambier (noevir) only relies on its own information System department to complete the Web Agent shop support system from planning to programming all work. A Japanese system integrator has said that previously imported Java system users in the Enterprise "selected." NET's information Systems department is expected to develop or modify the system itself. " The author thinks, because Java itself is more complex, and not easy to learn to grasp, so "user enterprise is only responsible for planning, and the programming work is completely entrusted to the integration of the phenomenon is very common." In the heyday of COBOL and VB (client/server), it was normal for the information System Department to program itself, to make some modifications to the system and to add functions. If even small system modifications are outsourced, the maintenance costs of the system will naturally be high, thus losing flexibility. It is even possible to weaken the operational capacity of the information systems sector. When it comes to planning, it sounds good, but if the general situation is not understood, I am afraid to negotiate with developers are very difficult. This is perhaps a "disadvantage" of Java.
In addition,the "low cost compared to UNIX" and "the ability to take full advantage of Windows technical resources" are also accelerating the popularity of the. NET Framework. As a client/server system development environment, VB's subsequent language--. net in the "Windows Form" the most competitive. More and more system integrators are starting to choose this tool to build a system.
. NET disadvantage: The application of less results, poor openness
Conversely,. NET disadvantage is that in large-scale systems, the application of less results, lack of "openness".
for the results of the application, the number will continue to increase in the future. It is reported that Japan Kabu.com Securities will use the. NET framework in 2003 to fully reconstruct the company's current use of ASP building system. What will happen to "openness"? The main factors of Java popularization are many, but the author thinks that the most important one is "openness". Because it can run on a variety of OS, and many developers also provide Web application server and development tools, so users can choose freely. Developers are constantly improving their product levels by competing with each other in terms of functionality and performance. And what about the. NET framework? As long as you want to apply it to a business system, its OS is actually limited to Windows. Although Microsoft has provided the FreeBSD version of the. NET Framework, its purpose is limited to academic research. What people can expect in the future is Mono Project. Mono Project is a program that is completely independent of Microsoft and is developing an open source version of the. NET Framework. The program is dominated by a Linux enterprise known as Ximian, which successfully developed the Linux Standard desktop environment GNOME, which has been widely watched by the industry.
January 2003 The program also released the Web services software xsp that runs Web application ASP. While many features are still under development, development is progressing well. It is currently being developed for Linux and Windows. According to Mono project, because the software relies on a few parts of Linux, it is easy to migrate to other Unix OS. The ability to form an open environment like mono will be the key to. NET popularity. Microsoft has already submitted the. NET Standard to the industry Standardization agency ECMA (European Computer Manufacturers Association), a move that suggests that Microsoft will adopt open standards. But it is unclear whether the move is purely a gesture, or really open. NET. This depends on whether Microsoft will continue to disclose enough relevant standards and information in the future.
It can be said that both technically and strategically, Microsoft has great expectations for. Net. The current DNA 2000 technology does not contain new. NET platform; instead,. NET will be a new technology that is expected to blend in with many fundamental, deep-rooted ideas. As a brand-new platform and technology. NET brings many new products, but the compatibility of these products and existing technologies is not guaranteed by 100%. NET supports 27 programming languages that share a set of classes that provide basic services. NET application is no longer running directly on bare metal, Microsoft has abandoned Intel x86 code because it is optimistic about an intermediate language called MSIL running on the virtual machine CLR (Common Language Runtime). NET is far more promising. After all, it was the Microsoft rule. just Java, the recent hot, Java EE, etc. are the market is more sought-after.
Xml
Xml:extensible Markup Language, extensible Identity language. It is a development by the Web designer can define the tag (tag) HTML extension specification, the main purpose is to enable users to design structural data and file format, and how to store, accept and apply the standard description method. To put it simply, XML is a standard for creating electronic documents on the Internet.
Cgi
Common Gateway Interface, public gateways interface. Interface specification for data transfer between Web servers and applications, CGI programs are generated in cold and programming languages, usually Perl, using CGI programs to read user input and generate dynamic HTML pages. Every time a CGI responds to a request, a process is established, which is a burden to the server. However, the current fast-cgi and this has greatly improved, so do not fear that the use of CGI-compiled forums will occupy your excessive system resources.
DELPHI
Delphi is a visual software development tool developed by the famous Borland (now and Inprise merger) company. "Real programmers use C, clever programmers with Delphi", this sentence is the most classic Delphi, the most authentic description. Delphi is called the fourth generation programming language, it has simple, efficient, powerful features. Compared with VC, Delphi is simpler and easier to master, but not inferior in function; Compared with VB, Delphi is more powerful and practical. Can say Delphi at the same time have both a powerful VC and VB easy to learn features. It has been a programmer-to-love programming tool. Delphi has the following features: A form-based and object-oriented approach, a high-speed compiler, strong database support, and close integration with Windows programming, powerful and mature component technology. But the most important thing is the Object Pascal language, which is the root of everything. The Object Pascal language is developed on the basis of the Pascal language and is easy to learn.
Delphi offers a variety of development tools, including an integrated environment, image editor, and various development database applications such as Desktopdatabase expert. In addition, it allows users to hook up other application development tools, such as the Borland Company's Resource editor (Resourse Workshop).
in the Among the many advantages of Delphi, its expertise in the database is particularly prominent: to adapt to a variety of database structure, from client/server mode to multi-tier data structure mode, efficient database management system and a new generation of more advanced database engine, the latest data analysis means and provide a large number of enterprise components.
Delphi Development so far, from Delphi1, Delphi2 to the present Delphi5, constantly add and improve a variety of features, more and more powerful. Delphi5 adds many new improvements to the IDE (integrated development environment), expanded database support (ADO and InterBase databases), MIDAS improvements with Internet support, Teamsouse version control tools, conversion capabilities, Framework concepts and a lot of new components and new features.
Javascript+html
JavaScript is a descriptive language that can be clamped into HTML files. The data is transmitted back and forth without any network, so when a user enters a piece of information, it does not pass through to the server, and the process is passed back, and can be handled directly by the client application. You can also imagine an executable that executes on your client! There are already some written programs on the Internet you can even look over, here are some examples of calculators on Nescape.
JavaScript is similar to Java, but it's not the same! Java is a much more complex programming language than JavaScript, while JavaScript is a fairly easy-to-understand language. JavaScript creators can focus less on programming skills, so many Java features are not supported in Java Script, and do not throw exceptions. JavaScript, as an explanatory language, can also use Eval statements that are difficult to support in a compiled language, C + +, and Java. The JavaScript runtime has a lot of security restrictions because it runs in the sandbox. It does not allow access to the local hard disk, and can not be stored on the server, the network documents are not allowed to modify and delete, only through the browser to achieve information browsing or dynamic interaction, so as to effectively prevent data loss.
Ajax
Ajax is the abbreviation for asynchronous JavaScript and XML, which shows a fundamental shift in web development, that is, what might be done on the web.
Definition of Ajax:
Ajax is not a technology, it is actually several technologies, each of which has its own unique, and together it becomes a powerful new technology. Ajax includes:
XHTML and CSS
working with the Document Object Model (Document Object Model) for dynamic display and interaction
Use XML and XSLT Do data interaction and manipulation
Use XMLHttpRequest for asynchronous data reception
Use JavaScript binds them together
The advent of the Ajax concept, the beginning of the era of No Refresh update page, and have replaced the traditional Web development using form (form) to submit the way to update the Web page trend, can be regarded as a milestone. But Ajax does not apply to all places, and its scope of application is determined by its characteristics. The main features are:
1, on-demand data collection. The page does not read useless redundant data, but instead sends a request to the server when a certain piece of data is needed for an interaction during the user's operation.
2, no Refresh update page. The client uses XMLHTTP to send a request to the server to answer data and, without re-loading the entire page, uses JavaScript to manipulate the DOM to finally update the page.
3, the pre-reading function can also be implemented through Ajax, but not the advantages of Ajax, its main advantage is in the interactive aspect.
The positive effects of Ajax:
1, reduce the burden of the server. Because the fundamental concept of Ajax is "data-on-demand", it is possible to minimize the burden on the server of redundant requests and shadows.
2, reduce the user's actual and psychological waiting time.
the traditional Web application model works like this: Most user actions on the interface trigger an HTTP request to connect to the Web server. The server completes some processing---receives data, processes calculations, accesses other database systems, and finally returns an HTML page to the client. This is a cliché pattern that has been used since hypertext was used as a web use, but readers of the Elements of User Experience must know what limits the Web interface from being useful to desktop software.
This old approach allows us to recognize a number of technologies, but it does not produce a good user experience. What is the user doing when the server is dealing with its own business? Yes, wait. Every action, the user waits. Obviously, if we design the Web application according to the thinking of the desktop program , we do not want to let the user always wait. When the interface is loaded, why should the user take the data from the service for another half of the time? In fact, why do you always let users see the program to the server to fetch data?
How Ajax is remarkable:
by introducing a user and server between the The AJAX engine can eliminate the web's start-stop-start-stop interaction process like this. It's like adding a layer of mechanism to the program to make it more responsive, and it does. Unlike loading a page, at the beginning of a session, the browser loads an AJAX engine---written in JavaScript and usually in a hidden frame. This engine is responsible for drawing the user interface and communicating with the server side. The AJAX engine allows the user to interact with the program asynchronously-without waiting for the server to communicate. So the user does not have to open a blank window, see the waiting cursor constantly rotating, waiting for the server to complete and then respond.
usually produces a The user action for the HTTP request is now replaced by JavaScript calling the Ajax engine. The response of any user action no longer requires a direct upload to the server---such as simple data validation, in-memory data editing, and even some page navigation---the engine can handle it by itself. If the engine needs to fetch data from the server in response to user actions---assume that it submits the data that needs to be processed, loads additional interface code, or receives new data---engine that makes the work asynchronous, usually using XML, without having to misuse the user interface interaction.
who is using Ajax:
in adopting The development of Ajax, Google made a huge investment. Last year all of Google's major products used this technology---Orkut, Gmail, and the latest beta version of Google Groups, Google suggest and Google Maps---they are all AJAX applications. (To learn more about the actual technical details of these Ajax, see their analysis articles: Gmail, Google Suggest, Google Maps). Other images: Flickr, with many of the AJAX features that people like, and Amazon's a9.com search engine uses similar techniques. These projects demonstrate that Ajax is not only academic, but also many real-world applications are successful. It's not a lab technique. Ajax applications can be small, from very simple, like a single-function Google suggest to very complex Google Maps.
Yangyu: Comparison of web system development languages