python语言开发效率高吗_12种高效率热门编程语言,你会用几个?

98e27ae7f698fad01e76a0554948c97f纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。导读

编程语言不仅仅面向程序员。如果你是网络工程师、系统管理员、存储管理员或其他基础设施专业人员,知道一种(或两三种)编程语言,都能在工作中派上用场。软件定义基础设施正在迅速进入数据中心,为了管理这种基础设施,用你自己编写的脚本定义网络或软件定义存储软件,会对工作很大的帮助。

661d2f167de98c7c9a00d35038cc5f0d

此外,由于更多的企业采用开发运维的方法,许多公司力求加大使用自动化的力度。虽然现有的自动化工具可以为你处理其中一些工作,但是管理员能够自己编写脚本是个好主意。而实际上,一些雇主要求任何优秀的系统管理员或其他基础设施专业人员都要具备这种能力。

可是,你知道该学习哪几种编程语言吗?

本文就介绍了,专家们经常推荐基础设施专业人员或想成为这个群体的人学习的12种语言。很显然,你可能无法把这12种语言统统学会,但是至少掌握一种、最好是两、三种语言可以帮助你变得更高效、更吃香。

1.Python

无论你何时请教专家,可以肯定:Python会是他们最先提到的两三种语言之一。原因何在?

8a7f8cceca9a17520b010fc4906a4b23

首先,Python简单易学。实际上,如果你在大学接触编程课,Python可能是最先学到的一种语言。此外,它没有必要编译,这使得调试起来很快速、很容易。它是一种通用语言,所以可以将它用于几乎任何的用途,包括编写脚本,结合其他代码片段。Python还是几种流行的SDN控制器(包括POX和Ryu)使用的语言。

2.Java

00c65d9dbecebfdab54ea209574a8a5d

据Tiobe编程语言人气指数榜显示,Java是世界上最流行的编程语言,优势明显。在最新版的这份指数榜上,Java的排名优势明显,几乎比排名第2的语言C领先一倍。

为何Java如此流行?它几乎可以在任何地方运行,包括安卓和许多物联网设备。Java学起来比许多语言更容易(可是不如Python容易),又因为它历史悠久,网上有许多帮助和资源。由于废料收集和例外之类的功能,Java允许错误。此外,数量众多的编程工具支持Java,所以编写Java代码往往相当容易。

值得一提的是,IT工作公告栏上往往有许多岗位需要Java知识,所以如果你学习这种语言,不仅拥有一种有助于基础设施管理的技能,还能帮助你在以后找到另一份工作。

3.PowerShell

77d5429796d5399118441d64dead0289

如果你是经常与Windows环境打交道的基础设施专业人员,许多专家表示,应该将PowerShell列为应考虑学习的主要语言之一。PowerShell是微软自主开发的一种脚本语言和配置管理框架,可用于处理Windows服务器。它内置在微软的服务器产品中,使用它可以显示信息,处理用标准管理工具找不到的信息或干不了的事情。

今年早些时候,微软开放了PowerShell的源代码,将它提供给MacOS和Linux平台。这意味着,如果你使用PowerShell编写为Windows服务器自动处理任务的脚本,现在还可以将同一工具用于MacOS和Linux服务器。

4.Bash

6aec11d5ec38e6f2f467aef3d6e1e25f

Bash与Linux,好比PowerShell之于Windows。它是大多数Linux发行版的默认外壳脚本语言。正因为如此,它极其适用于在基于UNIX的系统上自动化处理系统管理任务。

实际上,一些专家表示,要是不知道Bash,Linux管理员其实无法做好工作。然而,其他人认为,由于你用Bash处理的一切任务用Python也可以处理,所以Bash不再必不可少。另一方面,Bash有时是编写自动化脚本的最快方法,学起来也很容易。

5.TCL

3dda4380799170230964299551d6de1e

TCL给网络专业人员带来了特别的好处,因为它可以在许多思科路由器及其他网络硬件上运行。它是一种开源脚本语言,非常适合自动化处理网络管理和安全任务。它还与C很好地集成起来。

