首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创意编程简史:从技术到艺术

创意编程简史:从技术到艺术

来源:OF COURSE(id:ofcourse_cn

本文已获得授权

Δprocessing生成艺术作品

艺术与科技对于大多数的人来说是绝对的对立面,科技是以数据为主要驱动的,而艺术则是情感驱动。科技以技术见长,而艺术却通常被认为以主观表达见长。然而,创意编程把两者紧密地结合,成为了这个时代设计和艺术发展的一个风向标。

如果要追溯创意编程的历史,那得从很久很久以前说起。

中世纪时期的编程

可编程器件至少早在13世纪初就已经存在。公元1206年,阿拉伯工匠艾尔.加扎利发明音乐自动生成装置。其运行原理简单明了,通过装置上的挂钉和凸轮,艺术家可以创作各种节奏和鼓形图案。

Δ加扎利的设计草图

第一次工业革命时期初尝编程禁果的男男女女

1801年,法国发明家Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在挂毯上织出了“hello, world”字样。当时艺术圈和设计圈对这项工作的反响并不热烈,因为它没有注意在拼写时恰当地区分大小写。

Δ可以编写指令的打孔卡装置

1842 年,英国著名诗人拜伦的女儿Ada Lovelace写下了世界上第一个程序。这是一个计算伯努利数列的算法,计划在查尔斯·巴贝奇的分析引擎进行。只不过她的努力遇到了一点点小小的麻烦,那就是:实际上并没有任何计算机能够用来运行她的程序。

Δ程序员的鼻祖

二战期间仅存的硕果

1936 年,Alan Turing(图灵)发明了世间一切程序语言的最终形态——图灵机,但很快他就被英国军情六处“请”去当007了,以至于他根本来不及为这些语言申请专利。如今,计算机世界赫赫有名的图灵奖就是以他的名字命名的。

Δ图灵

20世纪40年代,一些直接采用布线和开关来进行程序控制的“计算机”出现了。工程师们当时这么做,据说是为了避开“用空格还是用制表符缩进”这样的论战。传说当时负责设计ENIAC的工程师中间曾经发生过这样的争论:

空格比制表符好。

制表符比空格好。

4个空格比8个空格好。

什么?用2个空格的统统烧死。

Δ第一批计算机程序员在工作

冷战年代,编程热度不减

1958 , John McCarthy发明LISP。由于冷战期间的战略括号资源储备所造成的巨大成本,LISP从未流行过。尽管欠缺足够的流行度,LISP(现在叫做 “Lisp”,有时叫“Arc”)仍然被视作一门有影响力的语言,在关键的算法思想诸如递归(recursion)和提升逼格 (condescension)上尤为典范。

ΔLisp发明人

新程序语言的井喷

1964年,John Kemeny和Thomas Kurtz创造了BASIC,一个为非计算机科学家设计的非结构化的程序语言。

Δ运用BASIC制作的小游戏

1972 年,Dennis Ritchie发明了C语言。从此,无数程序员为其前赴后继,聪明绝顶者不在少数。

ΔC语言发明人

同样在1972年,Alain Colmerauer设计了逻辑编程语言Prolog。他的目标是创造一个具有两岁小孩智商的程序语言。为了证明他成功达到了这个目标,他展示了一个Prolog程序,它对于每条查询都会机智地给出相同的回答:“No”。于是,70年代一个经典的对话由此诞生了:

”Ask you something!“

”No!“

ΔProlog发明人

1983 年,Bjarne Stroustrup把他所听说过的一切都试图嫁接到C语言上,梦醒之后,他创造了C++语言,专治各种C语言的不服。

ΔC++代码演示界面

面向艺术家的程序语言开始出现

20世纪80年代中期,Miller Puckette在巴黎IRCAM(音响及音乐研究协会)设计了Max语言,最初是给作曲家提供一个创作交互计算机音乐的系统。

Δ第一部钢琴和计算机作品“Pluton”

1995年,James Gosling发明Java。Java拥有单实现继承和多接口继承,是一个相对繁冗的面向对象的语言。无数程序员都拜倒在Java的石榴裙下,真是一入Java深似海啊。

ΔJava作品《pascals-triangle》

1996年,Brendan Eich读完了历史上所有在程序语言设计中曾经出现过的错误,站在前辈们的肩膀上又发明了更多的错误,然后闭关修炼,用它们创造出了LiveScript。之后,为了紧跟 Java语言的时髦潮流,它被重新命名为JavaScript。

ΔJavaScript发明者

创意编程稳步发展

2001年,麻省理工大学媒体实验室的 Casey Reas 和 Benjamin Fry在Java语言的基础上,建立Processing语言,旨在激励非程序员进行编程学习。

ΔProcessing作品

2005年,帕森斯设计学院教师Zachary Lieberman在C++的基础上建立了开源语言——openFrameworks,艺术家们可以使用其简化的语法和图形编程模型来创作。

ΔopenFrameworks作品

近几年,以Processing为基础的Javascript框架p5.js也日趋流行,许多设计师用它来进行生成艺术和交互装置创作。

Δp5.js互动音乐装置

编程让创意延伸到更广阔的世界

纵观创意编程史,我们可以发现一个很有趣的现象:一开始,创意和编程这两者各走各的,然而,随着编程技术的成熟,创意和编程开始首牵手,一起走。

毫无疑问,技术一直是艺术发展的助推剂,比如:照相技术的诞生打破西方传统绘画观念及至艺术的观念,催生了印象画派的崛起。

在这个互联网时代,每个人都应该去拥抱新的技术。我们只要了解自己是如何思考,并将这个思考过程用编程语言去描述,计算机就会通过其算法帮助我们实现畅想,这就是创意编程的力量。

“人人都应该学习创意编程”

inarch,带你跨界

编辑|Kafka

来源|OF COURSE

版权声明

本文版权归作者所有,如需转载,请与作者取得联系。

投稿邮箱

InArch 建筑x科技

来源:OF COURSE

加入inarch自习室

inarch,带你跨界

看一看inarch的交叉领域

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111A00BJM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券