What type of classification do you belong ?)

Source: Internet
Author: User
Tags what scripting

Reading: Recently, whattofix.com published an article by Daniel MarkhamArticleWhat level programmer are you?, Text will be unevenProgramMembers are divided into eleven stages from "read/write" to "God" based on their technical skills, to help programmers find their own positioning and find their own development direction. The following is an article summary:

With the development of technology, programming has quietly integrated into our lives. We can't do without those programs andProgramming Language. Many people are talking about how to program to varying degrees, and many programming language rankings have emerged. How should programmers grade them?

First, you must understand what a programmer is. Design your own Apache Web server? Create a complicated Excel guy? Or can I develop RPG games on my own? Minecraft players? Which of these belongs to the programmer's level? What does this sentence mean when we say "Everyone needs to understand programming?

Therefore, we need to develop a programmer level so that programmers can understand their own environment and development direction.

Level 1, read/write-- They understand how to set up the web server. In general, they can get what they need through configuration. They have basic knowledge of using text editors and file systems, as well as mobile and operationalCompositionFile capabilities, such as zip and FTP. Abstract symbols, parsing methods, and system skills can also be used in the structure.

Level 2, script-- Ability to write a linear script to tell the computer what to do and to learn and use its own symbols. If they have enough time and written guidance, they can use Bash or VB to write some simple scripts to do practical things for themselves.

Level 3, Administrator-- These people know about libraries and APIs, and have the ability to learn more. They know that no matter what scripting language they use, they need to connect to the library. If they encounter problems, read the user manual or search for a database online. At work, he can discover or develop his own symbols (using struct to write functions or declarations ). Most system programmers are at this level, and the primary macro system users of Excel are also at this stage.

Level 4, object-dot-Method-- At the beginning, I learned about coupling and cohesion. They can write their own object-oriented scripts (including public/private members and methods ). These people can learn about the library and build classes. If classes are not used, they can also create their own modules orCodeFile. Advanced script users can do more than this. They have some EXCEL skills and experienced stock brokers who use their own VBA as the basic code without realizing that they are at this level.

Level 5, multiple frameworks-- Once it reaches this level, it will encounter various troubles. The next stage of common programming is the ability to use multiple frameworks. These people can write C # and know how to create tables and write SQL statements. They can also write C and use JavaScript and HTML. These two skills do not mean they are masters, but they need to find answers in different ways to learn to understand the same question.

Level 6, Junior Architect-- Talents at this stage are truly engaged in programming. Their daily work is to gain a deep understanding of libraries and APIs. They are not required to remember this, but to understand how to achieve their goals in different modes. Want to draw in Win32? Some GDI resource handles may be required. They know that the handle is a uint32 hash somewhere in the system table-a common Win32 example. Want to add jquery in your own library? There are many formats in the new library. They should know how to do it and explain how it works. At the same time, you also need to learn how to refactor your code, highlight the highlights, and enhance the quality of your code.

Level 7, Senior Architect-- Their time is used to create their own APIs, platforms, or libraries. Maybe this is a necessity for a large project, maybe they just want to promote their knowledge. The system they developed solves practical problems for users. The audience is Level 5 programmers. In this phase, you need to go deep into OOAD, templates, and practices. Most of us will make a mess at the beginning and cannot understand how to simplify complicated things in a simpler way. This phase takes a long time and requires constant error correction, development of high-quality systems, and creation of more complex and flexible databases. When they get back from outside for a couple of months of training, they certainly want others on the team to understand what they have done.

Level 8, Meta-- In some cases, it is expected that these people will be aware that a large amount of complicated information can be put into the structure and architecture to better describe the language of a specific domain. The audience is Level 4 programmers. As the complexity of the Code increases, the number of codes can be reduced. dsl enables code to be displayed in various places. In short, they will become writers of the scripting language used by programmers. Open their systems to beginners through easy-to-use scripts and guidance. These skills can be learned separately, but most of the time is the path to DSL after complicated structures. Soon we can see the initial scale: using your own DSL can better understand the problem.

Level 9, functional Nirvana-- Gradually approaching the bonus, they will begin to learn how to write functional plans. The audience is Level 3 programmers. FP is essential to help them easily break away from DSL and greatly reduce the number of code to solve the problem. It also has high scalability. Some functional languages can be hot-swap while the system is running, and they will gradually feel that they are nearing the advanced level. FP is the answer to all questions. Although FP can reduce bugs and improve development efficiency, it is relatively difficult to learn code. Programmers need to remember a lot of things at all times-they must remember complicated symbols. However, the final root FP is only a stage on the road, many similar to OOAD.

Level 10 for Language designers-- They view all newly created programming language programs. The only difference is what the new language should do. They know how to develop object-oriented languages, language functions, and scripting languages, and how each language uses it. The audience is Level 2 programmers. They asked every project: "What languages do we need for this project ?" After the project is completed, they will get a good tool that solves the problem and is easy to understand and extends the entry-level programmers. Most projects do not need to be oriented to Language designers.

God level, computer scientist-- Either the top of programming or not, depending on your opinion. This is scientific planning. There are many cool things in it. Anyone is a target audience. But the focus is not to do what people want, but to promote academic development. Because most programming skills are based on people, it is also necessary for people to live around the world. How can we interact with each other in a simple way?

You may be inspired by a lot here, for example, first learning functional programming and then learning oop. You can also develop your own compiler. Isn't it a pleasure of college? Or an assembly, or a true understanding of the set theory, or how to develop a structure suitable for databases and programming data. Or develop your first programming tool.

These are the ways I see most programmers follow. (Zhang Qi/compilation)

Link to the original article: whattofix.com

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.