百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

慕课网|不同编程语言的区别,结尾亮了

liuian 2024-11-28 00:47 46 浏览

作者| 慕课网精英讲师 咚咚呛

Go、Java、C/C++、Python等编程语言,针对不同领域里不同的编程语言到底有什么差别呢!

慕课网主页对行业划分

对于不同的岗位,在写这篇文章之前专门去看了慕课网的首页,上面都做了非常详细的划分,这个分类对当前行业的划分也是非常准确的,有【前端开发】、【后端开发】、【移动开发】、【计算机基础】、【前沿技术】、【测试运维】、【更多方向(产品设计、UI设计、游戏)】等。

Java、Python、Go、C/C++这几门语言,主要的应用也都在后端开发这里,虽然后端开发是一个比较明确的方向,但是在后端开发里,也依然可以有很多细分的领域,不同领域常使用的语言也依然有很大的差别。

Web后台

最常见的,也是大学时期常做的后端开发的工作,大部分都是Web开发,也即是面向数据库增删改查,编写接口的业务逻辑,向上承接前端(Web、安卓、iOS、H5等)的请求,完成数据组装并返回,兼顾性能的考虑,加入缓存层、分库分表等设计。

在Web后台,Java、Python都是常使用的语言,其中尤以Java见长,这与Java的生态相关,Java以及Web生态的Spring Boot、MyBatis等,已经成为中小企业Web开发必不可少的技术栈,在企业招聘岗位当中,对Java这一类的技术要求也是最多的。

其次是Python,虽然Python有丰富的Web框架支持:Flask、Tornado、Django等等,但做小网站还行,用Python做大型项目的不多,早年Python Web技术的经典案件——知乎,因为性能,一些核心的服务,也已经改成Go。Python的Web多见于一些访问量不大的网站,比如一些运营平台、活动平台等。

微服务

微服务是近几年火起来的概念,随着云技术的不断成熟,现在都提倡把大服务拆成微服务,通过服务注册、服务发现来完成调用链关系,兼顾云的动态伸缩来实现无状态服务的扩容缩容,也已经是比较成熟的技术了。

在微服务里面,Java也是用得比较多的,Spring Cloud已经为微服务环境提供了非常多的功能齐全的工具,上手便捷,开箱即用;但由于JVM进程本身的消耗,在一些使用微服务架构里面的关键模块,为了减少资源的使用和调度的成本,依然会使用C/C++来实现,通过通用协议对外提供服务。

微服务在这里提及,和Web后台这些不完全是并列的关系,微服务是架构,本身是不含逻辑的,Web后台也可以通过微服务架构来实现,因而在这需要强调下,这里主要是针对微服务生态提到Java Spring Cloud,Java提供了比较完备的微服务生态。

中间件

中间件是一个比较大的概念,在这里把与业务无关的服务统一视为中间件服务,常见的比如消息中间件。

中间件的开发工作在大厂也都被认为是后台开发;对于中间件,Java也是最常见的语言,Go语言也比较常见;其实中间件的存在主要依托于生态环境,一个开发的生态环境只有足够的复杂,也才需要中间件的存在,所以这也解释了为什么Java、Go才是最常见的语言。

存储服务

存储服务,如数据库、文件系统、kv存储等,主要是使用C/C++。

因为存储服务和操作系统、硬件设备是强相关的,所以这项工作也只有C/C++容易胜任;在存储服务的实现过程,大量的系统调用、系统参数调优,在实际开发的时候还需要看相关的内核源码,所以天然C/C++是最适合的;当然了,也有使用Go语言的也有一些,这主要是在开发效率和性能之间做的取舍。

云基础设施

云基础设施到今天基本是Go的天下了,依托kubernetes,今天非常多的云基础设施使用的都是Go语言,在资源调度、资源隔离等方面,Go都有非常成熟的使用。要说资源调度,本来Go语言就没多少年,现在的云基础设施为什么会成为Go的天下?

在早年Google Big Table论文大行其道的时代,Hadoop、Yarn是进行大数据平台资源管理调度的核心,不过那个时候也只有大数据平台平台需要这么多的资源,那时候的容器都是交给yarn托管的;后来docker技术出现、成熟,再到容器编排、kubernetes,Go语言也成功夺位,成为云基础设施里面最常使用的语言。所以,今天我们看到的腾讯云、阿里云这么丰富封装对外的产品,在它们的背后,都一定有Go语言与其相关的服务在支撑着。

工具平台

工具平台多指测试、运维等的平台,在实际场景中也有着非常核心的作用,对于这种工具平台,不要求很高的性能,但是一般会有很多临时性的需求,整体的规划也更模糊一些,对于这种场景,Python这种短平快的语言就很排得上用场,所以Python多见于这些工具平台的实现里面。

