工作应该用哪种编程语言?周末呢?

这十二个回答令人惊喜和愉快。
202 位读者喜欢这篇文章。
Work and play text

Opensource.com

我们的作者社区每月都在壮大,因为新的、有趣的人们为我们写作,并加入到分享他们在开源技术方面的专业知识和经验的乐趣中。因此,他们充满引人入胜的信息也就不足为奇了。只是需要提出正确的问题来释放它。

最近,我问了一个问题:你在工作中使用什么编程语言,周末又使用什么编程语言?

对于某些人来说,它们差异很大,因为他们的工作与他们在家里选择构建的东西大相径庭。对于另一些人来说,它们是相似的,他们的周末项目只是有更多的个人目标。让我们听听他们怎么说。

在评论中分享你的看法。

你的工作编程语言是什么?你的周末编程语言是什么?

我在微软公司是一名 Java 程序员,偶尔会用 C# 做一些个人项目。——Yev Bronshteyn


PHP 和 JavaScript,工作和个人项目都用。——Tony McCormick


周末,我和我 11 岁的编码儿子在 Raspberry Pi 上使用 Python 3。我们制作了从时髦的实验电路板到 Alexa 型设备的一切东西。——James Lovegrove


我在工作中使用 Perl 和 Bash/Shell,在家和大多数业余项目中使用 Perl。——Joe Kline


在工作中,我主要使用 C++、Java 和 C#。为了好玩(有时也在工作中),我使用 C、Go、Perl 和 Lisp——Martin Kalin


由于我的职业生涯始于 AIX 和 Linux 管理,我早期的大部分工作都是 Bash 脚本。现在作为一个资深的 Linux 管理员,我所做的就是在我的专业工作中添加了 Python。

为了好玩,我涉猎过很多领域;尝试过 Pascal,用 C# 编写了许多应用程序,尝试过用 C 或 C++ 做一些有意义的事情但失败了,最后编写了少量的 PHP,要么是为了扩展现有的应用程序(如 WordPress 和 Drupal),要么是足以构建一个简陋的博客系统。

归根结底,如果我需要完成某件事,那就是 Python。——Steve Morris


我在高中时学会了用 Java 编程。在那之前,我曾使用 PHP 进行基于 Web 的项目。

我的第一份专业工作是 C++ 开发人员,但我也必须做大量的 Python 和 JavaScript 编码。在我目前的工作中,我正在用 Ruby 和 Go 编程。

在家里,为了启动一个新的有趣的 Web 项目,我的默认选择仍然是 PHP,以便快速运行一些东西,但当它变得更重要时,我倾向于将功能迁移到其他语言,比如 Go,我发现 Go 更适合测试。此外,我还在 exercism.io 上用 D 语言做一些练习,只是为了好玩,并且为了找回我在其他语言中怀念的 C++ 的感觉。——Manuel Dewald


1997 年,在大学的第一天,我的计算机科学教授对一百多名睁大眼睛的新生说,“我认为函数式编程将是未来的方向。”我的朋友们和我面面相觑,因为我们希望被教导 Java,或者至少是 C++,以便在毕业后加入互联网热潮。相反,我们准备学习一种相当奇怪的函数式语言,叫做 Haskell。二十年后,我发现自己在工作和个人项目中使用 Python、Go 和 Javascript。这三种语言都对函数式编程有丰富的支持。——Viet Nguyen


我使用很多编程和脚本语言,但我编写项目时使用的语言是 C。C 语言提供了灵活性和速度,但代价是必须关注细节并跟踪事物。你不能依赖高级编程语言的自动数组声明、垃圾回收或其他方法来帮助你;程序员需要 malloc() 内存来使用,并在用完后 free() 内存。你需要有良好的编程习惯才能用 C 语言编程。但尽管如此,C 语言还是为我的项目提供了一个强大的编程平台。

(免责声明:我的大部分 C 编程都是为了 FreeDOS 项目,这是一个 DOS 操作系统的开源实现。DOS 不会留下太多开销,因此程序需要高效。对我来说,用 C 语言编写 DOS 实用程序和库非常有意义。)

