Learning programming and martial arts
In martial arts novels , All kinds of swordsmen and heroes in the forest all start from basic skills and learn from each other , After mastering enough moves , In addition, he studied hard and practiced hard , Quantitative change causes qualitative change , One day, he will open up the two channels of Ren and governor and realize the philosophical logic behind these moves , Become a great master .
In the learning process of programming , We don't have to do one trick in duplicate 、 grammar 、 Characteristics, etc , After mastering a programming language , Learning another language will be much faster , It's like having an internal skill , It's much easier to learn other martial arts .
If programming language is a unique martial art , What is the unique skill of each language ？
assembly language - Yijinjing
Assembly language is the fastest and most effective language provided by computer to users , It is also the only language that can take advantage of all the hardware features of a computer and control the hardware directly .
The program written by it has less storage space 、 Fast execution , These are irreplaceable by high-level languages . Usually used at the bottom of program optimization , Hardware operation or embedded programming occasions , Few people have written compilations directly .
《 The Demi-Gods and the Semi-Devils 》 What the middle sweeping monk practices is the unique secret of Shaolin school, Yijin Jing . Besides sweeping the floor , The only thing to do , It is to understand the Yi Jin Jing , Decades of cultivation , Practice a unique martial arts , enigmatic , invulnerable , Efficient , Nothing beats nothing .
C Language - nine men's power
C Language is a process oriented computer programming language , And C++、Java And other object-oriented programming languages are different .
C The design goal of the language is to provide a way to compile 、 Processing low-level memory 、 Only a small amount of machine code and a programming language that can run without any support of the running environment .
C The main purpose of language is to realize the underlying function of programming language , It is also used to implement the operating system , It also has a great use in the field of communication . Although it is a little clumsy to use for developing application level , But at the bottom of the pay attention to efficiency, there is a huge space to play .
C Language efficiency 、 flexible 、 Rich in functions 、 expressive 、 The underlying language as a foundation is consistent with Joyoung's inner power. , Jiuyang Scripture focuses on internal power , Don't pay attention to moves , In fact, what is described in it is mainly “ Combination of hardness and softness ” The truth .
Zhang Sanfeng, the great master of Wudang , It is based on Jiuyang internal skill , Just created a pulse of Wudang Kung Fu . So learn well C Language , After having a strong internal skill , Learning other languages will be relatively easy .
C++ - Jiu Yin Zhen Jing
C++ yes C Inheritance of language , It can do both C Process programming of language , It can also be used for object-based programming characterized by abstract data types , It can also carry out object-oriented programming characterized by inheritance and polymorphism . And C Language comparison C++ The following aspects have been added ：
* Type checking is more stringent
* Added object-oriented mechanism
* Added the mechanism of generic programming （Template）.
* Added exception handling .
* Added operator overload .
* Added Standard Template Library （STL）.
If C Language is Joyoung's magic power. , that C++ Is a 《 Jiu Yin Zhen Jing 》, Both are very basic , And there is a close relationship between the two , After mastering these two disciplines, the world martial arts can be easily mastered .
《 Jiu Yin Zhen Jing 》 Emphasis on moves , Powerful 、 broad and profound , It contains countless magic moves ( Internal skill 、 Dodge 、 boxing 、 palm 、 leg 、 Knife technique 、 Sword 、 Stick method 、 Whipping 、 Finger claw 、 Secret skill of acupoint pressing 、 Healing methods 、 Qi closing skill 、 The method of moving soul and so on ), mysterious and hard to guess , It is difficult to learn righteousness and reason ,C++ It also contains a lot of content , It's still being extended , complex 、 Powerful 、 Encyclopedic language 、 There are few other languages available for large-scale projects .
C++ Follow 《 Jiu Yin Zhen Jing 》 equally , There are many misunderstandings that are easy to fall into , The most prominent problem is memory leakage , If not used properly , It's easy to end up with Zhou Zhiruo 、 Ouyang Feng 、 Mei Chaofeng and others are possessed by the devil .
java - Little reactive power
Java Is an object-oriented programming language , Not only absorbed C++ The advantages of language , It's abandoned C++ The incomprehensible multiple inheritance 、 Concepts such as pointer , therefore Java Language has two characteristics: powerful and easy to use .
Java As the representative of static object-oriented programming language , Excellent implementation of object-oriented theory , Allow programmers to do complex programming in an elegant way of thinking .
Java It's simple 、 object-oriented 、 Distributed 、 Robustness, 、 Security 、 Platform independence and portability 、 Multithreading 、 Dynamic and so on .Java Can write desktop applications 、Web Applications 、 Distributed system and embedded system applications, etc .
Xiaowuxianggong is a martial arts novel of Jin Yong 《 The Demi-Gods and the Semi-Devils 》 in 「 Xiaoyao sect 」 An internal skill of , Powerful . As long as you have this skill , What about other martial arts moves , Relying on its power is incomparable , Can imitate other people's unique skills, even better than the original , It's hard to distinguish people who have not learned this skill .
This feature is related to Java Distributed 、 Explanatory 、 Portability 、 Multithreading 、 Dynamic execution is similar .
Java The system is huge and provides a lot of network technology support , It's just like running Shaolin's 72 unique skills on the basis of small non phase skill , and jvm The system is also like the system of the Xiaoyao school . The disciples are numerous and outstanding , Famous , learn widely from others ' strong points , there is none under heaven to equal him .
python - Tai Chi
Python Is a cross platform computer programming language .
It's a high-level combination of explanatory 、 Compilability 、 Interactive and object-oriented scripting language . Originally designed to write automated scripts (shell), With the continuous update of the version and the addition of new language features , The more it's used for independent 、 Development of large projects . It can be applied to the following fields ：
* Web and Internet Development
* Scientific calculation and Statistics
* Artificial intelligence
* Desktop interface development
* software development
* The backend development
* Web crawler
Python The simplicity of language 、 Readability is similar to that of Taiji , But it also requires long-term exercise to reach a certain height , The same effect is achieved , Great power after mastery , We can overcome the strong with softness , It's the same as Tai Chi Python Slow speed .
Go Language - Beiming magic power
Go（ also called Golang） yes Google A static strong type of development 、 A compiled 、 And hairstyles , And has the garbage collection function programming language .
Go The grammar of is close to C Language , But the declaration of variables is different .Go Support garbage collection function .
And C++ comparison ,Go It does not include enumeration 、 exception handling 、 Inherit 、 Generic 、 Assertion 、 Virtual function and other functions , But it has increased section (Slice) type 、 Concurrent 、 The Conduit 、 Garbage collection 、 Interface （Interface） Language level support for features such as .
GO The key features of language include the following aspects ：
* Concurrency and coordination
* Communication based on message passing
* Rich and practical built-in data types
* Function returns multiple values
* defer Mechanism
* Reflection (reflect)
* High performance HTTP Server
* engineering management
* Programming specification
Language is easy to use , It solves the pain point of concurrent programming and low-level application development efficiency , Yes Google This world-class technology company is at the back , Killer application Docker In recent years, the ecosystem has completely exploded . therefore ,Go The future of language is limitless . It's likely to swallow a lot C、C++、Java Project .
Beiming magic power , Jin Yong's Novels 《 The Demi-Gods and the Semi-Devils 》 in 「 Xiaoyao sect 」 The highest martial arts , After practicing Beiming magic skill , Every acupoint in the whole body can absorb people's internal power , And compatible with the world's martial arts .
Poison does not invade . throw one's weight about , If you attack at will, you will have great power . True Qi protects the body and increases defense greatly , Shock the enemy when attacked . Great increase in speed . These characteristics and Go Language is extremely fast 、 Strong performance 、 Efficient 、 Advanced concurrency support model and rich annotation library have similar points .
object-c - The lonely nine sword
Objective-C Feeling is C The outstanding senior brother in the language system , And then set up your own door , But it will C Language ,Objective-C It's a kind of C On the basis of the object-oriented feature, a programming language is developed , You can put Objective-C As a ANSI edition C A superset of language , It supports the same C Basic grammar of language , It also extends the standard ANSI C Grammar of language .
Dugu Jiujian is unique in martial arts system object-c It's a language similar to Apple's software , And object-c The sword technique of Dugu Jiujian is also natural and unrestrained 、 grace 、 Attack is greater than defense .
* Fast terminal response ：Java Script for client , It can run without server-side support . It also does not need to be compiled on the client side to improve the speed advantage . Execute as a script on the user's computer , Rely on the task , The results were almost immediate .
* Not suitable for large programs , No namespace , It's hard to modularize ; Allow duplicate definitions of functions with the same name , The latter definition can override the former one , It's not good for modular loading .
* A very small library of standards , Only some basic operations can be completed , Many functions do not have .
* Global variables are hard to control .
Star absorption method , Martial arts novels by Jin Yong 《 Smiling and proud in the Jianghu 》, It's the martial arts that the leader of the sun and moon cult allows me to practice , The unique skill of letting me fight and shaking the world . Practitioners have their own way 、 linghu chong , The only harm is the risk of internal force . Both are the first-class martial arts to absorb other people's internal power . The northern part of the world is the divine power , Huagong Dafa is pirated , Star sucking is an abridged version .
C# - The toad style of Kwan Lun school
C# It is a kind of product released by Microsoft C Language and C++ A derived object-oriented programming language 、 In succession C Language and C++ Some of their complexity has been removed along with the power （ For example, there are no macros and multiple inheritance is not allowed ）.
C# A combination of VB Simple visual operations and C++ High operating efficiency , With .NET Framework class library as the foundation , Have similar VB Rapid development capability of , Fully object oriented and type safe .
because C# It's a posterity , So a lot of its grammar is the improvement of other languages . view in its entirety ,C# Grammar than java More elegant . Support events 、 entrust 、 attribute 、Linq And a series of functions to make business development easier .
Can only run in Windows platform ) So that it is gradually excluded from the mainstream . Now I'm in a corner , It is difficult to affect the general situation of the Central Plains .
The toad style of Kwan Lun school , Created by Ouyang Feng , He became one of the five martial arts masters in the Southern Song Dynasty , Known as Western Medicine . It's a great Kung Fu . It's powerful enough to draw with the 18 dragon subduing palms , Ouyang Feng and Hong Qigong, who have mental problems, can also draw in the first World War , Two people exhausted their internal power and finally died on Huashan Mountain , We can see the power of toad work .
Same as toad ,C# remarkable craftsmanship , When it first appeared, the scenery was infinite , But in .net The huge class library also appears to be bloated , In addition, it can only run in the Windows Therefore, the development of the platform is relatively slow , There was a lot of disdain C# The sound of , It's like toad .
PHP - Eighteen dragon subduing palms
PHP Practical , Cross platform strong , Efficient , Easy to deploy , Fully open source , Support almost all popular databases and operating systems .
PHP It's a scripting language executed on the server side , Unique grammar mixed C、Java、Perl as well as PHP Self created grammar .
Conducive to learning , Widely used , Focus on Web Development , Write small and medium-sized website background preferred .PHP The mainstream framework is still based on MVC Pattern , But it's also constantly innovating ;
such as Codelgniter frame , High performance 、 Fast , For shared hosts ;Seagull It is more powerful , Higher standardization and modularity of code base , At the same time, there are more documents to support .
* Not good for multithreading , Most of the time only simple simulation to achieve .
* The grammar is not very strict .
* PHP The explanation and operation mechanism of the system is complicated .
Whenever there's a programming language debate , There are always people who say “ PHP Is the best language in the world ”, Of course , There are also a lot of criticisms , No language is accepted by all , influence PHP Reputation may be PHP Salary related , from “ PHP Is the best language in the world ” In this regard, it is barely matched with the 18 dragon subduing palms called the best in the world by the sweeping monks .
Chivalrous man - The programmer
If you compare programming language to martial arts , So a generation of masters are very cool programmers .
In martial arts novels , Zhang Sanfeng is a martial arts genius , The art of fighting is the best in the world . If you look at it now , Zhang Zhenren's character is likely to be a talented programmer .
Master Jueyuan , Learning Joyoung magic , If you are a programmer, you are proficient From the language of this partial internal force language , It is very important for future development .
Later, Zhang Zhenren learned a lot of other martial arts , Self created 《 Taihe Gong 》、《 Nine turn Xuangong 》、《 Chunyang Gong 》 Equal internal breathing skill , Is a very good programmer , Programmers with innovative ability .
In martial arts novels , The best , They all know more than one martial art , The art of the world , All for me , But there is definitely a martial arts to the point of perfection , As a programmer, don't try to integrate and learn from others , I need it myself “ to practice martial arts ”.
The world of code , It's also the lake . The more thorough understanding of programming ideas , The internal skill is profound , Master one more language , It's an extra martial art .
Whether you change careers or not , It's better to be a beginner , It's OK to be advanced ——【 It's worth clicking into 】 Programming club for programmers ！
involves ：C Language 、C++、windows Programming 、 Network programming 、QT Interface development 、Linux Programming 、 Game programming 、 Hackers and so on ......
An active 、 High profile 、 High level programmer programming learning Hall ; Introduction to programming is just by-pass , Only the improvement of thinking is valuable ！