2020 年最牛逼的 10 门编程语言_程序语言-程序员宅基地

技术标签: 程序员  Java  编程语言  前端  Java进阶之路  Python  

先看再点赞,给自己一点思考的时间,微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。
本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题。

对于很多初学编程的人来说,尤其是马上要入学的大一新生来说,选择哪门子编程语言实在是个痛苦的事。选择对了,毕业后顺利找到工作,完美走向职场;选择错了,毕业后受伤的才华无处安放,大学算是虚度光阴了。

前一段时间哈,我有个远房的亲戚,她家的小孩非要让我指导一下。然后就带了一本书来见我,看了一下封面,我惊呆了。

《易语言从入门到精通》。这是哪门子编程语言,我第一次见到!不敢怠慢,也担心亲戚说我孤陋寡闻,偷偷地搜了一下。易语言的创始人是吴涛,国内为数不多的推崇中文编程语言的程序员大佬。

郑重其事地说,我是个三观很正的人,绝没有半点虚情假意。但我实在不忍心看我这远房表弟误入歧途,毕竟易语言即便是入门了,甚至是精通了,将来也不一定能找到工作啊!

当做兴趣爱好学编程固然好,值得称赞。我这表弟虽然学习不咋滴,年纪轻轻,初中毕业,但据亲戚反馈,酷爱编程,酷爱计算机(也不确定是不是酷爱打游戏)。易语言这本书也是他自己在网上买的。

我有点担心地问他:“能看懂吗?”

表弟不假思索,信誓旦旦地回答:“能啊!”

我随手翻了翻这边书,发现书签已经夹在第 202 页,我天呐,真的有在看啊,看了将近一半了。

必须得负责任啊,我就对亲戚和表弟说,“你看,要不咱换个编程语言吧,比如说 Java!”

亲戚一脸惊愕,“你说哈?”

我只好无奈地将脸迈向我这表弟,只听他娓娓道来:“J-A-V-A!”

“哎呀,不错啊,真的私底下有研究!”我心中暗暗佩服起来了我这表弟。真看不出来,挺爱学的嘛。

“别看这本易语言了,当做兴趣学编程没问题,可咱学习是为了啥,就是为了以后能找份工作,虽然我说得比较俗气。如果说确实对编程感兴趣的话,买点 Java 方面的书读一读。”我语重心长地建议。

表弟深以为然地点点头。

之所以说这件事,就是想告诉同学们,努力固然重要,但选择必须要对,一旦选择错了,那很多努力都是白费。

那,这篇文章就是来给同学们提个醒,2020 年最牛逼的编程语言是什么?看完后你就知道该如何地去选择了。

先来个简要的概括:

  • Java,服务器端最好的编程语言

  • C++,最通用的编程语言

  • C,迄今为止,最值得信任的编程语言

  • Python,AI(人工智能)、机器学习方向最佳的编程语言

  • JavaScript,客户端最常用的脚本语言

  • C#,微软最强有力的面向对象编程语言

  • Swift,IOS 端最高效的编程语言

  • GO(Golang),可扩展的编程语言,谷歌出品

  • PHP,世界上最好的编程语言,不,最好用的 Web 编程语言

  • Ruby,数据科学方面最可靠的编程语言

为什么我会选择这 10 门编程语言?可不是我收了这些编程语言的钱,故意让它们上榜的,我是有足够多的理由的。

首先来看一下 TIOBE 排行榜,非常非常权威的榜单,下面这 14 个是活得比较久的,可以看得出,除了 SQL 换成了 GO,其他 9 门编程语言都在,并且长期霸榜。

活得比较久,意味着这门编程语言的生命力比较顽强,生态系统比较完备,它们属于丛林的王者——物竞天择,适者生存嘛。它们活得久,并且活得好,那就意味着还能活得更好更久,是这个道理吧?强者更强!

同学们尽管放心,我是负责任的——主要是这些编程语言的作者或者团队是负责任的,尽管开源 PHP 的官方团队已经在 2019 年底彻底解散了,但 PHP 依然很坚挺,很牛逼。

下面让我来详细地说道说道这 10 门编程语言。

01、Java

Java 其实是 C++ 的一个替代品,Sun 公司原本想开发一种比 C++ 更简单的面向对象编程语言,起初叫 Oak。结果没想到,随着时间的流逝,因为 Java 更容易学习,跨平台,就导致 Java 的普及程度远远地超过了 C++。

说句不那么优雅的话,就好像狗血剧里小三上位的桥段一样。

在 Java 虚拟机的帮助下,Java 可以无障碍的在 Linux、Windows、Mac-OS 等多种操作系统下自由地穿梭,这使得它在企业级开发中非常受欢迎。

Java 可以做网站开发、做安卓开发、做桌面级应用开发(Eclipse、NetBeans 等等)、做游戏开发(我的世界)。