最后,关于编程语言,除了语言本身的生态,团队的技术栈也是影响你选择语言的重要原因,在有选择的情况下,还是需要根据大的生态做出更好的选择,对的语言做对的事情,事半功倍。

相关推荐

m2固态硬盘安装系统教程(m2固态如何装系统)

加装m.2固态硬盘后,重装系统的操作步骤如下:1、下载U盘启动盘制作工具,下载一个GHOST版最新的WIN7,准备一个足够大的U盘(16G足够了),用U盘启动盘制作工具将其制作成启动U盘;2、插入新电...

运行chkdsk工具(运行chkdsk工具怎么解决)

1、win+R键打开运行,输入cmd。2、输入并回车执行chkdsk/?命令,可以了解chkdsk命令的使用方法。3、比如一些常用的命令,输入并按回车执行chkdskm:/f命令,可以检...

办公软件2007官方下载免费完整版

office字体都变成了英文是因为设置了英文模式。具体的解决步骤如下:我们需要准备的材料分别是:电脑、Word文档。1、首先我们打开Word文档,点击打开左上角的文件中的“选项”。2、然后我们在弹出来...

手机u盘有必要买吗(手机u盘需要什么软件)

网上卖的手机U盘大都是各地的实体数码店进行发货和销售的。他们采用的U盘质量和工厂生产的质量是一致的。并没有什么区别对待。而且由于网上销售费用比较低,所以他在售卖比实体数码店售卖的价格更低,所以这种手机...

电脑系统怎么下载到u盘中(电脑系统win7纯净版下载官方免费版最新版)

下载电脑系统,可以到电脑系统资源下载网站,找到下载页面的下载点,右击下载点,选择迅雷下载,可以把系统文件下载到硬盘里,然后插上U盘,将下载好的系统文件复制到U盘。另一种方法是,将迅雷软件的默认下载路径...

小米主题安装器(红米主题商店app下载安装)

很抱歉,一加九手机无法直接安装小米主题。因为一加九和小米手机使用的是不同的操作系统和主题引擎,它们之间不兼容。一加九使用的是基于Android的OxygenOS操作系统,而小米手机使用的是基于Andr...

hp电脑恢复出厂系统(hp电脑恢复出厂系统操作)

  在开始菜单的【设置】中找到【重置此电脑】的选项即可开始重置恢复到出厂设置;如果您需要整个硬盘格式化,可以选择其中的【删除所有文件】的选项,等待系统设置完成之后会重新进入新系统设置。以下是详细介绍:...

ghost做c盘镜像的步骤(ghost制作镜像步骤)

共9个步骤:1、一般GHOST工具是在PE启动后使用,这个就是PE中GHOST所在路径,找到这个软件并运行。2、界面是英文版本的,因为软件的易操作易学习性,所以这个软件基本没有中文版版本,然后在弹出的...

win10家庭版怎么激活系统(win10家庭版激活步骤)

win10家庭中文版怎么激活1.在win10系统桌面上,点击左下角的开始按钮选择设置选项进入。2.进入设置列表菜单,点击更新和安全选项进入。3.点击激活选项继续下一步操作。4.在弹出输入产品密钥的对话...

office2010和2016区别(office2010和2016差别大不大)

一、指代不同1、word2010:Word2010是Microsoft公司开发的Office2010办公组件之一,主要用于文字处理工作。2、word2016::Word2016是Microsoft公司...

在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
win10官网下载教程(windows官网下载win10)

步骤1首先打开360安全浏览器步骤2在搜索框中输入“微软官网”,点击“搜索”按钮步骤3点击进入微软官网步骤4下滑界面,在下方可以看到可以下载的系统,此处以windows10企业版下载为例,点击这个版本...

恢复帝app下载(恢复帝app官方)

微信删除好友一般是不能恢复的,有时候在网上会看到一些关于微信删除好友可以帮助恢复的黑客,大多数都是骗人的,因此,再着急恢复好友也需要理智、谨防上当受骗。1.电源:首先确认摄像头通电是否正常状态,指示灯...

系统之家下载安装(系统之家安装版)

是靠谱的。系统之家(HomeSystem)广义上包含了电脑系统安装和手机系统安装,在之前手机软件还不是很普及的时候一般特指电脑系统安装,可如今手机用户大量的出现,安卓系统可以说超过Windows系统...

win10正版系统官网原版纯净版老电脑

一,纯净版Win10系统是根据正版系统制作的,没有夹杂其它软件和驱动,和正版系统一样安装完后需要打各种驱动和根据安装常用软件。二,本质上纯净版Win10也是盗版系统,这是和正版系统最大的区别,而且可能...