This is a creation in Article, where the information may have evolved or changed.
Do not control my status and the identity of one of the D language creators. I will answer this question honestly. I'm familiar with Go and Rust, and I know where D's shortcomings are. I encourage people who have similar positions in Rust and Go communities to put forward their sincere views. Then, let's get started. First, C + + should be placed in the wrong place. C + + is a key part of this equation, whether or not it replaces C or becomes one of the candidates to replace C. It is the closest to C, but also from C. In the following questions I will assume that C + + is replacing C as the target.
Each language has some basic advantages (I call it "10 times-fold advantage", because it is more effective on a certain benchmark) and a few challenges. Whether these languages will replace the C language in the future depends on how they use their 10 times-fold advantage and how they overcome several of their challenges. |
You are sunny. Translated 7 days ago 0 Person Top top translation of good Oh! |
| Other translation versions (1) |
Let me just dump D. Speaking of D, it's like to take you on a tour of my own house, and I know how to make you see/hide clean/dirty corners. I can say more about D than the other two languages. The reason is simple: I understand that D is more in-depth and straightforward: The main challenges of D are the following:
The adoption rate is not high-though it has been in the name for so many years. The insiders in the D circle may say that D is still relatively new and the adoption rate has risen. Moreover, this view still exists, and the adoption rate is driven by cognition. So managers and engineers feel worried about adopting a language that has not matured for years. In the future, time will continue to have a negative effect on D unless/until the number of people employed has grown rapidly.
D and the weak link of the garbage collection story. Garbage collection is a great invention, but the decision to use D has immediately left D with the core market--the existing C and C + + programmers. For these programmers, the partisan divide line has always been "do not want garbage collection?" Not a thing, you can use D with RAII or manual management style! "Although that's true, it's very close to useless, because the standard library is largely unsupported for other memory management styles, which means that the presumed user needs to rebuild the entire core infrastructure," he said. And even if you think it's okay to use garbage collection, the quality of the implementation is nothing to flatter your face. In short, it can be said that D has the disadvantage of GC, but did not enjoy his benefits.
has been lacking in prospects. Few companies support the d,d is popular in circles, the circle of engineering sensitivity high, long-term prospects, charisma and leadership difficult. For a long time, D tried to influence, PR, had a negative effect, the first foreground document (HTTP://WIKI.DLANG.ORG/VISION/2015H1) was written in January 2015, and the second iteration (vision/2015h2-d Wik i) is 4 months later, a period of 6 months, this is really the best irony.
Of course, there are other problems, but other problems are either derived from these issues or have similar effects.
|
babybright123 Translated 6 days ago 1 Human top P class= "vote" > top translation Good Oh! |
| I think the 10 times-fold advantage of D is the following (when I say "10 times times" below, it means "one order of magnitude")
-
10 times faster compilation speed than C + +. The gap is simply irreparable compared to C + + and other languages. (go compiles a bit faster than D, but runs a bit slower) fast coding using system-level languages is a profound change. Combined with the abstract ability of the D language, D can be used as a good choice to write highly optimized code for the simple reason that the experimental cost is very low.
-
Runs 10 times times faster than the scripting language. A good use for D is the using to handle some simple tasks as a scripting language is a great speed benefit. Of course, there is no "bottleneck" effect-if a script grows very large, D always has a very efficient and modular mechanism to provide. Of course, this is questionable, such as Python has a lot of libraries to choose from, but 10 times times the gap is fundamental: system-level language is difficult to reach the level of D, but the scripting language is difficult to break the speed gap with the
-
10 times times easier to combine C and C + + Use relative to other languages. D uses the same memory layout as C and C + +, which is built on top of it, but is closer to the bottom with little expense, the entire C standard library is not much closer to the syntax and speed, it is also a standard library for C + +, and many C libraries are easy to use with D. (Https://github.com/D-Programming-Deimos). It can claim that no other language can reach its consolidated level
-
10 times times better than other system-level languages and general languages. D static introspection, compile time evaluation, mixed drive Code is very effective this is difficult for other languages, whether new or existing; In this game, Go lacks depth even to grasp the focus; C + + is still lost in despair, and Rust is still trying.
|
abandon the emperor of Heaven translated 4 days ago 0 Human top top good translation! |
say go Again, the Go language is my only choice, and it's worth paying for. Choosing Go has the following challenges: the intrinsic performance degradation caused by
-
indirect calls and garbage collection. in fact, it doesn't make sense to transform Go into a non-indirect function call and garbage collection, because these are the core functions. These are the main obstacles to improving core performance indicators. The Go team responded by tactically improving the performance of garbage collection. However, the challenge of replacing the C language is not something that can be done with some tactics.
-
political factors. The faction of the go is exceptionally strong and has insisted on many issues, and similar problems have been very small. In the larger problem, the implementation of generics is very clumsy and low, so that generics can be regarded as one of the short boards of the Go language, in the discussion on similar topics is enough to make people depressed. I think the political aspect of technical issues is an extreme destructive factor in the long run, and hopefully the Go team will find a way out.
-
simplification is too simplified. The simplification of the Go language is very famous-it's really quick to get started. But over time this becomes a problem; The go code slows down completely-programmers find that writing the same thing all day, as an ant does, is because the go language is not very abstract even for very simple concepts and algorithms. If an area does not have readily available libraries, it is difficult for the average person to enter. It's not good for programmers to use go and never use it again. It would be nice if Go allows users who are always repeating jobs to improve their situation.
|
Coding12 translated 20 hours ago 1 people top top Good translation! |
| I think 10 times times the advantages of Go are as follows:
-
10 times times better policy. There was a time when the Go language claimed to be a system programming language, but later its dependencies became the domain of Web services. This is a very promising market, and the Go team has a good grasp of it (the Go Team has a world-class engineer in this field). This market is very hot, has been occupied by Java EE and some slow-running scripting language, Go in this area is completely new choice, but now has become a major choice, its low is irreplaceable. 10 times times the benefits of
-
Engineering. There is a purely engineering team behind the go language, which is very helpful for the quality of the language, especially for network libraries and tools. Excellent engineering management is a good remedy for some of the shortcomings of language skills.
-
10 times times the brand effect. Many people who are going to use the Go language are looking at Google's share. Google's production seems to mean professionalism, quality and stability. Of course, the brand is not all, but it means that the Go language only needs to do a good job, do not need to be perfect. The brand can do the rest of the work.
|
Coding12 Translated 19 hours ago top Good translation! |
last but Not the least important Let me remind again that this is just my opinion. I think Rust is facing some interesting challenges:
-
An discordant personality. Reading any number of Rust codes reminds you of the comic images of this joke "friends don't let friends out of their legs" (https://www.google.com/search?q=.). A person who puts his torso on a thin leg. Rust's secure, accurate memory management is at the forefront and center of everything. Very few problem domains, unfortunately, this means that most of the thinking and coding is committed to basic paperwork (the GC language is actually automation is gone). Secure, deterministic memory recovery difficult problem, but not the only problem, even in a program of the most important issues. So Rust is a huge drain on the language design issue. It is interesting that Rust began to grow up in other aspects of the language; the only solution is to develop language, but the question remains whether abstraction can help to address the need for resources at all levels.
-
Syntax for foreign countries. Rust's syntax is different and there is no obvious advantage to the difference. This is a person from algol-style irritating language that needs to deal with an unprovoked different syntax in addition to proper resource bookkeeping.
|
Wit's qi qi translated 4 days ago 0 Human top top Good translation! |
Rust's 10 times-fold advantage is:
Theoretically 10 times times faster than the others. Of the three, Rust is the only language with world-class proficiency. These can be seen in the depth of the language and technical methods that are precisely defined by it.
10 times times better security than other system programming languages. Of course, here we are confined to discussing its expenditure on security.
The price is 10 times times better than the others. For a long time, Rust's 1.0 preview was a favorite of the community, and there was no mistake: no matter what happened, existing Rust or future version 1.0 would have a solution. Now that the 1.0 version has ended the honeymoon period, there has been a noticeable decline in interest (as measured and estimated by me), but its impact will continue to exist. In addition, Rust, after all, is an Orthodox and useful language, and it is easy to convert people's enthusiasm into the sale of entities.
Word Whether these languages are set to replace c,c++ incrementally or exist in the code base at the same time, or they will be the first choice for future projects, people today will choose either C or c++--all depending on the capabilities of these languages, maximizing their strengths and making breakthroughs in their respective challenges. |
Iam cube Translated 3 days ago 0 Person Top top translation of good Oh! |
All translations in this article are for learning and communication purposes only, please be sure to indicate the translator, source, and link to this article.
Our translation work in accordance with the CC agreement, if our work has violated your rights and interests, please contact us promptly