Detailed introduction of the application characteristics of each programming language

1. What is a program?

program also called software

程序也叫软件, is relative to hardware, hardware is relatively easy to understand, that is, the computer on our desk or the mobile phone in our hand, we all know that the computer has a certain computing power, but if you want the computer to release its computing power, Relying on human language is not enough, you use human language to talk to the computer, you help me create a folder and open a file, so that the computer will not understand. What do you think?让计算机帮我们做事情就需要用计算机能听懂的语言,那计算机能听懂什么语言呢?

0 and 1

The language that the computer can understand is an electronic language, and the electronic language is represented by our human characters, which is a series of instructions composed of two characters of 0 and 1, and then these instructions are 0代表电子元件的关闭(非)1代表电子元件的开启(是),一串串0和1组成的指令formed The logic is handed over to the computer, and then the computer can execute it for us. This is最原始的程序

2. Why there is assembly language

But as our program has more and more functional requirements, people find that it is very inefficient to use 0 and 1 to write instructions for the computer to execute, because it is very inefficient in terms of reading, maintenance, or debugging. In other words, this kind of program is very difficult and requires specialized knowledge reserves, and then people try to find a way. Since the instructions will not change like this, then我们可以拿一些人类能看懂的单词来代表这些指令,我们就可以使用人类好理解的单词来编写,然后再用一种特数的程序翻译成计算机能看懂的指令,这就是汇编语言

Why isn't assembly language enough?

Although assembly language can be understood by people, it is still a bit awkward to use. 因为汇编语言是和计算机的指令一一对应的,所以虽然写的人能看懂,但是语言还是得对应计算机比较蹩脚的指令逻辑
Later, people went further, can we develop another更加贴近人类思维和人类语言的高级语言,然后拿这种高级语言来写程序,写完之后再把他翻译成计算机能看懂的指令,然后高级语言就有了(果然偷懒才是最大的生产力驱动)

this is the program

把高级语言翻译成计算机能看懂指令这个过程叫编译,执行这个过程的是一种特殊的程序叫做编译器,我们把高级语言放进编译器运行,转换成计算机能读懂的指令,This is our modern high-level language programming, and this is our program

3. Why do you need a program

We need programs because we need computers to unleash its computing power, but this is only the original goal. Now we know that computers are very powerful. In addition to telling you 1+1=2, it also has many other data operations. Functions, such as listening to music, watching videos, or playing games, as the computing power of hardware becomes stronger, we will需要更强大的软件来同意管理我们的硬件,让我们的硬件能协调这些功能,这些程序组合在一起就形成了我们的操作系统

4. Common operating systems

Our common operating systems are Windows、UNIX、Linux、IOS, of course, in addition to these desktop operating systems, we also have mobile operating systems on mobile phones such as Huawei's HarmonyOS、苹果的IOS、谷歌的Android、和各家厂商记忆与Androiddeeply customized operating system, oh of course we can't forget Microsoft's WP operating system (dead, but not completely die)

5. Why do you need a program?

These operating systems are all application programs, which are used to manage our hardware resources in the same way, but the operating system is not omnipotent, not everything can be done, for example, we need to convert a picture into text now, and the operating system does not have these functions What to do, we have to use a programming language to write programs on the operating system, this is the job of our programmers, this is why we need programs,

Manage our hardware resources and
realize the special needs of users.
How to write programs and the choice of programming language
The choice of programming language
Learning programming language according to the purpose
做苹果手机的应用软件,选择Swift
做安卓的应用软件,选择Java
Making game software, such as game software on PlayStation4 and Wii U, home game consoles

Choose C#

For Internet services and web design, choose JavaScript, HTML, CSS5. For statistical analysis and big data analysis, choose R and python.
The characteristics of the main programming languages.
It’s too long to read the summary directly.

