编程的艺术门槛
编程是门艺术,这个说法由来已久。最近在朱赟的公众号(嘀嗒嘀嗒)读到一篇文章《设计是门逻辑学,然后才是美学》,文中作者漂洋过海追寻艺术,老师却说:“设计不是艺术!”。如果设计都不是艺术,那么编程还能是艺术么? 艺术 那么艺术到底是什么?我一下懵了,发现从来没有想过这个问题,只好求助于 Google。Wikipedia 上的定义是:「艺术是具有智能思考能力的动物(目前其实只有人类吧),借由各种形式及工具借以表达其情感与意识形态,所产生的形态泛称之为艺术。」 而上面那篇文章中老师的观点是: 设计是实现别人的需要,艺术是自我表达的需要。 和 Wikipedia 的说法相近,核心都在于表达。而目前公认的艺术分类,包括八大艺术种类: 文学 绘画 音乐 舞蹈 雕塑 建筑 戏剧 电影 它们的共性是这些都是人类自古以来的创造,其中最年轻的艺术门类当属「电影」了,其作品承载了作者的情感和意识形态。而所有被公认的艺术门类,显然它们最终作品呈现出的艺术表达形态更容易被普通人直接的感受到,直接作用于人们的视觉、听觉和触觉感官。 关于编程是一门艺术这个概念,到底什么时候钻入程序员的头脑中的呢?也许来自我们在学习编程的路上,很多讲述编程的书籍都冠以艺术之名,比如:《UNIX编程艺术》,这是一本讲述 Unix 专家们在创造 Unix 过程中形成的理念和文化,那么技术文化是艺术么?还有另一本程序员中的圣经