根据 2019 年 8 月的 TIOBE 指数,Java 仍然是大多数软件开发行业专业人士关注的顶级函数式编程语言技能。 C、C++ 和 Python 也不甘落后。
但是这个列表是否一定意味着 Java 是您刚开始学习时最好的编程语言? (阅读机器学习的 5 大编程语言。)
即使是这样,如果 Python 或其他编程语言(如 Groovy)突然成为现在和未来必须学习的语言,那么现在学习它是否有意义? TIOBE 在 Groovy 的排名中跃升了 31 位(从第 44 位上升到第 13 位)。
是否存在或将有一种通用的语言将成为所有软件开发策略中的通用语言?
这些答案最好留给技术专家。
我们想考虑他们对编程语言的现在和未来的看法,你在去一家伟大的科技公司进行完美面试之前应该考虑,以及现在最好学习哪种函数式编程语言。
他们是这样说的。
Python 相对较新,正在起飞
虽然有很多编程语言可供我们学习,但我相信 Python 具有最大的潜力。
Python 相对较新,并且正在腾飞。 虽然 VBA 等语言对您可以使用的应用程序有一些限制,但 Python 具有更多的功能并且具有更多的通用性。
随着大数据技术的发展,Python 很可能处于最前沿——因为它能够处理应用程序和数据。 许多公司都在采用 Python,例如 DropBox、Instagram、IBM 等。
适用于 Python 的一个主要因素是它比 Java 等类似语言更容易学习。 (阅读 R 和 Python 之间的争论。)
—Sumit Bansal,Trump Excel 创始人
Elixir 是初级开发者的不错选择
Elixir 是一种年轻的函数式编程语言,背后有强大的社区支持。 Elixir 利用以运行低延迟、分布式和容错系统而闻名的 Erlang VM。
代码在轻量级、隔离的进程中运行,允许数千个进程在同一台机器上同时运行。 这反过来又允许垂直扩展并尽可能高效地使用机器的所有资源。
自 2011 年首次发布以来,Elixir 社区一直在稳步发展,如今已被 Discord、Pinterest 和 PagerDuty 等公司使用。 除了语言本身,随着社区的发展,基于 Elixir 的 Web 框架(如“Plug”和“Phoenix”)也越来越受欢迎。
对于寻求学习第一门函数式语言的初学者来说,Elixir 是一个不错的选择,因为它是一种高级语言。 由于其简单易懂,该语法经常被比作广受欢迎的“Ruby”。
它有意对初学者非常友好,并且有许多在线学习资源可供查看。
—Uku Täht,首席技术官,Plausible Insights
优秀的 PHP 开发人员总是供不应求
如果您正在寻找 Web 开发职业,超文本预处理器 (PHP) 绝对是您要学习的语言,它是创建网站和应用程序的首选代码。 (阅读 PHP 101。)
我认为我们可以肯定地说互联网将存在一段时间,因此成为一名优秀的 PHP 开发人员将打开很多大门。 PHP 是在网站和应用程序中创建更复杂功能所需要的,并且随着网站在设计和功能上变得越来越复杂,PHP 是使其顺利运行所必需的。
PHP 的灵活性意味着它还与不同的 CMS 平台兼容,因此无论您的项目需要 WordPress、Drupal 或其他开源平台,还是需要集成自定义 CMS,都需要您的技能。
优秀的 PHP 开发人员总是供不应求,这意味着您将可以灵活地选择适合您的工作类型。
当然,如果你的梦想是进入 AI 或机器学习领域,这可能不是你的正确方向。 但是,如果你想从事网站和应用程序开发工作,PHP 是一种必须学习的语言,它会让你的就业前景非常好。
—Mike Gilfillan,Edge Of The Web Ltd. 首席开发人员
如果 C 是冰淇淋,那么将 C++ 想象成糖屑
技术总是在不断发展,因此,操作它的语言也在不断发展。 如果您想在竞争激烈的技术世界中保持领先地位,我会推荐 C++ 编程语言。 虽然 C 是最常用的编程语言之一,但 C++ 是升级版。
如果 C 是冰淇淋,那么将 C++ 想象成糖屑:它提升了体验。 如果不首先掌握基础 C,您不会想学习 C++。 就像冰淇淋和糖屑的例子一样,你不能单独享用糖屑,你需要有冰淇淋底料!
通过学习这门语言,您将为自己打开许多就业选择的大门,因为它是一种广泛使用的发展选择。 (阅读:函数式编程语言:过去、现在和未来)
—Rachel Hoffman,WebTek 计算机公司首席 Web 开发人员
Scala 以混合面向对象和函数式编程世界的精华而闻名
在过去五年中,在大型应用程序中采用功能技术的明显好处引起了业界的关注。 大多数动力和动力来自科技巨头内部,例如谷歌、亚马逊、微软和 Facebook。
这些公司以其诞生地或支持当今一些最流行的编程语言而闻名。
精通 C 语法语言将向雇主表明您可能会很快适应,因为您将使用他们的母语与现有团队讨论解决方案和算法。
您可以利用使用传统语言的一些函数式工具,因为 Java、C#、JavaScript、Swift 和其他语言公开了一些函数式结构。
Scala 是在 JVM 上运行的编程语言的一个示例,并且以混合面向对象和函数式编程世界的优点而闻名。 如果你想在欧洲或美国的大型技术中心从事函数式编程,Scala 可能是最佳选择,因为它仍然是最受雇的函数式语言。
函数式编程世界中其他一些流行的选项是 F#,它由 Microsoft 开发,是 Microsoft 特定堆栈、Haskell、Clojure 和 Elixir 的不错选择。
——Gustavo Pezzi,编程教育平台pikuma创始人
Java是绝对必学的编程语言,尤其是Android开发
对于希望进入科技公司开发领域的人来说,Java 是绝对必须学习的编程语言,尤其是对于 Android 开发而言。 (阅读 Why Is Is Preferred to Other Languages as a Building Block?)
虽然 Kotlin 可能是目前最流行的(流行的)语言,尤其是谷歌宣布它是 Android 应用程序开发人员的首选语言,但 Java 是该语言的基础,因此了解 Java 的基础知识将有助于年轻开发人员 也了解 Kotlin。
更有趣的是,我认为 Java 可能比 Kotlin 更受开发人员青睐。 我个人认为这是因为虽然 Kotlin 确实使开发过程更加简洁,但 Java 中额外的代码行让您可以看到每一步都发生了什么,这在调试问题时变得非常有用。
话虽如此,Kotlin 引入了改进的语法,以及简洁的表达式和抽象。 将 Kotlin 与 Java 结合使用减少了过多的样板代码,这对 Android 开发人员来说是一个巨大的胜利,并为开发人员提供了使用一个集成开发环境 (IDE) 在所有平台上进行开发的机会。
— Clearbridge Mobile 首席技术官 Sanjay Malhotra
应在上下文中考虑选择要学习的最佳函数式编程 (FP) 语言
应该在上下文中考虑选择要学习的最佳函数式编程 (FP) 语言。
在软件开发中,存在三种类型的函数式编程语言。 纯函数式语言以 Haskel 和 LISP 为代表,它们将整个程序视为一组数学函数。
然而,这种类型的 FP 语言在定制软件开发中并不是很流行。
然后,出现了自然支持面向对象编程 (OOP) 和 FP 的多范式语言,例如 Scala。 Scala 在 JVM 上运行并且可以轻松地与 Java 互操作(可以直接从 Scala 访问 Java 库)。
Scala 被广泛用于大数据开发领域,因为它是 Apache Spark 的基础语言。 LinkedIn、Twitter、Netflix、纽约时报、eBay、瑞士银行 USB 和 Coursera 在他们的开发过程中使用 Scala。
最后,有大量具有函数式编程方法框架的语言,现在软件开发的各个领域都非常需要这种类型。
这组语言的选择取决于你想专攻什么。例如,如果是前端开发,Angular2+ 和 React 将是一个不错的选择; 在 iOS 中:斯威夫特; 在 Android 中:Kotlin。
—Boris Shiklo,ScienceSoft 首席技术官
每种语言都有优点和缺点,并且最适合特定的用例集
对于许多人来说,开发人员选择的编程语言与选择您的宗教或政治具有相同的意义,以及捍卫该选择的相同活力。
现实情况是,对于编程语言,确实没有放之四海而皆准的选择。 每种语言都有优点和缺点,并且最适合特定的用例集。
一旦人们确定语言被过度炒作或技术转变使它们变得不那么重要,语言通常会很流行并最终逐渐淡出人们的视线。 当我在 1980 年代还是一名大学计算机科学专业的学生时,Pascal 被认为是首选的教学语言,最终被 C、Visual Basic 和 Java 所取代。
我个人认为 C 对于希望学习计算机编程的人来说是一种很好的教学语言,但是,我认为它不应该是人们学习的唯一语言,程序员应该努力学习支持他们发现的用例/技术的语言 有趣的。