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

智能推荐

go语言fallthrough的用法心得_fall throughc语言-程序员宅基地

文章浏览阅读1.8k次。fallthrough:Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。 示例程序1: switch { case false: fmt.Println("The integer was ") fal_fall throughc语言

用Python实现RSA签名和验签_74p8.c om-程序员宅基地

文章浏览阅读1.1k次。RSA是一种非对称加密算法,简单理解就是两个密钥:一个公钥,一个私钥。 同时它也可以用来签名和验签,正好与加密相反。加密:公钥加密,私钥解密;签名:私钥签名,公钥验签。有意思的是有些人分不清公钥私钥的用处,这里提供一个思路: 用作加密时,密文泄露是无所谓的(相对而言),重要的是用于解密的密钥必须安全,所以用不公开的私钥来解密,用公钥来加密; 用作签名时,目的是防止别人伪造我的身份发信息,所以用私钥..._74p8.c om

如何判断自己是否适合学编程?Java零基础如何入门_怎么判断自己有没有干java开发的能力?-程序员宅基地

文章浏览阅读1.5k次。行业人人都想转IT,但你该如何判断自己是否适合学习编程呢?可以先从以下的几点衡量一下,看自己是否适合学习编程!1、有耐心如果你经常半途而废、三分钟热度、贪玩、脾气急躁,编程可能一点也不适合你。毕竟程序员经常一个bug改一天,没点耐心真坐不住!2、兴趣和毅力兴趣能带你入门,毅力能让你在长途跋涉中坚持下来。冰冻三尺非一日之寒,大家不要只看到技术大牛在解决问题时的轻松潇洒、深不可测,而是要知道他..._怎么判断自己有没有干java开发的能力?

SPGAN:Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity ReID阅读笔记-程序员宅基地

文章浏览阅读3.6k次。Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification作者:Weijian Deng, Liang Zheng 2018 CVPR和ZL团队另一篇作品CamStyle_image-image domain adaptation with preserved self-similarity and domain-diss

Vue获取浏览器唯一标识_vue获取设备唯一标识-程序员宅基地

文章浏览阅读5.3k次。登陆时候可能需要向后台传输一个唯一标识符具体实现思路如下:1、引入js2、写入3-最终打印出来结果,发送给后台_vue获取设备唯一标识

ARM开发环境下载地址大全_arm gcc 下载-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏10次。arm gcc工具链下载简介_arm gcc 下载

随便推点

计算机丢失MSVCP140.dll的解决方法分享_ida pro 计算机中丢失msvcp140.dll-程序员宅基地

文章浏览阅读132次。总之,计算机丢失MSVCP140.dll是一个比较常见的问题,但是通过以上方法,我们通常可以比较容易地解决这个问题。在解决问题的过程中,我们不仅可以提高自己的电脑技能,还可以更好地了解自己的电脑系统,从而提高使用效率。例如,如果你想要将它复制到一个名为“DLLs”的新文件夹中,只需右键单击MSVCP140.dll文件,然后选择“剪切”,最后右键单击“DLLs”文件夹,选择“粘贴”。3. 误删:在使用电脑的过程中,我们可能会不小心删除了一些重要的文件,包括MSVCP140.dll。卸载或更新引起冲突的软件。_ida pro 计算机中丢失msvcp140.dll

SpringBoot简单使用lombok_spring boot使用lambo-程序员宅基地

文章浏览阅读855次。前言: lombok有啥用?一句话说明白就是以前javaBean中的一些get,set,toString,构造方法等,在我们添加lombok后,只需要一个注解就能搞定,目的就是简化开发流程。环境: IDEA版本2017.3.1 x64, JDK1.8, SpringBoot2.1.1如何使用?一、导入lombok的jar包maven中导入:&amp;lt;!-- lombok工具简化get ..._spring boot使用lambo

【渝粤题库】陕西师范大学202521中国古代文学(三) 作业(高起专)_登金陵雨花台望大江艺术特色-程序员宅基地

文章浏览阅读4.9k次。《中国古代文学三》作业第一章 元曲的形成和兴盛一、填空题:1、我国的戏剧,其起源、形成,经历了漫长的时期。从先秦( )、汉魏( )、隋唐( )发展到宋代院本,表演要素日臻完善。2、元代创作的剧本,数量颇多。据统计,现存剧本名目,杂剧有( )多种,南戏有( )种。3、元代戏曲包含( )和( )两种主要形式。4、元代可分为南北两大戏剧圈,前期北方的活动中心在(_登金陵雨花台望大江艺术特色

不堪回首的青春回忆,用群晖NAS网络存储记住吧_群晖可以备份qq聊天记录吗-程序员宅基地

文章浏览阅读786次。青春是热血、朝气、尴尬等等名词的汇聚,对于90后来说非主流、大头贴等一堆不堪回首的记忆充满了我们的记忆。往往这些记忆都保存在了放着DJ等非主流音乐的空间中,永远封锁只对自己开放。随着QQ也开通了账号注销功能,保存在QQ空间的数据也不是永远存在了。虽然这是一段我们不堪回首的青春记忆,虽然现在最年轻的00后都已经19岁了,青春的世界不再属于90后了。但是回忆还是要存储下来的,可是值得90后回忆的不仅..._群晖可以备份qq聊天记录吗

private和public_class public和private-程序员宅基地

文章浏览阅读2.7k次。一、结构体/类的定义和实现分离,代码可读性更强(非必须)//xxx.h头文件struct Test{ int x; int y; int z; void Init(int x,int y,int z); void Function1(); void Function2(); void Function3();}//xxx.cpp#include<stdio.h>#include"structure.h"void Test::Init(int x, int y, _class public和private

php 上传图片 缩略图,PHP 图片上传类 缩略图-程序员宅基地

文章浏览阅读70次。/*** 上传图片*/class imgUpload{static protected $a;protected $formName; //表单名称protected $directory; //文件上传至目录protected $maxSize; //最大文件上传大小protected $canUpload; //是否可以上..._php上传图片 缩略图

推荐文章

热门文章

相关标签