前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021,编程语言如何选择?

2021,编程语言如何选择?

原创
作者头像
程序员鱼皮
发布2021-08-16 13:42:26
9490
发布2021-08-16 13:42:26
举报
文章被收录于专栏:鱼皮客栈

我适合学什么编程语言呢?

大家好,我是鱼皮,今天聊聊编程语言的选择问题,通过对 10+ 主流编程语言的特点、优劣、应用场景、发展前景等简单分析,希望帮还在迷茫的小伙伴们选择最适合自己的语言去学习。

编程语言选择

本文大纲:

编程语言选择 - 鱼皮
编程语言选择 - 鱼皮

前言

先来看张最新的 TIOBE 编程语言排行榜,C 第一、Python 第二、Java 第三:

2021-08 TIOBE 编程语言排行
2021-08 TIOBE 编程语言排行

那可能就会有一些 “追求极致” 的同学说了,我要学编程,就学最牛逼的 C 语言!

千万别!排行榜的统计方式、人群多种多样,并不代表一切,不要盲目跟风。

我们做事一定要有目的,先想清楚自己学编程是为了什么?

单纯出于好奇、感兴趣?为了搞钱?想多门手艺、提高工作效率?想开拓视野?想创业做自己的产品?还是只是碰巧选了计算机专业呢?

有不少转专业、其他行业的在职同学都想学编程,但切记:没有目标是绝对学不下去的!

下面介绍下主流编程语言,大家可以跟据自己的目标进行选择。

语言介绍

此前做过一个投票,大多数朋友学编程还是为了找工作,那我们就先说说如今最适合找工作、企业需求量最大的两个方向:Java 和前端。

Java

Java 本身是一门相对高级的语言,成熟稳定,写出来的程序可以跑在不同的操作系统上。

但真正促使 Java 被推向神坛、内卷之王、培训机构赚钱宝典的呢,还是他丰富的应用场景和生态。后端、桌面程序、安卓 APP、大数据等等,但凡你能想到的东西,Java 都有现成的开发工具和方便的类库框架,就是让你写更少的代码、更快地完成开发。

而且只要是你学 Java 时人类可能会遇到的问题,在网上都能搜到答案。

这些正好符合企业的需求:老板给钱,就是希望你能够快速完成工作,而且最好不出意外事故。

再加上前几年我国移动互联网的发展,安卓 APP 大肆开道那会儿,Java 作为安卓的主要开发语言,被大推了一波。

前端

前端,简单来说就是写网站界面(大多数情况下),它其实包含了三种语言:HTML、CSS 还有最重要的 JavaScript。

Web 前端入门相对简单,优点是写出代码能立刻看到效果,适合培养兴趣。

那为啥说它适合找工作呢,毕竟大部分公司做产品就是要给用户使用的,所以界面是必须的,因此需求量大。

此外,现在前端的应用越来越广泛了,像大前端,你可以用同一套代码开发出网页、桌面程序、安卓、IOS APP、小程序等,大大节省了开发成本。

大前端
大前端

提到小程序,这玩意的数量已经超过了 APP!它有很多优点,免安装、方便、易分享、基于微信用户量大等,再加上开发成本很低,所以是很适合创业的一个产品形态。

也是因为小程序、大前端的发展吧,让 Android 和 IOS 移动端、甚至还有客户端的开发前景逐渐变差。就现在来看呢,IOS、Android 开发供过于求,往以后看呢,完全看不到 APP 他的增量在哪里?毕竟除了一些主流的 APP 外,主动安装 APP 的人真是越来越少了。没有市场,新人怎么入行,怎么生存?

所以想开发界面同学,网页也好、小程序和 APP 也罢,都建议先从前端学起,像布局、组件化、模块化,很多方法和思想是类似的。

C 语言

再说说大多数计算机专业同学接触的第一门语言 —— C 语言。

有句话说的好,任何比 C 语言高级的语言都能用 C 语言来代替,任何比 C 语言低级的语言都不足以完整抽象一个计算机系统,这足以证明它的地位。

为啥它那么牛逼呢?

且不说他的语法灵活,最关键的是他足够底层,底层到所有的操作系统(Windows、Linux)都是用它实现的。所以学习 C 的过程中能让我们接触到更多底层的概念(比如自己分配和维护内存),有助于我们日后写出性能更高的程序。也是因为这点,C 语言很适于操作系统、底层软件、各种嵌入式系统和软硬件开发。

C++

C++ 在 C 语言的基础上增加了一些能力和思想,比如经典的面向对象编程,让开发者有更好的开发体验,能够提高代码的重用和开发效率。

它本身就是 C 语言的超集,因此性能也很高。

