编程专家的直接观点:现在最好学什么函数式编程语言?
根据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,该 VM 以运行低延迟、分布式和容错系统而闻名。
该代码在轻量级、独立的进程内运行,这允许数千个进程在同一台机器上同时运行。这反过来又允许垂直扩展并尽可能有效地使用机器的所有资源。
自 2011 年首次发布以来,Elixir 社区一直在稳步发展,如今已被 Discord、Pinterest 和 PagerDuty 等公司使用。与语言本身一样,随着社区的发展,“Plug”和“Phoenix”等基于 Elixir 的 Web 框架也越来越受欢迎。
对于想要学习第一种函数式语言的初学者开发人员来说,Elixir 是一个不错的选择,因为它是一种高级语言。由于其简单性和易于理解性,该语法经常与流行的“ Ruby ”进行比较。
它有意对初学者非常友好,并且有许多在线学习资源可供查看。
— Uku Täht,Plainible Insights首席技术官
优秀的 PHP 开发人员总是供不应求如果您正在寻找 Web 开发职业,超文本预处理器 (PHP)绝对是值得学习的语言,它是创建网站和应用程序的首选代码。
我认为我们可以肯定地说,互联网将会存在一段时间,因此成为一名优秀的 PHP 开发人员将打开很多大门。PHP 是在网站和应用程序中创建更复杂的功能所需要的,并且随着网站的设计和功能变得更加复杂,PHP 是使一切顺利运行所需要的。
PHP 的灵活性意味着它还与不同的CMS平台兼容,因此无论您的项目需要 WordPress、Drupal 或其他开源平台,还是需要集成自定义 CMS,都需要您的技能。
优秀的 PHP 开发人员总是供不应求,这意味着您将可以灵活地选择适合您的工作类型。
当然,如果你的梦想是进入人工智能或机器学习,这可能不是你的正确方向。但如果您想从事网站和应用程序开发工作,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 开发。
虽然 Kotlin 可能是目前最流行(时尚)的语言,尤其是 Google 宣布它是 Android 应用程序开发人员的首选语言,但 Java 是该语言的基础,因此了解 Java 的基础知识将有助于年轻的开发人员也了解 Kotlin。
更有趣的是,我认为 Java 可能比 Kotlin 更受开发者青睐。就我个人而言,我认为这是因为虽然 Kotlin 确实使开发过程更加简洁,但 Java 中额外的代码行可以让您看到每一步发生的情况,这在调试问题时变得非常有益。
话虽如此,Kotlin 引入了改进的语法以及简洁的表达式和抽象。将 Kotlin 与 Java 结合使用可以减少过多的样板代码,这对于 Android 开发人员来说是一个巨大的胜利,并为开发人员提供了使用一个集成开发环境(IDE) 在所有平台上进行开发的机会。
— Sanjay Malhotra,Clearbridge Mobile首席技术官
选择最佳的函数式编程 (FP) 语言学习应根据具体情况进行考虑选择最佳的函数式编程 (FP) 语言学习应根据具体情况进行考虑。
在软件开发中,函数式编程语言分为三种类型。纯函数式语言以 Haskel 和LISP为代表,它们将整个程序视为一组数学函数。
然而,这种类型的 FP 语言在定制软件开发中并不是很流行。
然后,还有多范式语言,例如 Scala,天然支持面向对象编程(OOP)和 FP。Scala 运行在JVM上,并且可以轻松地与 Java 进行互操作(可以直接从 Scala 访问 Java 库)。
Scala 广泛应用于大数据开发领域,因为它是 Apache Spark 的基础语言。LinkedIn、Twitter、Netflix、纽约时报、eBay、瑞士银行 USB 和 Coursera 在其开发流程中采用了 Scala。
最后,有多种具有函数式编程方法框架的语言,并且现在软件开发的各个领域都非常需要这种类型。
这套语言的选择取决于你想专攻什么。例如,如果是前端开发,Angular2+和React将是不错的选择;在 iOS 中:Swift;在 Android 中:Kotlin。
— Boris Shiklo,ScienceSoft首席技术官
每种语言都有优点和缺点,并且最适合特定的用例集对于许多人来说,开发人员选择的编程语言与选择您的宗教或政治具有相同的含义,并且具有相同的捍卫该选择的活力。
现实情况是,对于编程语言来说确实没有一刀切的选择。每种语言都有其优点和缺点,并且最适合特定的用例集。
语言往往很流行,但一旦人们认为它们要么被过度炒作,要么技术转变使它们不再那么重要,它们最终就会变得默默无闻。20 世纪 80 年代,当我还是一名计算机科学专业的学生时,Pascal被认为是首选的教学语言,最终被 C、Visual Basic和 Java 所取代。
我个人认为 C 对于那些希望学习计算机编程的人来说是一种很好的教学语言,但是,我不认为它应该是人们学习的唯一语言,程序员应该努力学习支持他们发现的用例/技术的语言有趣的。