C# language is a relatively general language, it can 编写很多种的拥有程序横向来看能编写命令行程序、桌面程序、设备(包括手机和平板电脑查询和Wbe查询还能编写游戏等等,是一门比较通用的语言, C++ can also do these things and faster, because C++更贴近底层效率更高, but C++ has a problem, C++学习曲线比较陡In other words, C++ is more difficult to learn, not suitable for entry-level learning , and other languages ​​such as C language are very low-level like C++, but it is not an object-oriented language, and its main goal is to write an operating system, so if you want to write an application program, C language is not suitable. 再说Java,Java主要是用来编写Web网站或者服务的应用程序在Android上来编写应用程序, but it is not very good at writing desktop applications, so C# is a relatively general programming language. When we are not particularly pursuing performance, we can use C# to develop a variety of applications, which means that C# programmers Have a very broad employment opportunities

Java

Java is currently the most widely used programming language in the world. No matter which operating system (OS) or computer, Java can run in any environment, and Java also has high versatility and expansibility. At present, Java is used in a wide range of fields such as Internet systems, server construction, and Android application software.
Advantages: 充分掌握编程的基础知识;经常应用在大型的业务系统,存在较多的企业需求;能够开发安卓上的应用软件。
Disadvantages: A complete program must be written, which is difficult to learn.
People who recommend learning: people who are not affected by trends and hope that the knowledge they have learned can be used for a long time;大规模系统开发感兴趣的人;想制作安卓应用软件的人。

C and C++

Both languages ​​have nicknames for running fast. Due to its high versatility, 被广泛运用于个人电脑的软件和游戏,以及机械控制等诸多领域. C language and C++ are also used in operating systems such as Window and Linux and business systems that require real-time processing.
Advantages: It can fully learn the basic knowledge of computers and basic thinking methods of programming, and consolidate the basic knowledge of computers.
Disadvantages: It is necessary to write a complete program, which is difficult to learn.
People who recommend learning: those who are interested in hardware development; those who want to develop games.

C#

C# is a programming language developed and developed on the basis of C language. C#可以用于制作Windows的应用软件,或者用于Unity游戏开发环境。
Advantages: After learning, make various 3D games including VR (Virtual Reality: imaginary world) and so on. It can also be used to develop application software for the Apple operating system and the Android development system.
Disadvantages: In areas other than developing games, the versatility is low. In other respects, C# is only used when making Window application software.

Python

It is a very popular language and one of Google's three major languages ​​(C++, Java, Python). 在数据分析上功能强劲,因此被广泛运用于大数据分析、人工智能和机械学习等方面。
Advantages: It can open up a way forward in the most advanced computer fields such as big data analysis and artificial intelligence; compared with Java and C language, the learning difficulty is relatively low.

JavaScript

现在几乎所有互联网服务都用到了JavaScript,而且在智能手机的应用软件和台式机的应用软件,以及游戏的开发上,也使用JavaScript。As a result, JavaScript's popularity has skyrocketed.
Advantages: 不需要准备开发环境;语法简洁,库处理也较充实.
Disadvantages: If you use JavaScript at work, you need to have various knowledge related to JavaScript, and you need a wide range of knowledge. If you want to develop in the creation and design of the website, you must have the knowledge of front-end and back-end. The front-end includes HTML and CSS, etc., while the back-end includes PHP, Rudy, etc. Java and JavaScript have similar names, but they are not brother languages ​​or sister languages, they are two different languages.

PHP

PHP is a programming language widely used in developing Internet services. 最广为人知的是它被应用于word press,word press是一种开源的内容管理系统(content management system,缩写为CMS).
Advantages: There are many development projects related to word press, if you want to become a freelance software engineer, PHP是最合适的语言。在云外包中,有关PHP的开发项目很多。有关的学习信息较多,搭建开发环境较简单.
Disadvantages: 范围仅限于互联网,泛用性不高.

Rudy (Rudy on Rails)

Rudy is a programming language, Rudy on Rails is an application framework. 应用框架是指建筑在共同的思考方式和解决问题的方法上的结构。In the Rudy on Rails application framework, there are not only function groups, but also program templates, and various functions and designs can be realized with only a small amount of code writing.
Advantages: 将它们作为一套来学习,可以用较少的程序更方便地开发互联网系统。与其他语言相比,开发效率高。
Disadvantages: learning two kinds of knowledge at the same time, the learning cost is high.

Objective-C和Swift