当我编写其他东西时,比如示例代码,或者可能是一个快速脚本,我会使用最适合这项工作的编程语言和脚本语言。我编写了很多 Bash 代码用于自动化。我还编写了很多 PHP 代码,包括一个 PHP 示例程序,用于为我 填写我的疯狂三月预测,[linuxjournal],因为我真的不关注篮球。——Jim Hall


我的主要通用编程语言是 Perl,工作和娱乐都是如此。当需要做任何 Web 前端技巧时,我当然会使用 JavaScript,但我的工作性质并不像服务器端编程那样经常需要这样做。

我很自豪地说,我至少为一个开源 Node 项目做出了贡献,完全只是通过让它哼唱几句,以便我可以加入其中。否则我完全不知道 Node 是如何工作的。

如果我忽略了 Inform 7,我就会有所疏忽,我至少用这种语言发布了一款互动小说游戏,并且我发现自己出于纯粹的实用主义原因,在我作为年度互动小说竞赛技术主管的持续角色中重新审视它。——Jason McIntosh


我的大部分工作都涉及某种数据整理、分析、报告和可视化。我最常使用 Groovy 编程语言来实现此目的。由于许多原因,Groovy 几乎完全取代了 Java 在我工作中的地位

  • 它更紧凑,但又没有完全不同
  • 它让我可以利用 Java 运行时环境
  • 它为处理列表、映射、集合提供了高级构造和增强机制
  • 它对闭包有很好的支持
  • 它通常支持我对面向对象的偏好,而不会在小型脚本杂务上强加于我
  • 它鼓励以函数式风格编写。

但是,根据整合某些特定工具链的需要,我也使用 Python,并且几乎像喜欢 Groovy 一样喜欢它。

当我做 Web 相关的事情时,我通常使用 Grails / Groovy / JavaScript。我正在尝试 Julia,并且我有点喜欢我所看到的,但还没有用它做任何生产工作。

我不时地涉猎 R,但我从未真正全身心地投入进去。而且,我真的很想喜欢 Go,但它有一些东西真的让我困扰——我不喜欢将名称大写以使其公开(我宁愿有一个“export”关键字);我喜欢在编写使用它们的代码之前想出变量名,这样我就可以形成合理的命名约定;“for”和“if”中的初始化器还不够深入;而且我认为如果我要用 Go 做一些大的事情,我会非常怀念面向对象。至于我为了好玩而使用哪种语言,我偶尔会掸掉 Algol68 的灰尘。(真的!!!)——Chris Hermansen


俗话说,我“初出茅庐”时使用的是老式的过程式语言,对函数式语言也有少许接触。所以早期是 BASIC、PL/1、FORTRAN、COBOL、Lisp、各种汇编语言,以及一些其他语言,这些语言是特定机器/制造商独有的。然后,短暂涉足 APL 及其独特的古怪键盘。我很快就养成了使用 FORTRAN 做一切事情的习惯,当它无法做到时,我会用我不断增长的汇编语言库编写一个新函数来扩展 FORTRAN。 (我甚至有一个函数/子程序,让我可以在我的 FORTRAN 代码中有效地编写内联汇编。)

当然,还有 TECO... emacs 的前身。曾经有比赛只使用 TECO 编辑命令编写完整的怪异代码。

我应该学习 C 语言时,我坚持使用我增强的 FORTRAN 和/或汇编方法。(实际上,我编写了一个很大的 C 程序,对我来说,用于转储、验证和重新加载 Korg M1 合成器的内存,使用 Atari 1040-ST。)

当世界转向 OOP 时,我看到人们对 Java 趋之若鹜。我尝试了一下,结果是反感(我用勺子喂自己)而不是趋之若鹜。大约在 1999 年,一位最近发现 Python 的朋友向我推荐了它。

Python 已经成为并将继续成为我的支柱。它让我可以以非常缓慢的速度轻松地进入 OOP。这里一点 JavaScript 和 PHP,那里一点,再加上其他脚本语言,如 Bash、SQL 和一些简单的 Perl,但主要是 Python

然而,最近,我终于又感到无聊了。或者别的什么。工作越来越引导我走向康复的 3D 环境。因此,我一直在研究 Ecere SDK,它为一种叫做扩展 C 或“eC”的东西添加了 3D 功能,这需要我回顾 C 语言。还有使用 C# 或 C++ 的游戏引擎。所以少量地接触了这些。我对 Rust 很感兴趣,因为我一直喜欢系统编程,而且“现代架构的 C 语言”的想法很吸引人。我一直听说 WebAssembly,名称中的“assembly”部分让我感到怀旧和好奇。