来一发 Java 版的 Hello World 吧:

public class HelloWorld {
    
 public static void main(String[] args) {
    
  System.out.println("Hello World");
 }
}

02、C++

C++,从名字上就可以看得出来,它是 C 语言的亲儿子,是对 C 语言的扩展,旨在为 C 语言创造出面向对象的功能。

随着时间的发展,C++ 进一步发展为具有最直接的内存访问和完整硬件控制的通用语言。正因为 C++ 提供了最广泛的通用功能,就导致掌握起来有一定的难度。

C++ 可以在所有的平台上运行,并且可以有效地利用任何类型的硬件,这使得它可以在资源受到限制的平台上发挥最佳性能。

C++ 可以做游戏开发(星际争霸、魔兽争霸),办公软件(微软 Office)、操作系统(Windows)、关系型数据库(MySQL)、3D 引擎(Microsoft DirectX)、嵌入式开发。

来一发 C++ 版的 Hello World 吧:

#include<iostream.h>
using namespace std;
 
void main() {
    cout<<"Hello World";
}

03、C

C 语言诞生于 1960 年,作者团队对它只有一个要求:必须得通用,并且能够有效地利用系统资源。因为在那个年代,每一个字节的内存都是昂贵的。

就像 C++ 那样,C 也可以直接访问内存并且控制硬件。C 和操作系统紧密相关,程序员必须亲自处理内存的分配细节,因此很难掌握。尽管 C 语言诞生的很早,但它仍然是目前最常用的编程语言之一。

C 语言的设计影响了众多后来的编程语言,比如说 C++、Ruby、PHP、Python、Java、C# 等等。

C 语言可以做嵌入式开发(单片机),基于嵌入式操作系统的应用软件、驱动程序,高性能的 Web 服务器(Nginx),常见的缓存数据库(Redis)、智能设备或者物联网设备中的操作系统(路由器、摄像头)等等。据说,反正能想到的,都可以用 C 做,就看会不会做。

来一发 C 版的 Hello World 吧:

#include<iostream.h>
void main()
{
    
    printf("Hello World");
}

04、Python

Python 诞生于 1990 年,作者叫吉多·范罗苏姆(Guido van Rossum,Python 之父)。可以说,所有的编程人员都喜欢 Python,因为它的学习成本很低,但应用的等级很高,比如说当下非常有深度的人工智能、机器学习、数据分析。

Python 的语法简洁而优雅,社区也非常活跃。但有一说一,Python 岗位对学历的要求很高

来一发 Python 版的 Hello World 吧:

print("Hello World")

05、JavaScript

JavaScript 是 Brendan Eich(只用了 10 天时间就设计出来了,牛逼)在第一次浏览器大战时为 Netscape(网景公司)开发的脚本语言。尽管一开始 JavaScript 的设计不够优良(毕竟时间短啊),但随着时间的推移,JavaScript 逐渐发展为一种高级的动态编程语言。

与其说我爱 Javascript,不如说我恨它。它是 C 语言和 Self 语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:‘它的优秀之处并非原创,它的原创之处并不优秀。’

以上 Brendan Eich 对 JavaScript 的评价,读完是不是感觉好气啊——竟然看不起自己的亲生儿子,哈哈。

有大佬曾说,“JavaScript 是互联网的胶带。”这个称赞非常高。HTML 负责结构, CSS 负责展示, 而 JavaScript 负责逻辑,网页前端编程的三剑客形成了。

ExtJS、prototype、JQuery 这些基于 JavaScript 的框架更是把 JavaScript 推向了巅峰。随着 Node.js 的出现,JavaScript 这种客户端的脚本语言竟然可以在服务器端立足了。

现在非常火热的前端框架,Vue.js 就是用 JavaScript 编写的,可以这说,想从事前端开发工作的话,JavaScript 是必学的!

来一发 JavaScript 版的 Hello World 吧:

<script>
 alert('Hello World');
</script>

06、C#

一看名字,就知道 C# 和 C/C++ 有着亲密的关系,微软把 C# 设计成具有面向对象的,像 C 一样的编程语言。

最初,C# 被看作是 Java 的复制品,它们之间有着惊人的相似之处,比如说继承、接口,以及与 Java 几乎同样的语法,同样需要先编译后运行。随着时间的发展,以及微软为之付出的巨大努力, C# 沉淀了丰富的类库和框架,开发人员可以在此基础上快速地编写各种基于 .NET 平台的应用程序。

随着 Unity3D 的出现,跨平台的 C# 终于可以大展拳脚了,在开发游戏方面的优势巨大,比如说编译速度快、类库充足。除此之外,要知道 C# 背后的大山是谁,微软啊!

来一发 C# 版的 Hello World 吧:

namespace HelloWorld
{
    class Hello
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
        }
    }
}

07、Swift

关于 Swift,直接来看苹果官方给出的介绍吧:

Swift 是一种强劲而直观的编程语言,它由 Apple 创造,可用来为 iOS、Mac、Apple TV 和 Apple Watch 开发 app。它旨在为开发者提供充分的自由。Swift 易用并且开源,只要有想法,谁都可以创造非凡。

Swift 是一种快速而高效的语言,能够提供实时反馈,而且可以被无缝集成到现有的 Objective-C 代码中,因此,开发者能够编写安全而可靠的代码,并在节省时间的同时,创造出非常丰富的 app 体验。

来一发 Swift 版的 Hello World 吧:

print("Hello World")

08、Go

Go 的亲爹是 Google,又是一家互联网巨头,可以想象它未来的潜力。

Go 语言的设计非常精致,用起来也非常简单,解决开发扩展方面的能力也比较出众。关键是学习起来也非常容易上手,这些优点促使 Go 语言的增长非常快。

国外如 Google、AWS、Cloudflare、CoreOS 等,国内如七牛、阿里等都已经开始大规模使用 Golang 开发其云计算相关的产品。 可以说前途非常光明。

来一发 Go 版的 Hello World 吧:

package main
import "fmt"
func main() 
{
    
     fmt.Println("Hello World")
}

09、PHP

PHP 用来开发 Web 应用程序的历史已经超过 35 年了,可以说是老资历了。尽管最近流行度在下降,但瘦死的骆驼比马大。

PHP 是最好的编程语言,这个梗是从哪里来的呢?显然不是吐槽大会!而是 PHP 的官方文档!

PHP is the best language for web programming, but what about other languages?

下图是 PHP 是最好的编程语言的确凿证据。

2010 年前后,PHP 在 Web 开发中一直处于王者的地位,尤其是 WordPress 等内容管理平台的流行,再加上“扎男”的 Facebook(PHP 开发的)的烘托,更加巩固了 PHP 在业界的地位。

我在 2013 年 底准备回洛阳的时候,还学习了三个月的 PHP。时隔多年,下面这本书还躺在我家的书架上积灰。

好了,来一发 PHP 版的 Hello World 吧:

<?php
echo "Hello World";
?>

10、Ruby

Ruby 最初是一种面向对象的脚本编程语言,但是随着时间的流逝,它逐渐发展成为一种解释性的高级通用编程语言。它的学习曲线相当平坦,非常有助于提高开发人员的生产力。

Ruby 的作者松本行弘曾说过一段非常经典的话:

“ 人们特别是电脑工程师们,常常从机器着想。他们认为:‘这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。’实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”

Ruby 正是基于这种理念产生的。网上有句话是这样说的,学习 Ruby on Rails 能让你看到 Web 框架顶端的景色。听说,GitHub 官网是通过 Ruby on Rails 开发的(不准确,不知道有没有同学可以确认下)。

JavaEye 的创始人范凯曾说:

在我们国内,Ruby 是个小众的编程语言,但在硅谷,Ruby 很火,被誉为云计算时代的 Web 编程语言。

当然了,之所以把 Ruby 放在最后一位,同学们一定懂我的意思。


最后,希望同学们能够从这 10 门编程语言中选择一门自己喜欢的,深入研究,无论是哪门语言,我相信,只要你精通了,就一定能够找到自己心仪的工作,如果你只是浅尝辄止,那就不好意思呵呵了。


我是沉默王二,一枚有颜值却假装靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,奥利给

注:如果文章有任何问题,欢迎毫不留情地指正。

如果你觉得文章对你有些帮助,欢迎微信搜索「沉默王二」第一时间阅读,回复关键字「小白」可以免费获取我肝了 4 万+字的 《Java 小白从入门到放肆》2.0 版;本文 GitHub github.com/itwanger 已收录,欢迎 star。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qing_gee/article/details/108122864

智能推荐

微光app电脑版_智米电暖器智能版1S体验:全面领跑AIoT、将智能生活进行到底-程序员宅基地

文章浏览阅读547次。【科技犬体验】2019年10月15日,智米正式推出了旗下电暖器新品——智米电暖器1S和智米电暖器智能版1S对于没有集中供暖的长江中下游地区居民而言,电暖器是不折不扣的"保命神器"。而在深秋的北方,昼夜温差较大,这种时候使用灵活、易于搬运的电暖器也成为更加明智的选择。在北方每年的冬季,室内温度就直接关系着大家在家的舒适度,而对于室内温度不达标的用户,购买电暖器就成为几乎唯一的选择。科技犬已经入手智米..._智米电暖器智能版app

《Hadoop与大数据挖掘》——2.6 TF-IDF算法原理及Hadoop MapReduce实现-程序员宅基地

