- 1
- 0
- 约2.91千字
- 约 8页
- 2018-11-11 发布于江苏
- 举报
Python转Crystal语言或许是个不错的选择
Python转Crystal语言或许是个不错的选择
我自 2011 年起,就是 Python 的用户与爱好者了。当时,一个好友建议我用 Python 代替 Perl 试试 ,一个崭新的世界向我开放了。在这个世界里可读性比什么都重要,还有一种简明的规则。
即使用了 7 年多的 Python ,我对它的热情还是一如往昔。但是,岁月流逝之下任何人都该去追寻新的机遇与冒险。是时候尝试下别的语言了!Python 的问题
首先,列举我在 Python 中遇到的一些问题:
打包:这方面是大多数解释型语言都会遇到的问题。打包成一个包括整个 virtualenv 的可安装程序, FPM 之类的工具可以让这个过程非常容易,但是它仍然缺少一个单一二进制程序的优雅。
静态类型:就像一些人从开始使用 C++ 到完全喜爱它,我确实怀念我在 C++ 中用过的类型安全。这与编译时检查密切相关,它确实帮助我们保证我们的代码的质量,甚至在执行之前。
速度:大多数解释型语言的又一个问题。Python 对于许多任务都足够快,但是仍然远远落后于编译型语言。
冗长:我们只有在 Python 3.6 才有 f-strings ,它确实是一个解脱。然而,我们在类和结构中仍然有非常冗长的 self 语法,到处都是 self.var = var ,这可能会在 Python 3.7 的数据类 中部分解决。
隐式私有类成员:我说的私有就是那该死的私有!作为一个前 C++ 程序员,我发现 Python 的私有属性和方法的下划线前缀格式有一点…变态?:‘)
进一步来说,我不确定我真的喜爱 Python 在几个领域的发展方向,尤其是在异步和类型方面。
协程:尽管大受欢迎,Python 中新的异步方法让人感觉非常不友好而且很难掌握。现有代码在非阻塞之前也需要大量的工作。随着越来越多的库开放使用,以及随着我了解且会使用新的库越来越多,我觉得这种情况会随之改善。
类型注解(和 mypy ):说实话,类型注解很受欢迎…如果他们真的在 CPython 做了什么的话。如果没有主 CPython 发布版本主流支持的情况下,使用类型注解作为各式结构体(如数据类)这种想法看起来毫无意义。与此同时,mypy 目前还不是主流,但长远来看,作为一个 Python 类型校验展示了巨大的潜能,特别是在将 --strict 标识开启的时候。
我应该说明我仍然是 Python 的忠实粉丝和支持者,而且认为它仍然是当前最好的解释型语言之一;特别是当你考虑到它惊人的生态系统和成熟度。我在寻找什么
我的出发点是 Python 和 Ruby 。 我经常在需要的地方使用 Ruby ,也非常喜欢它。 Ruby 解决了 Python 所具有的几个问题(适当的私有/受保护的属性,较少冗长的语法等等),但仍然存在性能问题,并且缺少静态类型。
因此,我开始寻找具有以下特点的新语言:
与 Python 和 Ruby 类似的语法
单二进制分发
编译,静态类型和快速
面向对象(哦类,我多么爱你。。。。。。)
候选项
下列语言被排除在外
GO:没有关键字参数、没有异常、没有类、没有泛型以及命名风格的可怕,这些都导致我拒绝了Go(尽管也许这种简单性吸引了很多人)。我实际上花了相当一段时间在 Go 的学习和编码上,我觉得这是最令人沮丧的。在 C 之后,像 C++ 这样的语言已经取得了很多进步,并为我们提供了更大的灵活性,但感觉 Go 似乎让我们回到了 C 语言的时代。
Elixir:一种引人入胜的函数式语言,但缺少面向对象的功能,以及单个二进制分发不是此语言的目标的事实对我的用例来说有点失望。然而,我们团队中的许多人将 Elixir 作为他们所有新项目的主要语言,并且发现它在使用中非常出色。Elixir 拥有丰富且可靠的传统,如果你想要一种函数式语言,你一定要考虑它。
Rust:这是个有趣的语言,我花了一些时间尝试学习。真的,我只是觉得 Rust 并不对症于我的用例。这是一种相当复杂的语言,我和其他很多人似乎都不喜欢它。
Julia:这种语言实际上是针对科学计算的,而不是我的用例。它也缺乏我想要的面向对象能力。
Pony:一种非常吸引人的语言,似乎借鉴了很多 Python ,但也借鉴了一些我不喜欢的东西(例如,强调前缀变量,缺乏对称性等)。我大体上感觉 Pony 与我的想法不一致,认为它不具有与其他语言一样的吸引力,这使得它现在相当原始。
我真正感兴趣并希望在未来进一步研究的语言有:
Nim:Nim 是最初我准备用来领跑的下一个语言,我希望将来能花更多的时间来研究它。
Swift:另一种流行的面向对象语言,除了开发 iOS 和 Mac 应用
您可能关注的文档
- NI给工程师带来五大新品 给用户带来更多保障.doc
- Nokia 8 Sirocco评测体验:一部真旗舰无线充电+骁龙835.doc
- Nokia X6千元机中的战斗机.doc
- Node.js语言将会告诉你如何打造专属于自己的区块链项目.doc
- NOR Flash行业趋势分析 浅谈NOR Flash原理及性能.doc
- NOLO VR打破VR行业壁垒 让所有 VR 头盔“动起来”.doc
- nova2拆机图解 这个价格值不值得购买.doc
- nRF5182嵌入式系统智能手环设计.doc
- NSA or SA市场5G建设最终还是采用了SA架构.doc
- NTC热敏电阻保护,涌浪电流限制方法.doc
- 机械电气安全 机械电气设备 第32部分:起重机械技术条件编制说明.pdf
- TCASME-装配式混凝土建筑施工质量控制监理规范编制说明.docx
- 合成洗衣粉生产能耗评定规范及编制说明.pdf
- 农林拖拉机和机具 副液压系统及编制说明.pdf
- 对讲系统 第4部分:楼寓对讲系统应用指南及编制说明.pdf
- 飞机控制钢索组件 尺寸与端头组合及编制说明.pdf
- TCPSS (L) 2025-005__中低压配电网电力电子设备电网适应性试验电源技术规范.pdf
- 地区电网调度自动化系统及编制说明.pdf
- DYT2.6-2020 数字电影打包 第6部分:资产映射和文件分割.pdf
- 紫外辐射表校准方法编制说明.pdf
最近下载
- 执法工作中存在的问题和不足.docx VIP
- 分析力学PPT课件.ppt VIP
- 生成式人工智能在高中数学课堂中的应用:激发学生探究兴趣的实证研究教学研究课题报告.docx
- 部编版小学五年级道德与法治下册第二单元第5课《建立良好的公共秩序》第二课时(教案).docx VIP
- 2026年中职学校工作计划.docx VIP
- 排列数的综合运用_课件.pptx VIP
- QGW17991-2025《电力安全工作规程变电部分》.pdf VIP
- 西南科技大学处室文件-西南科技大学研究生院.PDF VIP
- iTrust UL33系列UPS系统20-60kVA用户手册(V1.5).pdf VIP
- 新改版教科版六年级下册科学知识点.doc VIP
原创力文档

文档评论(0)