我们的作者社区每月都在壮大,因为新的、有趣的人们为我们写作,并加入到分享他们在开源技术方面的专业知识和经验的乐趣中。因此,他们充满引人入胜的信息也就不足为奇了。只是需要提出正确的问题来释放它。
最近,我问了一个问题:你在工作中使用什么编程语言,周末又使用什么编程语言?
对于某些人来说,它们差异很大,因为他们的工作与他们在家里选择构建的东西大相径庭。对于另一些人来说,它们是相似的,他们的周末项目只是有更多的个人目标。让我们听听他们怎么说。
在评论中分享你的看法。
你的工作编程语言是什么?你的周末编程语言是什么?
我在微软公司是一名 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
6 条评论