综合这两点呢,C++ 的应用场景也是非常之广,常用于后台开发、桌面程序、语言、框架开发(Java 都是C++开发的)、图像处理、音视频处理等计算任务、3D 引擎等。

C# .NET

提到引擎,就必须要说下 C# 和 .NET,千万别读成 “C 井” 和 “点 NET” 啊!

.NET 是一个框架和环境,而 C# 是运行在其上的编程语言之一,此外还有 VB .NET 等。

虽然最近几年 C# 在国内流行度一般,但仍是 Unity(游戏、VR、AR 开发平台)主要使用的编程语言,所以还是有用武之地的。

下面再聊几个有争议的语言。

Python

首先是 Python,入门简单、生态好、很多现成的代码类库能直接用,因此在工作中适合编写小的脚本和工具,像文件表格处理,能提高办公效率。

它也是啥都能做,还是爬虫、数据分析、数据挖掘、人工智能的一流语言。铺天盖地的 Python 广告、小学生都开始学 Python 了,这些都反映了 Python 的重要性和易学性,真的是每个人都可以学 Python。

但是呢,它并不是企业开发的推荐语言,想找开发工作,就不要去重点研究 Python 了,把它当成工具或者入门培养兴趣的语言就好。因为同等开发效率下,Python 作为一门解释执行的动态语言,运行效率实在是太低了,甚至可以比 C++ 慢 100 倍!

PHP

曾经热火朝天的 PHP,他有一个美称 “世界上最好的编程语言”。

但是如今 PHP 却逐渐走向衰落,不再受到大公司的青睐。

为啥?

以前 PC 网站时代,拿 PHP 做个网站,弱类型很灵活,开发起来贼快贼方便,用 Java 写 5 天的程序,用 PHP 1 天就能搞定。

但如今,互联网的产品形态逐渐倾斜于移动端,而非传统网站,PHP 虽然能也做服务端开发,但它的性能太低了!而且随着 Java 和其他后台语言的发展,它们的开发效率也上来了,都能花同样的时间完成开发,谁还会选择性能更低的 PHP 呢?

Go

近几年 Go 语言在国内发展迅猛。

他语法简单,且天然支持高并发、性能贼高,因此很适合开发现在主流的云原生应用。像大名鼎鼎的 Docker 容器、还有 B 站都是拿 Go 语言写的。

再加上国内 Go 语言的生态也越来越好,类库和轮子多了、最佳实践也多了,使得开发成本大大降低。同等时间开发个性能更高的应用,它不香么?

像字节跳动和腾讯等互联网大公司早就拥抱了 Go 语言,可以想象未来两三年, Go 的未来将是一片光明。

SQL

SQL 是数据库查询语言,可以从数据库中查询数据、操作数据。想从事后台开发、数据库管理相关工作的同学必须把它学好。

除了程序员,现在很多产品经理都要学 SQL 了,别看程序员卷,那产品经理更是神仙打架。

此外,还有一些程序员常用的语言。像 Linux Shell 脚本编程语言,和 Python 类似,当成工具学就好了。还有 Kotlin、Scala、Rust 等较新的编程语言,都有自己的应用场景,大家可以自行了解、按需学习。

总结

综上,目的、时间、前景、学习成本都是我们选择编程语言的重要因素。

如果想快速就业,可以直接学前端或后端。更倾向于所写即所得、尽快看到效果,就选前端;更想锻炼思维逻辑能力,就首选后端 Java 或 Go 语言。

还在学校,时间充足,想打好基础,就老老实实从 C 语言开始学起。

如果对编程只是出于兴趣,或者想做些小工具,就学 Python 或者前端吧~


最后,希望大家记住,第一门编程语言并不等于你找工作的语言。时间允许就大胆尝试,想学就学,先培养兴趣,等到后面再深入学习一门语言,学会一门再学其他的也会很轻松了。

也根本不存在什么最好的编程语言,没有银弹可以通杀,不同的个体、项目、团队都应该有自己的选择,解决问题、应用落地才真正提现了编程语言的价值,适合自己的才是最好的。

我是鱼皮,最后再送大家一些 帮助我拿到大厂 offer 的学习资料

跑了,留下 6T 的资源!

欢迎阅读 我从 0 自学进入腾讯的编程学习、实习、求职、考证、写书经历,少走弯路不迷茫!

我学计算机的四年,共勉!

以上就是本期分享,有帮助的话点个赞吧 ❤️

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编程语言选择
    • 前言
      • 语言介绍
        • Java
        • 前端
        • C 语言
        • C++
        • C# .NET
        • Python
        • PHP
        • Go
        • SQL
      • 总结
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档