2020 年最厉害的 10 门编程语言

作者 | 沉默王二

来源 | 沉默王二

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

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

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

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

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

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

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

我随手翻了翻这边书,发现书签已经夹在第 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 门编程语言。

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");}
}

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";
}

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");
}


Python

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

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

来一发 Python 版的 Hello World 吧:

print("Hello World")


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>

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");}}
}


Swift

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

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

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

来一发 Swift 版的 Hello World 吧:

print("Hello World")


Go

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

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

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

来一发 Go 版的 Hello World 吧:

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

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";
?>

Ruby

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

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

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

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

JavaEye 的创始人范凯曾说:

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

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

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

推荐阅读

  • 学会这10大高性能开发技术,轻松躲过裁员名单!

  • 为什么说下一个十年的主战场在Serverless?

  • 什么?一个核同时执行两个线程?

  • 假如有一门叫做 Ctrump 的编程语言...

  • Get了!用Python制作数据预测集成工具 | 附代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MaxCompute客户端在windows命令行下查询中文乱码怎么办?

MaxCompute客户端工具是阿里云大数据计算服务MaxCompue产品官方客户端工具&#xff0c;通过客户端工具可以连接MaxCompute项目&#xff0c;完成包括数据管理、数据上下传、作业执行、用户及授权管理等各项操作。 但有用户会碰到在Windows下的命令行中执行odpscmd后&#xff0c;…

SLS多云日志采集、处理及分析

场景描述 本文根据用户业务场景不同分别采用Logtail和Log producer写入阿里云日志服务&#xff0c;针对未使用其他日志采集服务的用户&#xff0c;推荐在第三方云平台或线下IDC服务器安装logtail采集并使用DCDN安全传输&#xff1b;针对已使用其他日志采集工具并且已有日志服务…

10分钟搭建完成人脸通行系统 百度『乘风』人脸智能化平台了解一下

目前人脸技术已在企业办公、智慧社区、金融保险等多领域多场景中落地应用&#xff0c;发展潜力巨大。8月21日&#xff0c;百度大脑开放日“乘风新基建&#xff0c;加速产业智能化升级”专场活动在乌镇召开。会上&#xff0c;基于百度大脑领先的人脸识别技术&#xff0c;百度智能…

聚焦数字化智慧安防的新型社区

云栖号案例库&#xff1a;【点击查看更多上云案例】 不知道怎么上云&#xff1f;看云栖号案例库&#xff0c;了解不同行业不同发展阶段的上云方案&#xff0c;助力你上云决策&#xff01; 引言 现如今&#xff0c;智慧城市建设已成为全球城市发展的必然趋势&#xff0c;全球仅…

Nexus 3.31.1-01搭建 maven 私服 windows

文章目录1. Nexus 3 下载2. 解压后目录3. 前台启动4. 浏览器访问5. 登录1. Nexus 3 下载 nexus3下载地址 2. 解压后目录 3. 前台启动 进行命令窗口&#xff0c;执行以下命令 nexus.exe /run等待出现这个信息 4. 浏览器访问 http://localhost:8081/ 点右上角登录 5. 登…

中邮智递通过数加和datav将系统和服务迁移到大数据平台

云栖号案例库&#xff1a;【点击查看更多上云案例】 不知道怎么上云&#xff1f;看云栖号案例库&#xff0c;了解不同行业不同发展阶段的上云方案&#xff0c;助力你上云决策&#xff01; 概述 中邮智递数据平台发展到现在经历了四个阶段: (1) 直接在业务生产系统开发生成报表…

百度大脑“乘风”新基建,“破浪”产业智能化落地

人脸识别技术在AI时代不仅可以带来便利&#xff0c;同时也提高了效率。8月21日&#xff0c;百度大脑开放日在乌镇举办“乘风新基建&#xff0c;加速产业智能化升级”专场&#xff0c;桐乡市经济和信息化局副局长陈再飞、乌镇镇科协秘书长钱永琪、桐乡市工业互联网企业联合会会长…

美柚上云 致力成为最懂女人的互联网企业

云栖号案例库&#xff1a;【点击查看更多上云案例】 不知道怎么上云&#xff1f;看云栖号案例库&#xff0c;了解不同行业不同发展阶段的上云方案&#xff0c;助力你上云决策&#xff01; 案例背景 美柚以让女人更美更健康为己任&#xff0c;致力成为最懂女人的互联网企业;美柚…

MaxCompute中如何使用OSS外部表读取JSON数据?

一、打开OSS&#xff0c;上传json文件 json文件内容展示&#xff1a; {"id":5644228109524316032,"sourceType":1} {"id":-736866360508848202,"sourceType":3} 二、登录DataWorks&#xff0c;建立外部表 建表语句&#xff1a; CRE…

