当前位置:网站首页>2021, how to select a programming language?
2021, how to select a programming language?
2022-06-24 05:22:00 【Programmer fish skin】
What programming language is suitable for me to learn ?
Hello everyone , I'm fish skin , Today, let's talk about the choice of programming language , Through to 10+ Characteristics of mainstream programming languages 、 Pros and 、 Application scenarios 、 Simple analysis of development prospects , I hope to help my confused friends choose the most suitable language to learn .
Programming language selection
Outline of this article :
Preface
Let's take a look at Zhang's latest TIOBE Programming language leaderboards ,C First of all 、Python second 、Java Third :
Then there may be some “ Pursuit of perfection ” My classmate said , I want to learn programming , Learn the best C Language !
Do not ! The statistical method of the leaderboard 、 The crowd is diverse , It doesn't mean everything , Don't follow the trend blindly .
We must do things with a purpose , First think about what you are learning programming for ?
Just out of curiosity 、 Interested in ? In order to make money ? Want to learn more skills 、 Improve work efficiency ? Want to broaden your horizons ? Want to start a business and make your own products ? Or did you just happen to choose a computer major ?
There are many professional changes 、 Working students in other industries want to learn programming , But remember : You can never learn without a goal !
Here are the mainstream programming languages , You can choose according to your goals .
Language introduction
I had a vote before , Most friends learn programming to find a job , Let's talk about the most suitable job search now 、 The two directions in which enterprises demand the most :Java And the front end .
Java
Java Itself is a relatively high-level language , Mature and stable , The written program can run on different operating systems .
But what really drives Java Pushed to the altar 、 The king of inner volume 、 Training institutions make money , Or his rich application scenarios and Ecology . Back end 、 Desktop applications 、 Android APP、 Big data and so on , Anything you can think of ,Java There are ready-made development tools and convenient class library framework , Is to let you write less code 、 Complete development faster .
And as long as you learn Java Problems that humans may encounter , You can find the answer on the Internet .
These just meet the needs of enterprises : The boss gives money , I just hope you can finish your work quickly , And it's best not to have an accident .
Coupled with the development of China's mobile Internet in previous years , Android APP When I opened the road ,Java As the main development language of Android , Pushed by a wave .
front end
front end , Simply put, it is to write the website interface ( Most of the time ), It actually contains three languages :HTML、CSS And the most important JavaScript.
Web Front end entry is relatively simple , The advantage is that writing code can see the effect immediately , Suitable for cultivating interest .
Then why is it suitable for job hunting , After all, most companies make products for users , So the interface is necessary , Therefore, the demand is large .
Besides , Now the front-end is more and more widely used , Like a big front end , You can use the same set of code to develop web pages 、 Desktop applications 、 Android 、IOS APP、 Small program etc. , Greatly saving the development cost .
When it comes to applets , The number of these things has exceeded APP! It has many advantages , Installation free 、 convenient 、 Easy to share 、 Based on the large number of wechat users , In addition, the development cost is very low , Therefore, it is a product form very suitable for entrepreneurship .
It's also because of the applet 、 The development of the big front end , Give Way Android and IOS Mobile 、 Even the development prospect of the client is getting worse . For now ,IOS、Android Development oversupply , Look back , Completely invisible APP Where is his increment ? After all, except for some mainstream APP Outside , Active installation APP There are fewer and fewer people . There is no market , How new people enter the industry , How to survive ?
So students who want to develop the interface , Web pages are also 、 Applets and APP Let it be , It is recommended to start from the front end , Image layout 、 Componentization 、 modularization , Many methods and ideas are similar .
C Language
Besides, the first language that most computer majors come into contact with —— C Language .
There's a good saying , Anything more than C Language can be used in high-level languages C Language instead of , Anything more than C Language low-level languages are not enough to completely abstract a computer system , This is enough to prove its status .
Why is it so awesome ?
Not to mention his flexible grammar , The most important thing is that he is enough , Bottom to all operating systems (Windows、Linux) All implemented with it . So study C In the process of, we can come into contact with more underlying concepts ( For example, allocate and maintain memory by yourself ), It will help us write higher performance programs in the future . It's also because of this ,C The language is well suited to the operating system 、 Underlying software 、 Various embedded systems and software and hardware development .
C++
C++ stay C Some abilities and ideas are added on the basis of language , For example, classic object-oriented programming , Let developers have a better development experience , It can improve code reuse and development efficiency .
It is itself C The superset of language , Therefore, the performance is also very high .
Combining these two points ,C++ The application scenarios are also very wide , Often used in background development 、 Desktop applications 、 Language 、 Framework development (Java All are C++ Developed )、 The image processing 、 Audio and video processing and other computing tasks 、3D Engine, etc .
C# .NET
When it comes to engines , You have to say C# and .NET, Don't read it as “C well ” and “ spot NET” ah !
.NET Is a framework and environment , and C# Is one of the programming languages running on it , Besides, there are VB .NET etc. .
Although in recent years C# It's generally popular in China , But still Unity( game 、VR、AR Development platform ) The main programming language used , So there is still a place to play .
Let's talk about some controversial languages .
Python
First of all Python, Easy entry 、 Good ecology 、 Many ready-made code libraries can be used directly , Therefore, it is suitable to write small scripts and tools in work , Like file table processing , Can improve office efficiency .
It can also do anything , Or reptiles 、 Data analysis 、 data mining 、 The first-class language of artificial intelligence . All over the world Python advertisement 、 Pupils are beginning to learn Python 了 , All these reflect Python The importance and ease of learning , Really, everyone can learn Python.
But what? , It is not the recommended language for enterprise development , Looking for a development job , Don't focus on Python 了 , Just use it as a tool or a language to cultivate interest . Because under the same development efficiency ,Python As a dynamic language for interpretation and execution , The operating efficiency is too low , It's even better than C++ slow 100 times !
PHP
Once in full swing PHP, He has a good name “ The world's best programming language ”.
But now PHP But gradually decline , No longer favored by big companies .
Why? ?
before PC The age of websites , take PHP Make a website , Weak types are flexible , The thief is quick and convenient to develop , use Java Write 5 Day program , use PHP 1 It's just a matter of days .
But now , The product form of the Internet is gradually inclined to the mobile terminal , Instead of traditional websites ,PHP Although you can also do server-side development , But its performance is too low ! And along with Java And the development of other background languages , Their development efficiency has also come up , Can take the same time to complete the development , Who would choose a lower performance PHP Well ?
Go
In recent years Go Language is developing rapidly in China .
His grammar is simple , And naturally supports high concurrency 、 High performance , Therefore, it is very suitable for developing mainstream cloud native applications . Like the famous Docker Containers 、 also B Standing is to take Go Written language .
Plus the domestic Go The ecology of language is getting better and better , There are too many class libraries and wheels 、 There are many best practices , The development cost is greatly reduced . At the same time, developing personalized applications can be higher , It doesn't smell ?
Big Internet companies like byte beating and Tencent have long embraced Go Language , Imagine the next two or three years , Go Our future will be bright .
SQL
SQL Is a database query language , You can query data from the database 、 Operational data . Want to engage in background development 、 Students working on database management must learn it well .
Except for programmers , Now many product managers have to learn SQL 了 , Don't look at the programmer volume , The product manager is even more immortal .
Besides , There are also some languages commonly used by programmers . image Linux Shell Scripting languages , and Python similar , Just learn as a tool . also Kotlin、Scala、Rust And other newer programming languages , They all have their own application scenarios , You can learn about 、 Learn on demand .
summary
Sum up , Purpose 、 Time 、 prospects 、 Learning cost is an important factor in our choice of programming language .
If you want to get a job quickly , You can learn front-end or back-end directly . Prefer what you write to what you get 、 See the effect as soon as possible , Just choose the front end ; I want to train my thinking and logic ability , Back end is preferred Java or Go Language .
Still at school , Enough time , Want to lay a good foundation , Just honestly from C The language began to learn .
If you're just interested in programming , Or want to make some gadgets , Go to school Python Or the front end ~
Last , I hope you will remember , The first programming language is not the same language you are looking for a job . If time permits, try boldly , If you want to learn , Cultivate interest first , Wait until later to learn a language , It will be easy to learn one and learn the others .
There is no best programming language , No silver bullet can kill , Different individuals 、 project 、 Teams should have their own choices , solve the problem 、 The value of programming language is really realized when the application is implemented , What suits you is the best .
I'm fish skin , Finally, I'll send you some more Help me get to the big factory offer Learning materials :
ran , leave 6T Resources for !
Welcome to I started from 0 Self study and enter Tencent's programming learning 、 Internship 、 To apply for a job 、 Textual research 、 Book writing experience , Avoid detours and don't get confused !
I studied computer for four years , Mutual encouragement !
That's what we're sharing , If it's helpful, give it a compliment ️
边栏推荐
- Shopify background XSS storage vulnerability
- How to apply for free website domain name does the domain name need authentication
- How does the mobile phone remotely connect to the ECS? What should be paid attention to during the operation
- How to apply for domain name space? Will it be difficult to apply for domain name space?
- [2021 techo youth cloud high-quality course replay, waiting for you to take away]
- How does a R & d make a small demand bigger and bigger step by step
- System design: index
- [the lottery in June has ended, and the list of winners has been announced] special cloud development session of techo Youth College Open Class
- The function of nearby people in the applet is realized, and the cloud development database is used to realize nearby people and friends within a distance of the neighborhood
- 2021-08-27: the normal odometer will display natural numbers in turn to indicate mileage, Kyrgyzstan
猜你喜欢