文章浏览阅读312次。本节书摘来自华章计算机《Hadoop与大数据挖掘》一书中的第2章,第2.6节,作者 张良均 樊哲 位文超 刘名军 许国杰 周龙 焦正升,更多章节内容可以访问云栖社区“华章计算机”公众号查看。2.6 TF-IDF算法原理及Hadoop MapReduce实现2.6.1 TF-IDF算法原理原理:在一份给定的文件里,词频(Term Frequency,..._hadoop mapreduce如何实现实现tf-idf

Layui实现点击文字、缩略图查看图片功能_layui查看图片-程序员宅基地

文章浏览阅读4.3k次。刚完成一个客户需求,同一个页面上要有点击缩略图查看大图功能,也有点击图片名称查看原图的功能。点击缩略图查看大图的功能点击缩略图查看大图的功能实现用的是layui开发文档内的layer.photos-相册层。官方开发文档里photos支持传入json和直接读取页面图片两种方式。下面是官方开发文档的截图,官方开发文档链接:https://www.layui.com/doc/m..._layui查看图片

ueditor的配置和使用-程序员宅基地

文章浏览阅读89次。ueditor下载好之后直接复制到项目的WebContent目录下,并将ueditor\jsp\lib下的jar包复制或者剪切到项目的lib目录下。先看一下效果,如下:v1.文件的上传   首先在ueditor/jsp目录下找到config.json文件,就拿Image上传来说吧。  "imageUrlPrefix": "http:/..._ueditor json = new function("return " + result)();

20、NanoDet训练、测试 以及使用ncnn部署Jetson Nano 进行目标检测和串口数据转发-程序员宅基地

文章浏览阅读6.5k次,点赞7次,收藏59次。基本思想:最近想尝试一下nano 上部署nanodet,于是记录一下训练过程,手中有一份labelme标注的数据集,于是开始了一波操作~首先将图片和json数据集转成xml (https://blog.csdn.net/sxj731533730/article/details/90046780),然后将xml数据集转成voc;import sysimport osimport jsonimport xml.etree.ElementTree as ETfrom PIL import Im_nanodet

code::blocks + wxWidgets 2.8 在ubuntu 10.04下的安装-程序员宅基地

文章浏览阅读930次。code::blocks + wxWidgets 2.8 在ubuntu 10.04下的安装p { margin-bottom: 0.21cm; }1、首先安装必要组件代码:安装编译器 sudo apt-get install build-essential

随便推点

P5738 【深基7.例4】歌唱比赛-程序员宅基地

文章浏览阅读311次。题目描述n(n\le 100)n(n≤100)名同学参加歌唱比赛,并接受m(m\le 20)m(m≤20)名评委的评分,评分范围是 0 到 10 分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下m-2m−2个评分的平均数。请问得分最高的同学分数是多少?评分保留 2 位小数。输入格式无输出格式无输入输出样例输入 ..._【深基7.例4】歌唱比赛

Vue简明实用教程(04)——事件处理_vue html里面如何直接写事件函数-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏5次。在Vue中可非常便利地进行事件处理,例如:点击事件、鼠标悬停事件等。_vue html里面如何直接写事件函数

南京邮电大学离散数学实验一(求主析取和主合取范式)-程序员宅基地

文章浏览阅读4.5k次,点赞15次,收藏67次。南京邮电大学离散数学实验一(求主析取和主合取范式)_离散数学实验

{spring.cloud.client.ipAddress}_spring.cloud.client.ip-address-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏5次。1.在springcloud中服务的 Instance ID 默认值是:${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}},也就是:主机名:应用名:应用端口。如图12.可以自定义:eureka.instance...._spring.cloud.client.ip-address

单目标跟踪OTB、VOT数据集介绍_otb数据集官网-程序员宅基地

文章浏览阅读2.1w次,点赞6次,收藏63次。OTB分为:OTB50和OTB100官方下载链接为:OTB官方数据集网站http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html百度云链接:链接:https://pan.baidu.com/s/1Ck51d7OQ8w8BGcTL9UtopA提取码:jn0k复制这段内容后打开百度网盘手机App,操作更方便哦其中50和100,分别..._otb数据集官网

Xcode修改模拟器Simulator系统版本_xcode模拟器切换ios版本-程序员宅基地

文章浏览阅读5.1k次。从Xcode菜单栏里打开Xcode -&gt; Preferences -&gt; Components -&gt; Simulators,下载对应版本的模拟器。由于模拟器相关文件较大,下载时间较长,需要耐心等待,下载完成后,对应版本的模拟器前面的下载按钮就会变成下载完成的样式。点击Xcode菜单栏 Window -&gt; Devices,然后可以看到设备列表,然而在模拟器列表(..._xcode模拟器切换ios版本