软件设计哲学
2023-03-09 22:27:38 时间
我们备受批评,因为我们在设计Arc编程语言时只考虑了优秀程序员。对于什么是好的设计,有很多争论,很多人认为好的设计意味着你懂得用户的需要,而大多数的程序员都不是优秀的程序员。
让我们来看一下这样的两款车:1973年的卡迪亚克和保时捷911。卡迪亚克在设计上用来大量的心思来吸引普通车手。而保时捷911是为性能而设计。哪一个是更好的设计?
以上是我随机挑选的两张1973年的图片。如果不考虑当下的设计流行趋势的话,你很容易区分它们设计的好坏。(你可以参考一下当时中学里流行的发型。)
好的设计是不受时间限制的。如果你希望你的设计能经得起时间的考验的,你就不能迎合那些你认为的“一般”用户,让这样的限制约束你。这是一个很不清晰的用户群体。这是一个在不断运动的用户群:所谓的一般用户不会像你认为的那样一直愚笨下去。
看一看在保时捷911身上发生的事情。很显然它的设计要优于卡迪拉克,甚至小孩也能看出这一点。所以到了1980s,甚至那些毒品贩子也放弃了专门为他们设计的凯迪拉克,转而投奔保时捷911。
编程语言也有同样的故事。优秀的编程语言是优秀的程序员设计给他们自己用的——C,Smalltalk,Lisp。而那些专门为“一般”程序员设计的编程语言(Cobol, Pascal, Ada)都渐渐走向消亡。
唯一正确的方向就是为性能而设计。这里的性能并不是速度,不仅仅是它字面上的意思,速度需要考虑,但一种编程语言首先要当成一种工具,我们希望Arc语言给人的感觉就像是驾驶一辆保时捷911。
(我们并没有说它现在已经做到这些,但这是我们的目标。)
英文原文:Design Philosophy
相关文章
- Amazon SageMaker Autopilot – 在完全控制和可见的情况下,自动创建高质量的机器学习模型
- Python IDLE 快捷键使用
- 新增功能 – Amazon Managed Apache Cassandra Service (MCS)
- AWS Compute Optimizer – 您的定制资源优化服务
- AWS Transit Gateway 增加多播和区域间对等功能
- 新功能 – VPC 入口路由 – 简化第三方设备的集成
- Python optparser库详解
- AWS Transit Gateway 新功能 – 使用 Network Manager 来构建全局网络并集中监视
- Amazon EC2 更新 – 配备 AWS Inferentia 芯片的 Inf1 实例推出,实现高性能、高性价比的推理
- 查看 Amazon 构建者库 — 我们就是这样做到的!
- AWS Outposts 现已推出 –立即订购!
- Amazon SageMaker Studio:首个全集成的 Machine Learning 开发环境
- 平民数据科学在企业的落地实践(一)
- AWS Fargate 上的 Amazon EKS 现已全面推出
- Amazon Transcribe Medical – 适用于医疗保健客户的实时自动语音识别
- Microsoft Windows Server 和 SQL Server 自带许可的全新简化体验
- re:Invent 2019 大会上的 AWS 发布和预览 – 12 月 1 日,星期日
- 新的 AWS 程序可帮助您应对终止支持的 Windows Server 应用程序未来的不便
- Python Flask学习资源
- 利用 AWS Identity and Access Management (IAM) Access Analyzer 识别意外的资源访问权限