Have a friend to ask this question, tidy up for everyone to post, for beginners in the selection of technology has a reference.
Three kinds of programming technology each have advantages, we can probably from the language, platform these two points to differentiate:
First, language:
Php:php was created in 1994 with syntax mixed with C, Java, Perl, and some of his own programming syntax; PHP is embedded in HTML; it is also an explanatory language. Early PHP was not a complete object-oriented programming language, and the PHP4 version began to have an object-oriented concept.
Java:java was produced in 1995, the Java language and Java platform are collectively called Java; it is very close to C and C + + languages, and Java is an object-oriented programming language, Java is a compiler language, You can interpret execution on a Java virtual machine by first compiling the Java source code into a. class file.
. NET: in. NET, a variety of programming languages support development such as: VB, C #, F #, and so on, usually we are using C # programming, C # is for. NET platform to create a programming language, produced with 2000 years. Its language syntax is similar to Java, C, C + +, and is also an object-oriented programming language. C # also needs to be compiled as a. dll file, which is then compiled by the CLR in the. NET Framework.
Language distinction: PHP, JAVA, C # These days the biggest difference in language is the implementation of different ways. There are also some differences in language itself, such as whether it is strongly typed, whether it can be dynamically compiled, whether it is multi-threaded, whether it is distributed, whether the value can be moved, and so on. As for the performance problems that many people say, I think the performance problem on the language itself is not very different, and it's about how the people writing the program write the code. In addition, there is a certain difference in the database with language knot, PHP usually uses MySQL database, Java usually use MySQL or Oracle, and C # because it is Microsoft's product, usually use Microsoft related database SQL Server or access, etc. Sqllite databases are sometimes used.
Second, platform:
PHP: When people call PHP, there is no difference between platform and language. We use PHP is often only to do web application development, as for desktop application development, in recent years as if PHP out of this development platform, but the reality of the application can hardly see. But I have to say that PHP in the Web application of the performance layer, there is a good performance, whether from the interface layout, or performance has a good advantage.
Java: When we call Java, we often say that it does not necessarily mean the language itself, but refers to the Java platform. In the Java platform, you can use the Java language to develop various application developments, such as Java SE, Java EE, and Java ME, which are used to develop Java desktop applications, Web applications, mobile applications, and so on.
. NET: in the. NET system, languages and platforms are significantly different, and multiple languages can be developed on one platform, which satisfies programmers with different languages to develop the same application. In the. NET platform, as well as Java, you can develop different applications, such as: WinForm (desktop applications), console applications, ASP. NET (Web applications), WPF (new desktop applications), WCF (Network communications infrastructure applications), Web services (service-oriented programming applications), ASP.net MVC3.0 (new Web applications), XNA (desktop and mobile gaming apps), and more.
Platform differentiation: Three kinds of technology platforms can do our common Web applications. For desktop applications, PHP is not very suitable, Java is not a good desktop application development tools, this aspect. NET platform has a good advantage, both WinForm and WPF are ideal for desktop applications. As for the implementation of some of the underlying complex business, PHP is less than Java and. NET, but in the front-end performance layer has a good advantage. So many complex large-scale integrated applications may be there. NET or Java to do data access layer and business logic layer, PHP is used to do performance layer. According to the said Taobao is based on the development of this way. At the same time, Java and. NET can be cross-platform,. NET can also cross languages.
Summary: Please note that no matter what programming language or technology platform, there is no good or bad points, only suitable or not. You need to use different technologies when developing different projects. Of course as a programmer for beginners, the need to learn from a more easily accessible programming language and platform to develop their learning ability, interest, solid foundation, in order to continue to grow in the future of the technology update.