作家
登录

帮你提升Python的27种编程语言

作者: 来源: 2017-08-08 14:43:58 阅读 我要评论

Julia 是另一个相对较新的说话, 它的重要特点是支撑面向数组编程和基于类型的函数重载.

进修一种如许的说话有助于深刻懂得 Python 科学计算对象包的威力,同时,进修如许的说话有助于研究若何应用 OpenCL 和 Nvidia 的 CUDA 等类似的技巧实现硬件级并发履行,也有助于研究若何应用 Apache Spark 和 Blaze 等数据处理框架实现分布式数据处理。

统计数据分析说话: R

因为有越来越多的大年夜数据集须要处理。是以须要一种免费的能处理如许的数据集的分析对象,编程说话 R 就是一种如许的对象,它特别重视统计数据分析和可视化。

进修 R 说话有助于深刻懂得 Python 科学计算对象包的统计功能,特别是个中的数据分析库 pandas 和统计可视化库 seaborn 。

计算管道建模说话:Haskell, Scala, Clojure, F#

面向对象数据建模和面向数组数据建模重要用于对数据进行静态建模,有两种建模方法,一种是把数据保存在对象的各个属性中,另一种是把构造化的数据保存为数组。

比拟之下,函数式编程说话更强调以计算流的情势对数据进行动态建模。只要学一下函数式编程基本,就会明显进步应用数据转换操尴尬刁难数据建模的才能,这对于应用其他范式的编程说话(比如面向过程、面向对象、面向数组的编程说话)开辟应用法度榜样也是有赞助的。

Haskell 是一个函数式编程说话,对 Python 的设计产生过重大年夜的影响, 最明显的就是 Python 2.0 惹人的列表解析。

Scala 毫无疑问是基于JVM的函数式编程说话,与Java, Python和R一样,是Apache Spark数据分析平台的四门重要编程说话之一。在设计上支撑函数式编程方法的同时,Scala的语法、数据模型和履行模型在设计上尽量避免为原有的Java法度榜样员带了太大年夜的┞废碍(大年夜这个角度上看,Scala更恰当的分类应当是有着强函数式说话支撑的面向对象的编程说话)。

Clojure是另一门基于JVM的函数式编程说话,被看作是Lisp的一个变种。它在我们的清单中具有一席之地,是因为它为Python的函数式编程对象箱toolz的实现带来灵感。

我本身对F# 并不熟悉,不过因为它是 .NET CLR 推荐的说话,所以照样值得存眷的。

进修这些编程说话,有助于懂得 Python 自身的计算管道建模对象,包含容器推导表达式、生成器、生成器表达式、functools 和 itertools 标准库模块,和第三方函数式 Python 对象如 toolz。

事宜驱动编程说话:JavaScript, Go, Erlang, Elixir

计算管道是处理数据转换和分析问题的一种很好的办法,不过很多问题须要法度榜样以持久的方法运行,等待事宜产生,然后处理这些事宜。对这类办事,平日可以并发的处理多个事宜,来实现同时为多个用户(或者至少多个行动)供给办事。

JavaScript 最初是为浏览器开辟的事宜处理编程说话,可以让 web 开辟人员处理客户端本地的用户行动(例如鼠标移动和按键)和事宜(例如页面衬着停止)。所有现代的浏览器都支撑 JavaScript,与 HTML5 的 DOM 一路,已经成为用户界面的外不雅和行动事实上的标准。

Go 是Google设计出来的,设计这个说话的目标是为了创建高度可扩大的收集办事,Go说话异常合适开辟敕令行法度榜样。大年夜设计编程说话的角度看,最惹人注目标是Go说话在它的核芥蒂发模型中应用了“次序通信过程(Communicating Sequential Processes)”章一ㄅ念。

Erlang 是爱立信设计出来的,设计这个说话的目标是为了制造高度靠得住的德律风交换机以及类似的设备,有名的开源框架RabbitMQ的消息办事器就是用Erlang实现的。Erlang应用Actor模型实现了核芥蒂发原语,不许可不合线程直接共享数据,线程间的通信只能靠传递消息。尽管我本身大年夜来没有应用过Erlang说话, 但我的第一份工作涉及到了一个基于Actor模型开辟的并发框架,它是一个前爱立信工程师用C++开辟的,我本身也基于TSK(义务)和MBX(邮箱)原语开辟过如许的框架,是在德州仪器的轻量级DSP/BIOS运行时(如今叫TI-TROS)中实现的。

Elixir 可以或许涌如今这个名单中的来由是,固然它运行在Erlang虚拟机中,与编程说话Erlang具有雷同的并发语义,但它也包含了一系列额外的说话级特点,供给了更周全的开辟情况,更轻易吸引大年夜其他编程说话(比如Python、Java或Ruby)转过来的开辟者。

固然借鉴其他编程说话社区的经验是一件功德,但用基于恐怖的办法来推动行动有很大年夜问题,社区成员为了吸引代码供献者的留意,轻易把其他社区的成员视为竞争敌手,而不是作为潜在的盟友合营迎接挑衅,推动软件开起身术的进步。还会导致社区排斥那些爱好其他编程说话的人,把他们当做仇敌。

进修一种如许的说话有助于深刻懂得Python本身是若何支撑场发和并行的,包含原生协程、基于生成器的协程、concurrent.futures和asyncio标准库模块、第三方收集办事开辟框架(比如Twisted和Tornado)、Django中新惹人的channels概念和GUI 框架中的事宜处理轮回。

动静混淆类型: TypeScript

对于那些接触过的静态类型编程说话主如果 C, C++ 和 Java 的开辟者来说,这的确就是一个及其恐怖的设法主意。

Microsoft 的 TypeScript 为 JavaScript 应用供给动静混淆类型支撑,让你对这个概念会有好一些的看法。TypeScript 代码会编译成 JavaScript 代码(编译后不包含任何运行时类型检查),主流的JavaScript 库的 TypeScript 注释(annotations)在DefinitelyTyped代码库里可以找到。

正如 Chris Neugebauer 在澳大年夜利亚 PyCon 大年夜会的申报上指出的那样,这很像是 Python 邮攀类型提示库 typeshed 以及类似 mypy 那样的类型推导和分析对象之间的关系。

本质上,TypeScript 和 Python 的类型提示都是实现特定测试法度榜样的方法,不管是自力文件(惯例的测试法度榜样),照样内嵌在主代率攀里(类似静态编程说话的类型声明)。不管哪种情况,你都可以运行零丁的敕令检查残剩的代码是否相符已知的类型束缚(对于 JavaScript 和 TypeScript,在编译阶段会隐式的去完成,对于 Python 的类型提示,则是可选的静态分析义务)。


  推荐阅读

  Flex布局新旧混合写法详解(兼容微信)

flex是个异常好用的属性,如不雅说有什么可以完全代替 float 和 position ,那么肯定长短它莫属了(固然如今还有很多不支撑 flex 的浏览器)。然而国内很多浏览器对 Flex 的支撑都不是很好>>>详细阅读


本文标题:帮你提升Python的27种编程语言

地址:http://www.17bianji.com/lsqh/36592.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)