Hard core observation 553 AI needs to identify almost everyone in the world with hundreds of billions of photos

CTF learning notes 18:iwesec file upload vulnerability-03-content-type filtering bypass

Leetcode question brushing (question 3) - the longest substring without repeated characters
![[leetcode daily question] push domino](/img/81/1c31e97d9a245816514bcf47c92107.jpg)
[leetcode daily question] push domino

CTF learning notes 17:iwesec file upload vulnerability-02 file name filtering bypass

Answer questions! This article explains the automated testing framework in software testing from beginning to end

014_ TimePicker time selector

Intensive learning and application of "glory of the king" to complete the application of 7 real worlds other than human players

What are the disadvantages of the free IP address replacement tool?

How should we learn cloud native in 2022?
随机推荐
Three methods of local storage
Wang Wei, senior architect of coding Devops, was selected as the first batch of tutors in Mulan open source community
CTF learning notes 18:iwesec file upload vulnerability-03-content-type filtering bypass
PHP end() function
Hard core observation 553 AI needs to identify almost everyone in the world with hundreds of billions of photos
Performance comparison of JS loop traversal methods: for/while/for in/for/map/foreach/every
How Clickhouse queries imported data within a specified time period
What is the use of domain name cloud resolution? What are the factors for domain name errors
What is a company domain name? What should I pay attention to when registering a company domain name?
[sharing of competition experience] Rank5 in goose Rose Square - hard search
What cloud native knowledge should programmers master?
Webmeng: create a website you are proud of
Introduction to ebpf
What is the difference between a traditional data center and a cloud computing data center?
How to clone virtual machines on vspere client
What is a domain name address? What is the reason for using a domain name address?
How to apply for domain name space? Will it be difficult to apply for domain name space?
What kind of intelligent connection design do we need in an interconnected society?
What is stored in the domain name server? How does the domain name server provide services?
Hard core JS: there may be a memory leak in your program