最后,我有一些朋友对 Haskell 非常着迷,还有一些人喜欢 Lua。我几乎没有看过任何一种,但它们都在我的愿望清单上... 也许 Go 也在其中。

尽管有上述所有情况,但底线是,我在工作日和周末的首选语言(没有 goto)都是 Python。——Kevin Cole

标签
User profile image.
Jen 领导红帽数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 一起住在罗利。

6 条评论

工作主要是在我们的 ASP.NET Intranet 站点和 MS SQL Server 后端上进行。

我的职业生涯始于在 Excel 中使用 VBA 来解析基于文本的输出中的值,该输出有数千页长,而无需打印出来。考虑到我的学位是商业管理和会计,我很大程度上是自学成才的。

然而,在过去的几年里,我被安排在我们的外部 LAMP 服务器上工作,这些服务器运行 Drupal 和使用 Postgres 或 MySQL 数据库的自定义 PHP 网站。自从我开始以来,我管理的网站从 2 个增加到了 5 个。

转向 LAMP 和 Drupal/PHP 是因为我在家中使用 Linux,并且使用 PHP 开发多年。就像我在上一份工作中自学 ASP 和 VBA 知识一样,我的 Linux 和 PHP 经验也是来自自学。当然,因为这是我在家做的事情,所以“完成”或获得部门“批准”的压力较小。

有一次,一位教堂要求复制我的拍卖登记和中标 PHP 网站,这是在参加我们的筹款活动并在现场看到它之后。我决定用 PHP 开发它,因为筹款活动使用个人的电脑,这样我不需要安装任何东西,只需设置一个 Web 服务器供大家连接即可。

我每年都使用和调整该网站,但不幸的是,我们不再举办拍卖了。所以我正在尝试看看是否可以将代码移动到一些共享系统(Github 或 Gitlab 或其他任何东西)。

有趣的是,我自学的东西推动了我的大部分积极的职业发展和工作变动。

在工作中,我编写 bash、LabVIEW 和 Lua,主要用于数据采集、分析以及设备监控和控制。LabVIEW 使创建复杂的事件驱动型 GUI 界面变得非常容易。它还具有原生的 OOP(数据流 OOP!)和 actor 建模。

为了娱乐,我使用 bash 和 Lua,并且我正在学习 Julia 和 Pharo (Smalltalk)。Pharo 是 Smalltalk 当前最好的实现,并且非常出色,无论是作为一种语言还是作为一个开发环境。

Nim、Crystal 或 Julia(或全部 3 种)将在未来成为我的主要首选语言,因为它们具有颠覆性、快速和创新性。
以上 3 种语言中哪一种产生最好、最快、可读性最高的 JavaScript 输出,肯定会更能引起我的兴趣。

但就目前而言,我选择 Julia...只是在学习基础知识,同时我也忙于其他不涉及编码的 IT 项目(WordPress、QuickBooks POS、Android 上的 KoboForm/Survey2Go 用于移动调查)。

在互联网泡沫时期,我通过 ASP/VB6/VBScript/IIS 堆栈与 SQL Server 和 Sybase 后端赚了很多钱。

现在,随着 PHP7 的巨大改进,我正在考虑在 Laravel 或 ProcessWire (CMS framwework) 中做一些事情。任何需要快速便携式应用程序(桌面、HTML5)的东西,我都希望加入 Nim、Crystal 或 Julia 的行列——无论哪种语言具有最好的 GUI 支持。

我在 Linux 上和家里的 Windows 和 Linux 上都使用 GnuCOBOL。

我在工作中全职使用 Ada,在家也使用一点,主要是在 Linux 上。我过去曾使用过汇编、C、Fortran 等,但 Ada 是我唯一喜欢的语言。

在工作中,我在 AIX、Debian 和 Ubuntu 上使用 Perl、Python、C、bash、ksh 和 tcl。

在家里,我主要使用 guile 和 lisp。我正在学习 OCaml。

我似乎也在工作和家里使用 e-lisp。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© 2025 open-source.net.cn. All rights reserved.