编程马拉松(英语:hackathon,又译为黑客松),又称黑客日(hack day)、黑客节(hackfest)或编程节(codefest),是一个流传于
黑客(hacker)当中的新词汇。编程马拉松是一种活动。在该活动当中,电脑程序员以及其他与软件发展相关的人员,如图形设计师、界面设计师与项目经理,相聚在一起,以紧密合作的形式去进行某项软件项目。编程马拉松的灵魂是合作地编写程序和应用。编程马拉松的时长一般在几天到一周不等。编程马拉松不是编写些一次性作品那么简单。编程马拉松的精髓在于:很多人,在一段特定的时间内,相聚在一起,以他们想要的方式,去做他们想做的事情——整个编程的过程几乎没有任何限制或者方向。
这个术语诞生于1999年。两组人在同一年想到并使用了该术语。一组人是
OpenBSD的开发者们。另一组人是
Sun的市场营销团队。
OpenBSD于1999年6月4日在卡尔加里举办的一次密码学开发活动上第一次使用了该术语。在那次活动中,10名程序员相聚到一起商讨如何避免由美国密码学软件出口规定引起的合法性问题。
对于Sun而言,他们第一次使用“编程马拉松”这个术语则要追溯到1999年6月19日
JavaOne大会中的一次活动。在那次活动中John Gage向出席者发出一个挑战。他要求出席者用Java为新款的Palm V编写一个程序。这个程序可以让Palm V用户通过红外线端口和其他Palm V的用户进行通讯,此外Palm V用户还能够通过该程序在网上注册他们的手机。这个活动号称是编程马拉松的始祖。
自1986年起,Sun还召开了一系列“连接马拉松”。这些马拉松大多是围绕NFS的互用性展开的。在这些活动当中,供应商和受邀请人相聚到一起去测试他们的硬件和软件的互用性,找出互联网标准协议规范中的缺点,并定义一套可重复使用的协议测试程序。“连接马拉松”有点像已经停止的“苹果编程大会”。“连接马拉松”更像是一种让参与者与他人展开技术交流的开发者大会。只是在技术交流之余,参与者有时也写写程序。
还有一个术语叫做“短跑(sprint)”。“短跑”用于描述一种性质与编程马拉松类似的活动。“短跑”的特点是:它只持续几天时间。另一个描述此类活动的词汇是“代码节”。这个词汇主要流传于
Linux用户当中。“代码节”这个词是一个合成词,它由代码和节日两部分组合而成。“代码节”这个词是从“安装节”一词引申而来的。“安装节”是一种 Linux用户群的活动。