技术在变革
艺术在进化
Δ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互动音乐装置
编程让创意延伸到更广阔的世界
纵观创意编程史,我们可以发现一个很有趣的现象:一开始,创意和编程这两者各走各的,然而,随着编程技术的成熟,创意和编程开始首牵手,一起走。
毫无疑问,技术一直是艺术发展的助推剂,比如:照相技术的诞生打破西方传统绘画观念及至艺术的观念,催生了印象画派的崛起。
在这个互联网时代,每个人都应该去拥抱新的技术。我们只要了解自己是如何思考,并将这个思考过程用编程语言去描述,计算机就会通过其算法帮助我们实现畅想,这就是创意编程的力量。
“人人都应该学习创意编程”
领取专属 10元无门槛券
私享最新 技术干货