This afternoon when I was coding, a friend of mine on wechat pushed me a translation published in nuggets stop learning framework

As soon as I looked at the title, I felt it was clickbait. Originally, I just thought the article was misleading, but as soon as I looked at the reading volume, the reading volume had reached 3K by the end of writing this article, so I felt it was necessary to refute it.

First of all, I agree with the first part of the article, but the second part is totally irresponsible and misleading.

update

After sending the article to write the code, just found a lot of people have questions about this article, Teacher Fang also said in the article that there is no good refute, may be I have not written the article, the words are not clear, so I update my core point of view, in order to avoid this article is misunderstood.

1. My attitude

I hold three views on Teacher Fang's translation. First, I agree with the first part of the author about not only learning the framework but losing the infrastructure. The second is the refutation of the book list. The third is the refutation of teacher Fang's last point of view. The following is a detailed explanation of the above points of viewCopy the code

2, about the first half of the original author

The first half of the original text is conveyed to the readers in the form of dialogue. I agree with the view that 'we should not only focus on the framework, but also focus on the basic construction'Copy the code

3. The book list about the author of the original text

One thing to be clear, I'm not saying that those books are bad, but I don't think they should be there, or that they should not be all methodological books. The author explains the problem and proposes the solution but inadvertently leaves out the most important part in the practice. What is this part? It is about how to improve the core competitiveness of writing code. The core competitiveness can not be improved by reading a few books on methodology, but by lots of practice and correct path guidance. Unfortunately, in my opinion, none of the books on the list are qualified to assume the value of path guidance. Therefore, WHAT I want to refute is that the books on the reading list are not core enough, which leads to the unintentional illusion that reading a few books on methodology can improve the core ability.Copy the code

4. The part about refuting Teacher Fang

At the end of the translation, Teacher Fang gave two types of people, which, in my opinion, are not in line with reality. No real programmer will only know A framework without knowing the foundation, and no real programmer will only know the foundation without knowing the framework. Teacher Fang translated the foreign articles with good intentions, but she ignored the problems of the articles and put forward her own opinion at the end. However, this opinion is problematic. I do not know what is the reason for teacher Fang to put forward this opinion, but it is easy to give readers a wrong perception.Copy the code

5, other

There are several points that need to be expounded. 1. I have a very strict attitude towards writing articles. I have never written any articles in the community, because I feel that my ability is not enough to provide readers with correct and valuable knowledge input. Hope big V don't put the article in the community as a way to make click, but truly as the circle of technology to help you solve problems and improve ability of 2, about the attitude of the original I think is necessary to focuses on the core idea What question is no problem, the authors put forward the method to solve the problem is no problem, However, the problem is that the most core part is missing in the list of books to solve the problem in the end. There is only methodology, but there is no correct book that can help improve the writing of code, such as SICP, CSAPP and so on. Readers who have actually read these books will clearly recognize that compared to SICP, the books in the original list are only extra-curricular. The value of the book in the original list is summarized from mature software engineering practice, but this part will be imperceptively implanted into the reader's mind while reading SICP. 3. Teacher Fang said in the update that "this article has translated the" views of both sides ", I do not know what to refute oh "Based on this point of view, I can only produce two understandings, 1. Teacher Fang did not see the deficiencies in the article. 2, For some reason, Teacher Fang deliberately did not point this out. Either way, I don't want this kind of writing to be prevalent in the community, which is why I wrote this article. Also in this paper, a simple, don't want a slanging match, I just hope the teacher class one can bear good a community big V should have some responsibility, not only can cut chives, and this is for now the environment of community malodorous, want to spread in the community are valuable, while not to just clicks to bring readers to ditch, It is the responsibility of every writer to avoid confusing his readers with his articlesCopy the code

1. Agree

Tutor: Ed, what are you doing? Me (proudly) : I'm reading a book on how to build modern Java applications using GWT. Tutor: Why do you read it? Me: As a Java developer, I need to keep up. GWT is all the rage right now. Tutor: What other books did you read before you read this one? Me: I read a book about Apache Tapestry, which is 500 pages long. Apache Tapestry was the previous trend. Tutor: Is Apache Tapestry still in fashion? Me: No, GWT is. Tutor: Are the skills you learned from Tapestry still in use? Me: can't use ah. Tutor: Can Tapestry help you understand GWT better? Me: No. But both use some design patterns. Tutor: That's design patterns. Can design patterns help you solve your problems? Me: Yes, and it helps a lot. Tutor: New things come and go, but they have a lot in common. You should learn what you should learn. You should spend 80% of your learning time on learning basics and 20% on learning frameworks, libraries, and tools. Me: oh... Only spend 20% of your time learning frameworks, libraries, and tools? Tutor: Yes. Frameworks, libraries, and tools come naturally to you as you solve problems on the job. Me: Thanks for the guidance. Tutor: You'll thank me later.Copy the code

I agree with this part, as a programmer, it is right to focus on infrastructure.

2. Refute list

I bought books that were timeless and spent 80% of my study time reading them: The Clean Code Domain drives Design and practice domain-driven Design test Driven object-oriented software development Developing object-oriented Software, Guided by Tests continue DeliveryCopy the code

Some of these books, some of them are readable, but they shouldn’t be in this place, what are the corresponding frames? Is it design patterns? Is it programmer literacy? Or a variety of other methodologies?

Student: I don’t think so, the equivalent is computer base, what is it? It is the basis of operating system, composition principle, data structure and algorithm, etc. This can be said to be the first misinterpretation of the translation, which will obviously instill in the reader the view that there is no need to learn the framework, only need to learn various methodologies. The result is predictable.

On the other hand, I think there is no need to deliberately read these books in the list, we need to learn how to write programs, but there are so many garbage articles on the Internet that most programmers are confused about how to improve the core ability of writing code. Before promote core ability, I would only recommend SICP, CSAPP, such as books, rather than the various methodologies, it should also be a feature of the university of China, not good to teach students to write the code, instead, to study some methodology, we must understand that methodology are out from practice, not good enhance core competence, And to learn all kinds of methodology, will only make yourself a hollow wood.

Refuting the translator’s point

Suppose you have two candidates in front of you. One of them is very familiar with the framework, but knows nothing about the basics. The other was not at all familiar with the framework, but knew the basics. Who would you hire? Small companies hire the former, if they can use it. Big companies hire the latter and they can do the job.Copy the code

In this paragraph, it will be obvious to readers that even if they don’t know the basics, as long as they know API and have learned framework, they will want companies, even if they are not big companies. But I have to say that this is impossible. I can tell you from experience that if you don’t know the basics, no real company will hire you. Even the smallest company, and the smaller the company, will require you to have a solid foundation as well as familiarity with the framework. Because:

The more small companies cherish the hard-won business, will not be a little foundation will not time bomb in the side, really experienced recruiters understand that the worse the foundation, the more additional manpower will be needed to help, outweighs the loss.Copy the code

My point of view

I never speak up in the community because if I do, there are bound to be a lot of SB attacks, for whatever reason.

But I have to say today that it’s probably because there are so many people who hold this view that too many of the buckets in the community are now Posting posts to earn clicks, and pouring garbage into a lot of novice programmers. Some time ago in Zhihu has been seeing a problem, why the reliable advanced front-end is so difficult to find? The reason is because there is so much spam in the community that few people have a clear idea of where they want to go and move up to the advanced front end. Of course, it is difficult to find more than enough places.

In addition, for translators, and people like translators, a word of advice to you, I hope you do not write so casually when you publish something that is not nutritious or even misleading, do not think that writing an article is such a simple thing.