阿里工程师用 8 张图告诉你如何存储、管理泛内容数据

作者| 阿里文娱高级开发工程师 至德责编 | 王晓曼头图 | CSDN 下载自东方 IC用户在优酷或者其它互联网App上看到的文字、图片、视频等&#xff0c;都可以被称为内容&#xff0c;那么这些内容是如何被生产、管理和组织的&#xff1f;本文将简单介绍阿里文娱是如何利用网状关系组…

nexus3 作为maven 私服配置国内加速以及企业管理内部jar IDEA 实战

文章目录一、nexus3 配置1. 新建仓库概述2. 阿里云代理仓库3. 自己的仓库4. 自己的仓库组二、maven配置2.1. 私服配置2.2. 替换后的配置三、IntelliJ IDEA3.1. 创建项目3.2. 指定配置3.3. 下载依赖四、nexus3 监控4.1. 查看依赖版本4.2. 版本对比4.3. aliyun 仓库地址一、nexus…

大数据上云第一课:MaxCompute授权和外表操作躲坑指南

一、子账号创建、AK信息绑定 如果您是第一次使用子账号登录数加平台和使用DataWorks&#xff0c;需要确认以下信息&#xff1a; • 该子账号所属主账号的企业别名。 • 该子账号的用户名和密码。 • 该子账号的AccessKey ID和AccessKey Secret。 • 确认主账号已经允许子账号启…

程序员的年龄越大编程能力越弱???原来我们都理解错了

大多数人都说程序员是低调多金的代表&#xff0c;但是一旦年龄突破30岁&#xff0c;就容易陷入各种被嫌弃中&#xff0c;无法逃脱三十五岁定律。这让许多已到中年的程序员感觉忽然头上悬了几把剑。一位74岁的数据科学家Gene DAngelo则恰恰相反。他曾在社区提出话题&#xff1a;…

唱吧基于 MaxCompute 弥补自建体系的不足

本文作者&#xff1a;马星显 唱吧大数据负责人 使用 MaxCompute之前&#xff0c;唱吧使用自建体系来存储处理各端收集来的日志数据&#xff0c;包括请求访问记录、埋点数据、服务器业务数据等。初期这套基于开源组件的体系有力支撑了数据统计、业务报表、风控等业务需求。但随…

1.倒排索引 2.逻辑斯提回归算法

1.倒排索引 https://help.aliyun.com/zh/open-search/retrieval-engine-edition/introduction-to-inverted-indexes 倒排索引&#xff08;Inverted Index&#xff09;是一种数据结构&#xff0c;用于快速查找包含某个特定词或词语的文档。它主要用于全文搜索引擎等应用&#…

塑云科技基于 KafKa+OTS+MaxCompute 完成物联网系统技术重构

塑云科技&#xff1a;性能突破&#xff0c;基于KafKaOTSMaxCompute 完成了一次物联网系统技术重构 背景&#xff1a;创业团队&#xff0c;专注于氢能燃料电池生态链的运营支撑&#xff0c;当前主要的业务组成为新能源车整车实时运营监控分析&#xff0c;加氢站实时运营监控分析…

什么是Docker?看这一篇文章就够了

作者 | 码农的荒岛求生来源 | 程序员小灰&#xff08;ID: chengxuyuanxiaohui&#xff09;程序员&#xff0c;应该怎样理解docker&#xff1f;容器技术的起源假设你们公司正在秘密研发下一个“今日头条”APP&#xff0c;我们姑且称为明日头条&#xff0c;程序员自己从头到尾搭建…

基于MaxCompute 衣二三帮助客户找到合适自己的衣服

摘要&#xff1a;本文由衣二三CTO程异丁为大家讲解了如何基于MaxCompute构建智能化运营工具。 衣二三作为亚洲最大的共享时装平台&#xff0c;MaxCompute是如何帮助它解决数据提取速度慢、数据口径差异等问题呢&#xff1f;程异丁通过衣二三数据体系架构&#xff0c;从用户运营…

Nexus 3.31.1 maven 私服 搭建篇 linux

文章目录1. Nexus 3 下载2. 解压3. 目录调整4. 重命名5. 创建用户6. 调整家目录7. 指定启动用户8. 环境变量配置9. 刷新环境变量10. 修改工作目录11. 指定jdk12. 修改权限13. nexus启动14. 状态验证15. 浏览器验证16. 登录17. 初始化设置软件版本JDK1.8.0_202Nexus3.31.1Disk s…

Typora简介

Typora简介 一、Typora是什么&#xff1f; ​ Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本&#xff0c;并且由于仍在测试中&#xff0c;是完全免费的。 ​ Typora 首先是一个 Markdown 文本编辑器&#xff0c;它支持且仅支…