Evaluating programming languages from a developer's perspective

Source: Internet
Author: User

This is actually a relatively old topic, about the good or bad choice of various languages online how to say all have, interesting is all the controversy occupy the cold is always some brain residue, for programming language choice different people have different views, I broadly divided into the following categories:

1, engaged in the development of

2, the Education

3. Engage in scientific research/academic

4, the Amateur

5. Other

I do development, this article is mainly from the developer's point of view, based on years of experience in various languages to talk about the mainstream programming language, these languages include (C, C + +, D, Go, Java, C #, Delphi, VB, PHP, Python), not listed in the language that I did not use, So it's not good to judge.

I think a good programming language should have the following characteristics

1, the language is strong enough to express

Although many of the characteristics of the use is not high, but once the demand has not been difficult to

2, the learning curve should be as low as possible

This is important, after all, language is just a tool

3, the development of procedures to implement the efficiency of high

No one wants their own hard-to-develop program because the language of the relationship execution efficiency is very low, execution efficiency is very important in the product experience, 1 seconds and 5 seconds difference is huge, imagine your office software if 5 seconds to open is how painful things

4, the productivity is stronger

Productivity consists of two aspects, one is the speed of development, and the other is suitable for mass production.


From the expressive power of language: C + +, D, Java, C #, Delphi, Python wins

From the learning curve: only C + + out, the other most people can accept, more prominent is VB, PHP, Python, Go

From the program execution efficiency: C, C + +, D, Go, Delphi, VB wins, of course, some cases of language efficiency is not the first bottleneck, the first bottleneck will usually appear in the IO, database and other places, only these need to wait for a long time where performance is not a problem, the performance of the language itself will be more prominent

From the Productivity:

Development speed: PHP, Python wins, desktop application C #, Delphi, VB wins, in fact, the development speed most of the time depends on the number of library programs and quality and ease of use, the language itself does not affect the obvious

Suitable for mass production: C + +, D, Java, C #, Delphi wins


Sum up:

Universal Language D language wins, the only problem is that the library relatively popular language library relatively few, foreign open source projects are many, many people may have not heard of, Chinese materials are relatively old, the latest calm can pay attention to the official website dlang.org

Desktop development, Delphi wins (has been a long time no attention to desktop development technology, perhaps a lot of people will support C #, I also long time useless, but when the. NET developed software implementation efficiency like Web pages, interface elements are obviously not shown together)

Web aspect: PHP, Python wins

For mobile short: Java, obj-c status is too obvious

Add:

C language can only use the great to describe, it created too much, the language of the problem played all know, so-called a handsome cover the ugly well, performance than all

Java is a more moderate language, once brilliant, now seems obvious enough modern, and create some rumors, the most ridiculous is the Java virtual machine is more and more optimized, is no slower than C + +, and sometimes more than C + +, whether you believe it or not, anyway, I do not believe, People always lie to listen to more slowly also believe, because sometimes the truth is not so important, although I personally do not like Java, but here I do not belittle the meaning of Java, Java is the biggest advantage is to allow the bottom of the weak ability of people can also be able to develop some scenarios of heavy-weight software applications, This is typically related to data processing, so a lot of this software comes up

D Language: To borrow the designer's words, D is better c++,c++ good at it is also good at, C + + is not good at it is also good at, although a little boast of the ingredients, but in my opinion basically it does get, and use it more easily than C + +, Although I used the process also found a few bugs (mainly in the win and Mac platform, I am satisfied with the performance under Linux) but it is not a major bug, usability is still very high, especially the template programming is so easy to use, parallel computing support is very good, but also has some features of dynamic scripting, The binary compatibility of C is also a bright spot, perhaps you are concerned about efficiency, the normal situation in general will be worse than C + +, if the focus on optimization efficiency can be achieved and C + + the same level, this is not speculation lies, if you do not know D language, here I recommend to you, of course, also welcome to communicate with me.




This article is from the "Li Yunxing blog" blog, make sure to keep this source http://quetzal.blog.51cto.com/3313934/1631287

Evaluating programming languages from a developer's perspective

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.