If programming languages were a martial art

Learning programming and martial arts

In martial arts novels, all knights and green forest heroes learn from basic skills one by one. After mastering enough moves, coupled with diligent study and hard training, quantitative changes will lead to qualitative changes. One day, they will open up the two veins of Ren and Du and realize the back of these moves. philosophical logic, and became a generation of masters. In the process of learning programming, why don't we start with functions, syntax, features, etc. one by one? After mastering a programming language, learning another language will be much faster, just like having internal skills, learning Other martial arts will also be much easier.

If programming language is a martial art, what kind of martial art is each language?

A must-have resource for programmers, worth collecting! click to download

Assembly language

Assembly Language - Yi Jin Jing

Assembly language is the fastest and most efficient language provided by the computer to the user, and it is also the only language that can utilize all the hardware features of the computer and can directly control the hardware. Programs written with it have the characteristics of less storage space and faster execution, which cannot be replaced by high-level languages. Usually used in the lowest-level program optimization, hardware operation or embedded programming occasions, few people have written assembly directly.

In "Dragon Babu", the monk who sweeps the floor is practicing the Shaolin sect's exclusive secret method of Yijinjing. In addition to sweeping the floor, the only thing that the sweeper does is to comprehend the Sutra of Yi Jin. After decades of cultivation, he has cultivated a peerless martial art.

C language

C Language - Jiuyang Magic

C language is a process-oriented computer programming language, which is different from object-oriented programming languages ​​such as C++ and Java. The design goal of the C language is to provide a programming language that can be compiled in an easy way, handle low-level memory, generate only a small amount of machine code, and run without any runtime support. The main purpose of the C language is not only to realize the underlying functions of the programming language, but also to realize the operating system, and also has a great use in the field of communication. Although it is a little clumsy compared to the application level, it has a huge space to play at the bottom layer that pays attention to efficiency.

The C language is efficient, flexible, rich in functions, and strong in expression. As a basic underlying language, it is consistent with Jiuyang Shengong’s partial internal skills. The principle of combining hardness and softness.” A generation of Wudang master Zhang Sanfeng created the Wudang line of martial arts based on Jiuyang's internal skills. Therefore, after learning the C language well and having strong internal skills, it will be relatively easy to learn other languages.

C++

C++ - Jiuyin Mantra

C++ is the inheritance of the C language. It can not only carry out the procedural programming of the C language, but also can carry out the object-based programming characterized by abstract data types, and can also carry out the object-oriented programming characterized by inheritance and polymorphism. design. Compared with the C language, C++ adds the following aspects:

  • stricter type checking

  • Added object-oriented mechanism

  • Added the mechanism of generic programming (Template).

  • Added exception handling.

  • Added operator overloading.

  • Added Standard Template Library (STL).

If the C language is the Jiuyang Shengong that favors internal skills, then C++ is no different from the "Jiuyin Zhenjing". Both are very basic, and there is a close relationship between the two. After mastering these two disciplines, all martial arts in the world can be mastered. Easy to master. .

"Jiuyin Zhenjing" focuses on moves, powerful, broad and profound, including countless magical moves (internal power, light power, fist, palm, leg, knife, sword, stick, whip, finger claw, acupuncture secret techniques, healing Dharma door, Qi-shu Shen Gong, Soul-moving Dafa, etc.), mysterious and difficult to learn, C++ also contains a lot of content, and it is constantly extended, complex, powerful, encyclopedic language, in the face of large-scale projects Few other languages ​​are available.

C++ is the same as "Jiuyin Zhenjing". There are many misunderstandings that are easy to fall into. The more prominent problem is memory leaks. If it is used improperly, it is easy to end up like Zhou Zhiruo, Ouyang Feng, Mei Chaofeng and so on.

java

java

Java is an object-oriented programming language. It not only absorbs various advantages of C++ language, but also abandons the concepts of multiple inheritance and pointers that are difficult to understand in C++. Therefore, Java language has two characteristics of powerful functions and simplicity and ease of use. As a representative of static object-oriented programming language, Java language perfectly implements object-oriented theory, allowing programmers to perform complex programming in an elegant way of thinking.

Java has the characteristics of simplicity, object orientation, distribution, robustness, security, platform independence and portability, multithreading, and dynamism. Java can write desktop applications, web applications, distributed system and embedded system applications, etc.

Xiaowuxianggong is an internal skill of the "Xiaoyao School" in Jin Yong's martial arts novel "Dragon Babu", which is powerful. As long as you have this skill and know other martial arts moves, you can imitate other people's unique skills even better than the original, relying on its incomparable power. It is difficult for people who have not learned this skill to distinguish. This feature is similar to Java's distributed, interpreted, portable, multi-threaded, and dynamic execution.