除了嵌入式应用程序外,TCL还经常用来创建用户界面,尤其是针对Unix系统。它还可以在Windows和Linux中运行,但是现在的人气不像过去那么旺了。

6.C

785f4d0d78648f6a738aa1a90379b055

与Java一样,C也是一种通用编程语言;与Java一样,它也极其流行。好几年来,C在Tiobe人气指数榜上的排名实际上比Java还靠前,不过最近远远掉到了第2位。它自上世纪70年代以来就问世了,所以很容易找到与这种语言有关的帮助和资源。

许多计算机科学家表示,学习C可以教学生了解计算机程序的真正原理,还有一些人认为,它应该是计算机学学生学会的第一种语言。它学用和维护起来不如Python和Java等语言来得容易,但是让你可以直接控制系统。它为另外几种编程语言提供了基础,几款软件定义基础设施工具是用C编写的。

简而言之,如果你确实想深入了解编程的基本方面,应该考虑学习C。如果你只是寻求一种编写自动化脚本的简便方法,另外一种语言也许是更好的选择。

7.C++

8f5bd0744dccec89354b0e42cef06ec1

你从名称中也猜出来了,C++与C的关系非常紧密。它同样有着C的许多优缺点。

在Tiobe人气指数榜上,C++是人气排名第三的编程语言;由于C++是比较成熟的语言之一,它有大量的资源可供使用。C++程序运行起来很快,但是也与C一样,这种语言复杂,难以掌握。一些软件定义基础设施工具是用C++编写的,它可以教你编程方面的基本知识。它对你的IT职业生涯大有助益,但是专家们表示,如果你只需要迅速编写一些脚本,它恐怕不是你的第一选择。

8.JavaScript

4832586c667d4bdcc31e221c5287e2d2

虽然JavaScript主要以一种前端Web开发语言而出名,但同样适用于后端开发(通过Node.js)以及编写自动化脚本。它也是世界上最受欢迎的编程语言之一,在Tiobe人气指数榜上排名第6,在PYPL编程语言人气指数排行榜上排名第5。

此外,它似乎在变得更受欢迎,可以在任何IT工作布告栏上找到大量的JavaScript岗位。学用起很容易,不过要精通很难。

9.Perl

a20a60986230afad7d32aaa73746aa71

Perl经常与Python一起相提并论,它是脚本语言的最佳选择之一。许多比较旧的Linux或Unix系统运行Perl脚本,所以如果你是基础设施专业人员,要维护这种比较旧的系统,对这种语言有一番了解是个好主意。除了用于一些旧的网站外,Perl还经常用于网络和安全原型。

在最新的Tiobe人气指数榜上,Perl排名第9,所以它仍是一种大受欢迎的编程语言,但一些人认为,由于Python等语言的人气变得更旺,Perl在渐行渐远。

10.PHP

e1941fcaf78d01ba0f36c1aa65e8da89

PHP经常用于web开发,尤其是客户服务器端,这是另一种流行的通用脚本语言。它可在各大操作系统上运行,尤其适合与基于SQL的数据库进行交互,这是Web开发人员常常用它的原因之一。

PHP也很受欢迎,目前在Tiobe人气指数榜上排名第7,所以你在网上能找到关于它的大量信息。然而,许多web开发人员由PHP改用Ruby用于web开发,Python往往因用于自动化脚本而更受欢迎。不过,如果你的工作需要维护网站服务器,了解这种语言将大有帮助。

11.Ruby

762c2ceb34b8f8be07a328c69018d9a8

Ruby是有时被誉为“漂亮”、“自然”的少数编程语言之一。其开发者松本行弘(Yukihiro Matsumoto)想创建一种开发人员喜欢使用的语言,Ruby以简单易学而著称。目前,它在Tiobe人气指数榜上排名第13。

