zoukankan      html  css  js  c++  java
  • 2021,编程语言如何选择?

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

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

    编程语言选择

    本文大纲:

    编程语言选择 - 鱼皮

    前言

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

    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 自学进入腾讯的编程学习、实习、求职、考证、写书经历,少走弯路不迷茫!

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

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

    转 https://www.cnblogs.com/yupi/p/15147443.html

  • 相关阅读:
    读取XML数据出错 (十六进制值 0x00)是无效的字符 的解决办法
    随记
    CRM2011:用PublishXmlRequest发布组件
    在CRM2011表单中取消OnSave操作
    Ubuntu下Postfix配置
    .net再学习
    Error registering plugins and/or workflows
    英语语法笔记摘录
    OPENCV MFC 程序出错修改
    win7激活工具使用
  • 原文地址:https://www.cnblogs.com/wl-blog/p/15181733.html
Copyright © 2011-2022 走看看