The Java system is huge and provides support for many network technologies, just like Xiaowuxianggong runs the seventy-two stunts of Shaolin, and the jvm system is like the Xiaoyao School system. His disciples are numerous and outstanding, with a prominent reputation, learn from others' strengths, and stand out in the world.

python

python - Tai Chi

Python is a cross-platform computer programming language. It is a high-level scripting language that combines interpretive, compiled, interactive and object-oriented scripting languages. Originally designed for writing automation scripts (the shell), as versions are updated and new features of the language are added, it is used more and more for the development of independent, large-scale projects. Can be applied to the following areas:

  • Web and Internet Development

  • Scientific Computing and Statistics

  • artificial intelligence

  • desktop interface development

  • software development

  • Backend development

  • Web Crawler

The simplicity and readability of the Python language are similar to those of getting started with Tai Chi, but long-term training is required to achieve a certain level. The effect is also extremely high. After mastering it, the power is also huge.

Go language

Go language - Beiming Shengong

Go (also known as Golang) is a statically strongly typed, compiled, concurrent programming language developed by Google with garbage collection.

Go's syntax is close to C, but the declaration of variables is different. Go supports garbage collection.

Compared with C++, Go does not include functions such as enumeration, exception handling, inheritance, generics, assertions, virtual functions, etc., but adds features such as slices, concurrency, pipes, garbage collection, and interfaces. language-level support.

The key features of the GO language mainly include the following aspects:

  • Concurrency and Coroutines

  • message-based communication

  • Rich and useful built-in data types

  • Function with multiple return values

  • defer mechanism

  • reflection

  • High-performance HTTP Server

  • Engineering Management

  • programming specification

The language is easy to use and solves the pain points of concurrent programming and low-level application development efficiency. With the support of Google, a world-class technology company, the ecosystem of the killer application Docker has been completely bursting in recent years. So, the future of Go language is limitless. May devour a lot of C, C++, Java projects.

Beiming Shengong, the highest martial art of the "Xiaoyao School" in Jin Yong's novel "Dragon Babu", after practicing Beiming Shengong, every acupuncture point in the body can absorb internal force, and it is compatible with the world's martial arts. Poisonous and invulnerable. Strong and domineering, he can attack with great power. The defense of the infuriating body protection is greatly increased, and the enemy is shocked when attacked. Speed ​​increased. These features are similar to Go language's extremely fast speed, high performance, high efficiency, advanced concurrency support model and rich annotation library.

object-c

object-c - Dugu Nine Swords

Objective-C feels like an excellent senior brother in the C language system, and then stands on its own, but also knows the C language. Objective-C is a programming language extended by adding object-oriented features on the basis of C. -C is seen as a superset of the ANSI version of the C language, it supports the same basic C language syntax, and it also extends the standard ANSI C language syntax.

Dugu Jiujian is unique in the martial arts system. It is similar to object-c, which is the language used by Apple to develop software. Similar to object-c, the Dugu Jiujian swordsmanship is also chic, elegant, and offensive is greater than defense.

JavaScript

JavaScript - The Law of Attracting Stars

JavaScript literal scripting language, is a dynamically typed, weakly typed, prototype-based language. Dynamic and cross-platform.

Advantages of JavaScript:

  • Fast terminal response: Java scripts are written for the client and run without server-side support. Also doesn't need to be compiled on the client side for the speed advantage. Executed as a script on the user's computer, depending on the task, the result is completed almost instantly.

  • Simplicity: JavaScript is easy to learn and implement. Provides a large number of pre-written functional object code, making it easy to develop a script that meets the user's needs.

  • Versatile: JavaScript and other languages ​​interact well and are widely used in various fields.

Due to the rapid development of Javascript, the international standard came out a year and a half after Javascript was launched. Premature standardization, Javascript specifications have not had time to adjust, it is solidified. Design flaws are not fully exposed before it becomes the norm. E.g:

  • It is not suitable for developing large-scale programs. There is no namespace, and it is difficult to modularize. Repeated definitions of functions with the same name are allowed, and later definitions can overwrite earlier ones, which is very unfavorable for modular loading.

  • A very small standard library, which can only complete some basic operations and does not have many functions.

  • Global variables are hard to control.

  • The distinction between arrays and objects, since Javascript's arrays also belong to objects, it is not very clear to distinguish whether an object is an array or not.

