Author: Laruence () address of this article: www.laruence.com201208062681.html record the source. First of all, isn't this article a lot of pitfalls for @ left ear mouse C ++? I have been arguing about C and C ++ for a long time.
Author: Laruence () address of this article: http://www.laruence.com/2012/08/06/2681.html reprint please indicate the source first of all, this article is not to @ left ears mouse C ++ pitfall really much? I have been arguing about C and C ++ for a long time.
- Author: Laruence ()
- Address: http://www.laruence.com/2012/08/06/2681.html
- Reprinted please indicate the source
First of all, isn't this article really a lot of pitfalls for @ left ear mouse C ++? I just explained some of my thoughts on language selection from the perspective of my understanding.
The debate on C and C ++ has been around for a long time. Since Linus attacked C ++ as a horrible language, it never stops. For me, I do not have enough knowledge of C ++, so I have no ability to compare it from the perspective of language design (I also tried to learn C ++ at the beginning, I used C ++, but later I found that I had a hard time learning and had a bad time, so I gave up ). so I try to avoid making mistakes in this regard.
It is true that C ++ has introduced many new things. As @ said, it is designed to solve some problems, but is the problem necessary?
In my opinion, a language or tool is a tool. It exists so that we can use it to solve the problem. from this point of view, the biggest advantage of a language should be that it is easy to get started and can be quickly mastered, so that the learners will not put the cart before the horse, and they will spend a lot of energy on the use of "Tools.
Of course, there is also a cloud in old saying: "We must sharpen our tools to do good deeds." However, compared with C ++, C ++ has not extended more applicable scenarios nor improved its performance, not to mention how much development efficiency is improved. Of course, from OO, the design concept can more or less affect users and improve the maintainability of code. however, this is not necessary, because there are too many successful and highly maintainability C Projects, Linux, Unix, Apache, PHP .......
I have some experience in language design. When we design and develop PHP, the most careful thing is the addition of New syntaxes. This process is almost harsh. It is a new language feature, it often indicates incompatibility, more misuse, and more learning costs. so we instinctively reject some New syntaxes. this is also a simple pursuit.
Compared with C, C ++ provides more New syntaxes and new language features. That is to say, it requires more learning time and higher learning costs. for example, let's take a look at how thick C ++ primer is. It's not enough to read it, because there are still many details that you may misuse, so there are: "negative tive C ++ ", "More than tive C ++", oh, there are STL, "More than tive STL" and so on. are you willing to spend so much energy learning a language?
If you think that learning a deep language can satisfy your own IQ superiority, I have nothing to say, but I still want to kindly remind you that even if you spent more than half a year, after learning this, you still can't do anything, because the language still needs to be combined with the actual situation, to be actually used, there is still a lot of knowledge waiting for you: "Advanced Programming in the UNIX Environment", "Unix Network Programming". For Windows, there will be more books to read...
So now, do you still think that you have so much time to learn all this? If you really insist that you have time, well, let me remind you that you have learned a lot that you cannot understand at this time. because you have not encountered some experience in design patterns when actually solving the problem, you do not understand those design patterns or some seemingly useless functions. look, what is the contradiction? learning advanced languages requires real project experience, and real project experience requires you to learn a language before learning it ....
From this perspective, I think PHP and C are very similar. I bought only one book for learning PHP, but I didn't finish reading it because I learned a tutorials, I found that I have learned how to solve the current needs... For me, a PHP manual is enough ....
Some people may ask how to develop a simple language after learning it so easily?
This may be the case for human nature. I think it will be difficult to master complicated things. However, they forget that I just thought that language is just what you learned to solve your actual problems, by turning your ideas into practical tools, your growth should be the growth of your experience in solving problems while using them, rather than the growth of your language skills.
When you have been studying books for three years in order to be proficient in a language, and finally become proficient one day, you may find that this language is no longer popular... What do you think? (When I wrote this section, my head showed that Wang Chongyang was out of service in the east to the west)
Therefore, do not put the last word upside down. Choose what you will use (learn one that is easy to learn) and start solving practical problems as soon as possible!
Comments
- 2012/08/06, Demon writes: learning costs are always the most important criterion for measuring whether a language can be used in a wide range.
- , Smile writes: simple is the best for users. Laruence, I recommend a book on C language.
- , Donieli writes: seeing the thickness of c ++ primer, I added a bunch of new things to c ++ 11.
- , Walu writes: @ Smile "Linux C Programming one-stop learning" I think it's good. I didn't expect this discussion to last for so long. It is useless to eat the knowledge, and the output determines the value.
- 2012/08/06, higkoo writes: php is really easy to learn, and c ++ is too difficult.
- 2012/08/06, bridge writes: This may be the case of human nature. I think it is difficult to master complicated things, but they forget it. It is my opinion just now, language is just a tool you learn to solve your actual problems and turn your ideas into practical tools. Your growth should be in the process of using them to solve problems, the growth of experience in solving problems, rather than the growth in the use of language skills.
- , Greyson writes: After c ++ primer was bought, he never finished reading it .. So annoying.
- 2012/08/06, Leo writes: PHP beginners are relatively simple, but it is still difficult to go deep and even to learn other languages to supplement such as C
- , Root writes: Life is short, I use python
- 2012/08/06, wufaliang writes: I agree with my elder brother. I just want to use it and don't have to learn it...
- , Hsu writes: short life, python java
- , Right: Right. Three years of hard work... Useless .. Great tragedy.
- , Yue Xiaosheng writes: supports your opinion. Why are there so many programmers who complain on the Internet. It is because it is a program. Forget the basics. Programs serve other things. Such as business, sales, and publicity. And so on ..
- , Liu Zhiqiang writes: From the Perspective of solving the problem, C and C ++ may be slightly different. Although C ++ provides enough features for us to use, but citself is enough. Then, for specific problems, different languages solve different problems. For example, the efficiency advantages of C and C ++ are beyond the reach of PHP, Perl, and Python. I used to use PHP to implement an algorithm that was implemented using C ++ in the current project. The efficiency was more than 10 times worse. However, I also used PHP to implement a cgi web system that was implemented using C ++ in the project at that time, with almost the same efficiency, in addition, the advantage of PHP's rapid development and ease of maintenance in this respect is that C ++ is far from perfect. Of course, I also used Bash to implement a fast sorting or more complex decision tree classification algorithm. Efficiency is terrible. However, when Bash is used for general tasks in Linux, no other language has its development efficiency or maintenance advantages. This is the case. The language used depends on the problem you want to solve.
- , Moven writes: @ left ear mouse actually admitted that cpp is hard to learn, but thought that learning cpp can get a lot. Obviously, it is more reasonable to learn other things. The author's opinion in this article directly illustrates how to make a choice. Now everyone understands.
- , Liqiang427 writes. Here are the performance constraints. What do you do if your python, perl, and php cannot be reached? You have to use C ++ to develop simple images and websites. You have to defend against this development cost, which is several times the development cost in other languages, it is also your problem to get the same result as other development languages... In my opinion, whether to study C ++ depends on whether you can use it or not, and whether you want to work in the future. However, people who study C ++ often have some inexplicable superiority...
- , Wclssdn writes: language used last year .. AAuto. similar to VB. drag it. drag it, and write the program. at that time, I used a few days to get to know this language, and then I wrote a small tool that I needed at that time .. however, when I want to study it in depth, I find that the language does not have any rules... there are various usages... no standard. some places are like this, some places are like this .. it's hard to learn .. I gave up .. I don't know what's going on later .. my gadgets were killed, and they were killed relentlessly -_-!!!
- , Lizhichao writes
- , Dvaknheo writes
- 2012/08/07, MudRain writes: Today, the learning program is one year and one month. Technically, I do not dare to make too many comments. I think the program exists to meet the needs of life or work, no matter what language you use, you can meet your needs, ensure efficiency, and ensure quality.
- , Ttes writes: the first principle of language selection for a project is definitely not easy to use. The first principle is whether it can meet the requirements (performance requirements, maintainability requirements, cost control)
- 2012/08/09, a wonderful story-about literature and small novels reading xlinblog.sinaapp.com» Blog Archive» about language selection-select an easy-to-use writes: [...] This article address: http://www.laruence.com/2012/08/06/2681.html [...]
- , Pandatv writes: it is true that only applications in real projects can quickly grasp what you lack, if you are immersed in learning to apply all the things in a language, you will find that the things you actually use are always basic things, most of them are the integrated applications of many technologies. For PHP, he is a quick start, but he is proficient in a difficult language. His function is very free and he wants to achieve a result, PHP functions can be implemented in multiple ways, but which method is more efficient can only be used for actual testing or on demand .. At least I have been working for several years and PHP functions are useless... So it is king to keep the PHP manual. You have always been using yaf... I have developed many projects.
- , Yasin writes: "I think PHP and C are very similar." I deeply agree with this sentence.
- , Yhg7752 writes: it makes sense !!!
- , Yesin writes: "Your growth should be the growth of your experience in solving problems while using them, rather than the growth of your language skills. "I agree with this sentence very much.
- 2012/08/25, on PHP compilation and execution separation | wonderful news-Novels in literature and chatting-xlinblog.sinaapp.com writes: [...] language selection-select easy to use [...]
- , Sandy writes: it makes sense to always support php!
- , Haina baichuan writes: Great. During the learning process, efforts should be made to practice.
- 2012/09/15, lingcarzy writes: tools are simple and ready to use.
- , Wonderful news-literature and little Stories Reading xlinblog.sinaapp.com» Yar-parallel RPC framework (Concurrent RPC framework) writes: [...] about language selection-select easy to use [...]
- , Qiang writes: templates, OO, STL are all ignored by you. They cannot solve the actual problem? You have never learned how to make such a big conclusion? Some people on the upstairs said that they had a strange sense of superiority in learning C ++. I think that's because they are proficient in C ++, java, and php. If you only use php, try another language?
- , Jason. Pan writes: Very good! Yes !~
- , Rst writes: The premise is that you are not a child. In high school, learn pascal to join the competition. Now I have chosen a course to support my family.
- , Irving writes: The cost of c ++ learning is too high for a beginner. A bunch of grammar features are not used, and I forgot to learn it. The blogger is far-sighted, select some languages with relatively low learning costs, such as php, python, and static language java, supplemented by some basic knowledge of System Programming and network programming, so that the learning performance will be better.
- , Leng Feng writes
- , H writes: When you see the source code that uses C language to implement OO, the content is too big ......
- , A melon writes: every time I see a language competition, I only say two words: Haha
- , Anonymous writes: From your comments on c ++ in this article, we can see that you have a poor understanding of c ++, but just come to so many conclusions based on your own assumptions, this is irresponsible and naive
- , Zhanyue24 writes: Bird brother, the font is too small, look tired ~
- , Yaocoder writes: I think your starting point is wrong, that is, compare what you know with what you don't know, I just think that every language has its own application scenario. Even if it has its own advantages and disadvantages, you are absolutely speaking. I suggest you look at "design and evolution of c ++". As the father of c ++, he is familiar with the comparison between languages, I think we should be more serious. Don't mislead others?
- , Momognu writes: This is really interesting. web programmers have come out to comment on c ++ over the past few years. Gcc has started to switch to c ++. In fact, there is nothing to do. Well, there is also the F35 jsf-av-C ++ standard. The Application of C ++ is not something we discuss. Do it well. If you don't understand it, don't talk about it. I can only be a c programmer. I am very pragmatic, it will not be used rashly, but ++ is definitely useful.
- 2013/04/07, momognu writes :. net clr is also written in c ++ ,. you can't even turn a blind eye to it. The voice choice is only about what you are doing, plus your own habits. If the field c ++ you Want to do doesn't help you, you can skip it, if you want to join the clr team and the kde team, do you have to learn c ++?
- , On the language selection-select easy to use | afternoon nap writes: [...] address: http://www.laruence.com/2012/08/06/2681.html [...]
- , Please manually release your resources (Please release resources manually) | afternoon nap writes: [...] about language selection-select easy to use [...]
- , Calling Scope of PHP | afternoon nap writes: [...] about language selection-select easy to use [...]
- , Puchi writes: LS's "momognu" is really a joke. laruence PHP, he is a "web programmer", but he is not only a programmer of the PHP core development team, c, LS to reach the level of people, this life is estimated to have no hope
- 2013/08/15, momognu writes: @ LS
- , Momognu writes: First of all, I am not referring to laruence, but some people who reply in a lively manner. Second, How can you decide that I cannot compare with my cousin, I know that laruence is a master in the php core. Although little girls are not talented, the principles, applications and extensions of various programming languages, operating system principles, network programming, communication protocols, algorithms and data structures, data mining, machine learning, and distributed systems are all under research. How can we win if we don't have to communicate with anyone?
- 2013/08/25, cuit writes: @ momognushow your code
- , Niklaus writes: @ momognu Haha, Is it full of superiority?
- Jav3/12/10, javalife writes: I don't like very complex languages. All Language designers should design to reduce the workload of developers, so that developers can spend more time understanding the business, instead of wasting time on the application of language syntax and tools.
- , Little joe writes: if some people think it is easy to learn c ++ and then learn java or python php, c ++ is good, I recommend that you use scheme to create a wheel or directly use the assembly.
Copyright©2010 All Rights Reserved. this Feed is for personal use only. reposted or commercial applications that are not specified are prohibited. if the application is illegal, all legal consequences shall be borne by you. if you have any questions, you can send an email to my at laruence.com. (Digital Fingerprint: 73540ba0a1738d7d07d4b6038d5615e2)