Develop programs in any programming language , It's all about getting the computer to do the work , For example, writing an article , Download one MP3 etc. , Computers do the work CPU Know only the instructions of the machine , therefore , Although different programming languages vary greatly , In the end “ translate ” become CPU Machine instructions that can be executed . In theory, almost any language can do anything , But the main thing is different .
For just stepping into IT Xiaobai of the industry , Maybe only know the salary of a certain language , But I don't know what it's mainly about , Not to consider the future direction of career development . The following will be a detailed explanation of the programming language .
C and C++
C/C++ In theory, any development can be done , As long as there are appropriate hardware drivers and API, Characterized by high efficiency , Basically, it's the most efficient compiled language .
Except in your system C/C++ No compiler has . In some systems C++ Compilers don't have , however C In general, they have . For now , C Language is mainly used to develop the underlying modules ( Like driving , decoder , Algorithm implementation ), Service application ( such as web The server ) And embedded applications ( For example, the program in the microwave oven ). C++ You can also do this , But due to the C++ The complexity and standards of , People still prefer to use C To do it . C++ More suitable for more complex but especially need efficient facilities , Like big games , Some basic libraries , Large desktop applications .
C: System bottom , drive , Embedded development .
C++: Game development , On a large scale , High performance , Distributed program development .
java Often follow ” Enterprises ” Connect , Because it has some good language features , And a rich framework , It's most popular in enterprise applications , You can always hear about J2EE, JSP, Hibernate Discussion of things like that . meanwhile , java There is also a place in the mobile phone field , Before universal intelligence , A lot of mobile phones just support java Use as a selling point , And after the explosion of smartphones , java Mobile home has become android, As the standard programming language of Android .
Java: Webpage , Enterprise development , Common applications , Game backstage .
Python Thanks to its rich and powerful library , It's also called glue language , To be able to make various modules in other languages （ In especial C/C++） It's easy to connect .
One common application is , Use Python Quickly prototype the program （ Sometimes even the final interface of the program ）, And then there are specific requirements , Rewrite it in a more appropriate language , such as 3D Graphics rendering module in the game , Performance requirements are particularly high , You can use it C/C++ rewrite , And then encapsulated as Python Extension class libraries that can be invoked .
Python Server development and Internet of things development . Information security , Big data processing , Data visualization machine learning , Internet of things development , All the major software api, Desktop application , Need to be python.
Python： Dynamic interpretation , High development efficiency , Open source , flexible , Low entry barrier .