Before 2014, Objective-C was extremely popular as a development language for application software for Apple mobile phones and Apple operating system X. In 2014, Apple announced the adoption of a new programming language, Swift, which was open sourced in 2016.
Pros: New language, simple and clear syntax.
Disadvantages: 很难在Windows上学习;跟其他语言比,历史较短,用于学习的信息较少.

Visual Basic.NET

Visual Basic.NET is a programming language developed by Microsoft and a programming language used to develop software and applications on Windows.
Advantages: 容易学;可以运用在VBA等方面
Disadvantages: only used on Windows, not helpful for learning the basic ability of other languages

CSS

Strictly speaking, SS不是一种编程语言,而是一种用于装饰页面的样式表语言。HTML and CSS are indispensable languages ​​in Internet design, and they and Java are called the three important languages ​​for developing the Internet.

R

It is not a development-oriented language, 而是一种专门用于统计分析的语言.

front end and back end

前端和后端主要会出现在开发或使用互联网服务的时候。前端有时又被称为客户端,后端有时又被称为服务器端。The front end refers to the party (terminal browser) that uses Internet services, and the back end refers to the system (server) that implements Internet services. If the above languages ​​are classified, then HTML, CSS, and JavaScript are the languages ​​that are often used in the front end, and the 而PHP、Rudy和Python等就是经常使用在后端的语言。full stack is the language used in both the front end and the back end. For example, JavaScript is a full-stack language, but it is usually used for the front end, which is often misunderstood. A full-stack engineer is a person who has mastered multiple skills, is competent in both front-end and back-end work, and can handle a set of products by himself.

other

Unity是一款由Unity Technologies研发的跨平台2D/3D游戏引擎,可用于开发Windows、Mac OS及Linux平台的单机游戏,Video games for console platforms such as PlayStation, Xbox, Wii, 3DS and Nintendo Switch, or games for mobile devices such as iOS and Android.

6. Popularity chart of programming language

TIBOE is a ranking list released after counting the popular languages ​​on search engines such as Google, yahoo and Bing
Address: https://www.tiobe.com/tiobe-index/

Red monk is a ranking list published based on the usage of GitHub and the popularity of topics in Stack Overflow. Among them, Git Hub is a famous software, and Stack Overflow is a question-and-answer website about programming
Address: https://redmonk.com/sogrady/2019/03/20/language-rankings-1-19/

PYPL leaderboard address http://pypl.github.io/PYPL.html

7. How to write a program

Mainly divided into four steps

编辑 :使用上面所提到的高级语言编写程序
编译:使用编译器编译成计算机能看懂的指令 调试:程序员调试程序,查找Bug 发布:发布出去吸引用户 编程的学习和路径
纵向(由浅入深): 语言->类库->框架

No matter what language or type of programming language to learn, you need to go through the above three steps. The
first step is language learning. First of all, you need to master a programming language, whether it is C, C++, C# or Java, learn this After learning the language, you can get in touch with various class libraries of this language

What is a class library?

That is, we can 用语言编写一些组件, these components have been written by the predecessors, and 把它组合在一起叫做类库, we 只需要去这些类库里直接拿出来用就好了,避免我们重复的去编写, 1 (to prevent us from reinventing the wheel, others have invented it, we can use it directly instead of building it ourselves) to improve the efficiency of our development , can also avoid mistakes 1, some of these class libraries are free and some are charged, some companies make money by writing high-performance class libraries, many class libraries are open source, open source means that some companies or organizations, they In the process of developing software, the source code is released for your reference and study. Of course, these open source software have their own agreements. We must abide by their open source agreements when using them to avoid disputes. After learning the class library, we must
learn frame

frame

A framework is a class library with certain logic. For example, when we do web development, we use框架,它里面有一套已经组合好的逻辑,避免我们再重复拿一些类库组合,

why do this

This is because we have some so-called optimal solutions in the development project, these 框架就是将这些最佳方案已经组合好了,避免我们自己组合出现错误,

Look at the vertical and then the horizontal

Horizontal is that you can use the language you learn to develop command line programs, or desktop programs, or mobile programs, or Web programs, no matter what kind of program you write, you need先学习语言类库框架

Guess you like

Origin blog.csdn.net/weixin_45428910/article/details/131503917