与PHP一样,Ruby也最常用于Web开发。它常常与Rails Web开发框架结合使用(太常结合使用了,以至于一些人误以为这门语言的名称是Ruby on Rails)。然而,它也可以用于其他脚本用途。对管理网站服务器的基础设施专业人员来说,Ruby是另一个不错的选择。

12.Frenetic

8e3bc3f5089b816c41ce75f536078e53

作为本文中一种最新的语言,Frenetic在2010年前后才问世。不像本文介绍的其余语言,它是专门为软件定义网络(SDN)设计的。它实际上是个语言家族,包括Frenetic-OCaml和Pyretic,前者由康乃尔大学的研究人员开发,后者由普林斯顿大学的研究人员开发。

如果你要与基于OpenFlow的SDN环境打交道,Frenetic可以帮助你控制网络中发生的情况。然而由于这种语言实在太新了,网上相关资源不是很多,你也找不到需要Frenetic的大量工作岗位。另一方面,由于软件定义基础设施已变得更普遍,掌握Frenetic方面的知识也许是网络工程师和管理员在其他求职者当中脱颖而出的一样本领。

57a1b8323ccbaf18db313859f557d031让您学习到的每一节课都有所收获《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。

☀刘遄老师QQ:5604241

☀学员助教QQ:5604674

☀ Linux技术交流A群(满):560843

☀Linux技术交流B群:340829

☀Linux技术交流C群:463590

☀官方站点:www.linuxprobe.com

☀ 电脑在线阅读效果更佳:

http://www.linuxprobe.com/chapter-00.html

36f4e2780a1e70135656745ba7b776b9

按住图片3秒,即可自动关注。点击左下角查看更多热门技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,可以使用Python语言编写一个物流系统。物流系统涉及许多方面,包括订单管理、运输路线规划、库存管理、运输费用计算等。Python是一广泛使用的编程语言,有许多库和框架可以用来实现物流系统。 下面是一个简单的示例,演示如何使用Python编写一个简单的物流系统: ```python class Order: def __init__(self, order_id, address, items): self.order_id = order_id self.address = address self.items = items class Inventory: def __init__(self): self.items = {} def add_item(self, item_id, quantity): if item_id in self.items: self.items[item_id] += quantity else: self.items[item_id] = quantity def remove_item(self, item_id, quantity): if item_id in self.items and self.items[item_id] >= quantity: self.items[item_id] -= quantity return True else: return False class RoutePlanner: def __init__(self): self.routes = {} def add_route(self, start, end, distance): if (start, end) in self.routes: self.routes[(start, end)] += distance else: self.routes[(start, end)] = distance def get_distance(self, start, end): return self.routes.get((start, end), None) class ShippingCostCalculator: def __init__(self, base_cost_per_km): self.base_cost_per_km = base_cost_per_km def calculate_cost(self, distance): return self.base_cost_per_km * distance class Shipping: def __init__(self, inventory, route_planner, cost_calculator): self.inventory = inventory self.route_planner = route_planner self.cost_calculator = cost_calculator def ship_order(self, order): for item_id, quantity in order.items.items(): if not self.inventory.remove_item(item_id, quantity): raise Exception("Item {0} is out of stock".format(item_id)) distance = self.route_planner.get_distance("Warehouse", order.address) if distance is None: raise Exception("No route found for address {0}".format(order.address)) cost = self.cost_calculator.calculate_cost(distance) print("Shipping order {0} to address {1} for {2}".format(order.order_id, order.address, cost)) ``` 在这个简单的示例中,我们定义了几个类来表示物流系统的不同方面。Order类表示一个订单,包括订单ID、送货地址和物品清单。Inventory类表示库存管理,包括添加和删除库存物品。RoutePlanner类表示路线规划,包括添加和获取路线距离。ShippingCostCalculator类表示运输费用计算,基于每公里的基本费用计算。Shipping类表示实际的运输过程,包括从库存中删除物品、计算运输距离和费用,以及打印订单的运输信息。 当然,这只是一个简单的示例,实际的物流系统可能需要更多的类和功能。但是,这个示例可以作为一个

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值