辩护律师和会见律师
真
自1978年以来,我一直从事专业软件开发。我去过法学院(BU Law '91)。 我认为计算机编程技术和法律确实非常相似。
归根结底,法律和计算都涉及将抽象包裹在非常复杂的交互中,从而使规则易于理解且结果可预测。
归根结底,法律和计算都将使个人能够基于各种各样的输入来推理系统(人员,团体,计算机)的行为,而当系统/法律是最初开发。 法律和计算机系统都有处理新的意外输入的方法:法官/普通法和系统更新。
美国/英国法律和计算机都有外部强制性要求(立法和语言设计者),并且有不断发展的要求(普通法和图书馆/框架)。
法律和计算都具有该领域技术人员应深切理解的含义,但是所使用的术语相当简单。 在法律上,它被称为“艺术术语”,在计算中被称为“设计模式”。
法律和计算机领域的从业人员都花了很多年的时间来了解最新技术,并经常影响最新技术,并要求他们在各自领域保持最新。 最终,大多数法律和计算机从业者对其领域的总体方向几乎没有影响。 像Hand和Brandies以及Wadler和Hopper之类的名字在我们每个世界中都广为人知和尊敬,因为它们是真正产生实质性差异的少数人。
法律和计算都必须以从业者可以跟上的方式发展。 甚至像1986年税制改革或Microsoft的.Net这样的“琐碎”更改,法律和计算领域的从业人员也花了很多年才能完全理解和调和。
因此,当律师或法官说:“好吧,请讲一种新语言。”问那个人下一次UCC何时会发生。
当律师或法官说“为新手机构建软件有很多选择”时,请问他们在少于10年流行编程支持的系统上构建了哪种流行手机。 提示,没有。 Apple的操作系统基于OS X,而OS X则基于NextStep,而OS X则基于BSD Unix。 iPhone API与1980年代发布的NextStep API基本相似。 苹果拥有10,000多个强大的开发人员网络,可用于iOS开发。 Windows Phone是基于可追溯到1990年代的Windows API构建的。 甚至Blackberry和Nokia也使用C,UNIX风格的API和流行的窗口工具箱。
就像一种新的法律方法(例如,“仅仅”统一各州的标准商业惯例的UCC)需要很多年,数百万美元的努力以及大量的培训,学习和知识共享一样,做一种新的计算方法。
这就是为什么很少有“新”语言的原因:
这就是为什么大多数可用语言相互派生的原因。
就像黑石法官在普通法中非常活跃一样, Backus和McCarthy在我们编写的每一行代码中都非常活跃。
就像法律是通向我们今天的500年先例链……被立法所打断一样……计算机语言,系统和API是60到80年的设计决策和演变链,可将我们引向现在。 就像没有法律案件是在真空中一样,没有任何计算机系统是在真空中完成的。 在美国,每位现任法官都将Learned Hand放在肩膀上。 正如Backus站在每个Java和C以及Ruby和Python程序员的肩膀上一样。
就像每个法律案件都是法律中现有技术的必然和确定的衍生作品一样,几乎每种计算机语言,库和API都是计算机领域以前的衍生作品。
我们没什么不同。 让我们尝试与法律人士沟通,计算艺术和系统的发展非常类似于法律的艺术。 进行全面更改并非那么简单。 实际上,这是非常非常昂贵的。
翻译自: https://www.javacodegeeks.com/2014/05/lawyers-and-developers-not-so-different.html
辩护律师和会见律师