Absorbing the Stars Dafa, from Jin Yong's martial arts novel "The Swordsman", is the martial arts practiced by the director of the Sun Moon God Sect, Wu Xing, who is allowed to fight the unique skills of the world. Cultivators have Ren Woxing and Linghu Chong, the only harm is the risk of internal power backlash. It is also a first-class martial arts that absorbs the inner strength of others. It gives the impression that Beiming Shengong is genuine, Huagong Dafa is a pirated version, and Suxing Dafa is a deleted version.

JavaScript is like the magic of attracting stars, and it can achieve the goal in the easiest way. The standard has the defect of deletion.

C#

C# - Toad

The sound of C#, like toad work is not welcome. It is an object-oriented programming language derived from C language and C++ released by Microsoft. It inherits the powerful functions of C language and C++ while removing some of their complex features (such as no macros and no multiple inheritance). C# integrates the simple visual operation of VB and the high operating efficiency of C++. Based on the .NET framework class library, it has the rapid development capability similar to VB, and is completely object-oriented and type-safe.

Since C# is an afterthought, much of its syntax is an improvement over other languages. Overall, C# syntax is more elegant than java. Support events, delegates, properties, Linq and a series of functions that make business development easier.

can only run on the Windows platform), making it gradually excluded from the mainstream. Now living in a corner, it is difficult to influence the general trend of the Central Plains.

Ouyang Feng's original creation of toad kung fu, became one of the five masters of martial arts in the world during the Southern Song Dynasty, known as the Western Poison. It's a very powerful skill. The power was enough to tie with the Eighteen Palms of Subduing Dragon. Ouyang Feng and Hong Qigong, who had mental problems, could also tie the battle. The two of them exhausted their internal strength and finally died on Huashan, which shows the power of Toad Gong.

Like the toad work, C# has profound skills and has great popularity when it first appeared, but it is also a bit bloated under the huge class library of .net. In addition, it can only run on the Windows platform, so the development is relatively slow, and there are many voices who look down on C#. , as the toad work is not welcome.

PHP

PHP - Dragon Subduing Eighteen Palms

PHP is practical, cross-platform, efficient, easy to deploy, completely open source, and supports almost all popular databases and operating systems.

PHP is a server-side scripting language with a unique syntax that mixes C, Java, Perl, and PHP's own syntax. Conducive to learning, widely used, focusing on Web development, the first choice for writing small and medium-sized website backgrounds. The mainstream PHP framework is still based on the MVC model, but it is also constantly innovating, such as the Codelgniter framework, which has high performance and fast speed, and is suitable for shared hosting; Seagull is more powerful, the standardization and modularization of the code base are higher, and there are also more documentation to support.

shortcoming:

  • The support for multi-threading is not very good, and most of the time, it can only be achieved by simple simulation.

  • The syntax is not very strict.

  • PHP's interpretation operation mechanism is cumbersome.

Whenever there is a programming language dispute, there are always people who say "PHP is the best language in the world", of course, there are also many criticisms, no language is accepted by everyone, and the impact of PHP's reputation may be related to PHP salary, From the point of "PHP is the best language in the world", it barely matches the Eighteen Palms of Dragon Subduing, which is called the best in the world by the sweeper.

Knight - Programmer

If programming languages ​​are compared to martial arts, then a generation of masters are all very good programmers.

In martial arts novels, Zhang Sanfeng is a prodigy in martial arts, and his martial arts skills are unmatched in the world. If you look at it now, Zhang Zhenren's role is likely to be a genius programmer. Under the tutelage of Master Jueyuan, I learned Jiuyang Magic. If you are a programmer, you are proficient in language, which is an internal language, which is very important for your future development. Later, Zhenren Zhang learned a lot of other martial arts, and created his own inner-breathing exercises such as "Taihe Gong", "Nine-Turn Xuan Gong", and "Pure Yang Gong". programmer.

In martial arts novels, the top masters are not only able to master one martial art, all the techniques of the world are used by me, but there is definitely one martial art that has reached the level of perfection. As a programmer, don’t think about integrating and borrowing from other people’s things, you also need it yourself "Practice martial arts".

The world of code is also rivers and lakes. The more thoroughly you understand programming ideas, the deeper your inner skills will be, and the more you master a language, the more martial arts you will have.

Finally, I recommend a very informative resource warehouse for everyone:

Resource warehouse, click to enter

The picture comes from the Internet, if there is any infringement, please contact to delete it.

Disclaimer: This article is purely for entertainment, the level is limited, and it is only written in a few languages. Welcome to like, favorite, comment and forward.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324135226&siteId=291194637